自发的Swift编译器错误

时间:2014-09-10 18:28:46

标签: ios xcode compiler-errors swift

我的项目没有来自Xcode 6 Beta 1 - Xcode 6 Beta 6的错误/警告。当我更新到Beta 7时,Xcode开始告诉我,我的项目中有大约170个错误。主要是SpriteKit方法/对象/属性。它仍然给我Xcode 6的实际发布中的错误。我知道这些事情应该不是问题,因为我在过去使用完全相同的代码完全没有问题。举个例子:

enter image description here

这种事情正在我的项目中发生。我已经卸载/重新安装了Xcode Betas,以及多次发布,但无济于事。这是我最大的项目,我很难过,我无法理解这一点。我不想在Objective-C中重写我的整个项目。我打电话给Apple开发人员支持,他们可以推荐的唯一的东西,我已经尝试了,但他们没有工作。我似乎也找不到其他人在网上遇到类似问题。

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

我打赌它是关于隐含地解包的选项变成"正常"自选。

尝试在引用!的每一行中附加隐式展开的可选运算符physicalBody,例如:

blockSprite.physicalBody!.categoryBitMask = ... 

如果这实际上解决了问题,那么对于更安全的代码,我建议您将SKPhysicalBody的新实例分配给变量,进行所有初始化,然后将变量分配给blockSprite.physicalBody。这样你就不必处理选项。

作为一般规则,即使你100%确定一个可选项包含一个非零值,但总是更好地避免隐式解包的选项 - 在运行时减少头痛,如果它实际上是一个未包装的变量为零。

答案 1 :(得分:1)

看起来physicsBody的{​​{1}}属性现在是可选的。最简单的解决方法是创建SKNode实例,对其进行配置,然后将其分配给您的节点:

SKPhysicsBody