【发布时间】:2015-08-27 19:43:27
【问题描述】:
无法将“UIView”(0x112484eb0)类型的值转换为“SKView”(0x111646718)。我不断收到此错误。任何人都可以帮助我,因为代码行默认情况下就在那里。我使用 xcode 7 beta 将 SK 游戏转换为最新的 swift 语法。编译器遗漏了很多东西,这就是我回到 xcode 6 的原因。我没有红色错误;但是,游戏崩溃并显示线程 1:signal SIGARBT。关于 swift 2 和 swift 1 最新版本之间变化的任何提示,这些提示可能会导致转换为最新 swift 语法时出现问题。也许一些被转换的东西,我应该在 xcode 6.3.2 中改变。解决此崩溃问题后,我将删除测试版。代码中可能存在错误,因为当我将代码复制到全新的 xcode 项目时,我遇到了同样的错误。 提前致谢!
let skView = self.view as! SKView
【问题讨论】:
-
问题不在于线路。它是情节提要中场景的配置。这个对象的场景为视图出口指定了一个 UIView,而不是一个 SKView
-
这不是代码。这是故事板场景
-
正如我上面所说,该类的视图出口是 UIView 的实例,而不是 SKView - 检查场景,最外面的视图是什么?它的类是什么?
-
在您的 Storyboard 上,检查您的 GameViewController( *UIViewController),然后单击空视图。如果您转到 Identity Inspector(右侧菜单,第三个图标),您应该会看到 Class SKView,但您可能有 UIView,这会导致错误。将此类更改为 SKView。 - 添加了带有图像的答案
-
我相信你应该接受 ArinW。的或 aramusss 的答案,如果您愿意,请以更清晰的方式提出问题并发布您的答案以帮助其他人解决相同的问题,即如果问题仍然可以重现(作为 swift 语言和可能的框架在这篇文章之后有所发展)。例如:标题为“在 时无法将 'UIView' 类型的值转换为 'SKView'”并具有可重复的步骤。
标签: ios swift sprite-kit xcode7 xcode6.3.2