小编Dav*_*man的帖子

警卫让swift 2.0游乐场获取有关可选绑定的错误...为什么?

我在看这个视频.在9:40左右,屏幕上有一些示例代码,如下面的代码:

//Sieve of Eratosthenes, as seen in WWDC 2015

func primes(n: Int) -> [Int] {
var numbers = [Int](2..<n)
for i in 0..<n-2 {
    guard let prime = numbers[i] where prime > 0 else { continue }
      for multiple in stride(from: 2 * prime-2, to: n-2, by: prime) {
        numbers[multiple] = 0
        print("\"numbers[i]")
      }

    }
return numbers.filter { $0 > 0 }
}
Run Code Online (Sandbox Code Playgroud)

当我在Xcode游乐场中键入它时,我收到以下错误:

条件绑定的初始化程序必须具有可选类型,而不是'Int.'

这是为什么?

xcode let ios swift

5
推荐指数
1
解决办法
919
查看次数

如何调整SKEmitterNode的大小?

我只是想做一些对我来说似乎非常简单的事情,即将发射器放入视图的整个背景中...然后我希望视图能够进行纵向填充和缩放等等,允许发射器看起来不管我做了什么......

我不打算只缩放发射器.我希望对象保持正确的大小,但我希望发射器的区域改变...想象它像photoshop中的"画布大小"(没有调整大小)选项..

我会使用这种效果,例如,为整个场景添加雪或雨,或制作雪球精灵......

事实上,也许我只是没有找到正确的位置,但似乎SKEmitterNode上的任何大小属性都是只读的......我做错了什么?

这里是一些代码,其中生成的发射器只是视图中间的一个小矩形.

 override func viewDidLoad() {
    super.viewDidLoad()

    if let scene = GameScene(fileNamed:"GameScene") {
        // Configure the view.
        let skView = self.view as! SKView
        skView.showsFPS = true
        skView.showsNodeCount = true
        if let emitter = SKEmitterNode(fileNamed: "Bokeh") {
            emitter.position = view.center
            scene.addChild(emitter)
        }
        /* Sprite Kit applies additional optimizations to improve rendering performance */
        skView.ignoresSiblingOrder = true

        /* Set the scale mode to scale to fit the window */
        scene.scaleMode = .AspectFill
        skView.presentScene(scene)
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要澄清一点.对于雪,我希望粒子在进入场景之前实例化,然后通过场景落下,并且只有在离开场景后才会死亡,而不是在整个场景中随机出现,然后继续倒下......我希望雪能占据场景的整个范围.

uiviewcontroller uiview ios sprite-kit skemitternode

5
推荐指数
1
解决办法
750
查看次数

如何在Swift / iOS的UI测试中遍历元素?

我了解如何查看表中的一个元素,但是简单地遍历所有元素(无论找到多少元素)以例如点击它们的正确方法是什么?

let indexFromTheQuery = tables.staticTexts.elementBoundByIndex(2)

xcode enumeration ios xctest swift

2
推荐指数
1
解决办法
3368
查看次数