【发布时间】:2017-01-15 17:30:56
【问题描述】:
好的,所以我以前遇到过这个问题,并且到处寻找答案。这里有类似的问题,一个就是这个,但没有答案,似乎已被放弃。
问题是我的 GameScene.swift 中的所有代码似乎对我的项目中正在运行的内容没有影响。我在我的 GameScene.sks 文件中使用界面构建器构建的所有内容都按预期显示,但我在 .swift 文件中放入的标签、脉冲或其他对象更改似乎被忽略了。
为了测试这一点,我进入了我的 GameScene.swift 的 didMovetoview 部分并简单地输入了一个:print("hello"),以查看它是否会在控制台中运行以及是否存在其他问题,但它完全忽略了它。我还在 .sks 界面构建器上创建了一个标签,并使用 .swift 文件更改了文本,这也完全没有影响。
我已确保 .swift 文件中的类名“GameScene”也是 .sks 文件中引用的正确自定义类。我已确保 GameViewController 是我的初始视图控制器,并将场景设置为正确的 GameScene.sks。
在做了一些研究之后,我做了一些事情,比如复制 GameScene.swift 和 .sks 文件并删除它们,清理和构建项目,替换文件然后运行它。 (当我遇到完全相同的问题时,这曾经对我有用)我听说删除我的项目的派生数据可以帮助解决一些小问题,所以我去看看它是否有帮助,但它也没有。
我现在不知道该怎么做,我在网上找不到任何专门提供解决方案或一些可能的解决方案来解决这个问题的东西。
提前感谢您提供任何可能的解决方案
【问题讨论】:
-
你知道我以前在 SpriteKit 中遇到过类似的错误。我不能保证它会有所帮助,但我记得它对我有用。我必须创建一个全新的 GameScene.swift 文件 - 但给它一个全新的名称,如“NewGameScene.swift”,删除旧的,更新“自定义类”下
.sks文件中的名称,然后制作一定要告诉我的 GameViewController 呈现场景view.presentScene(scene)。太奇怪了,但是当文件被命名为GameScene.swift时,我无法让它工作,只是创建一个新名称的新文件对我有用。 -
您使用哪个 Xcode?在 Xcode 8 中没有删除派生数据的选项(除手动之外),所以您可能正在使用 Xcode 7,对吧?你也试过 Product -> Clean ,如果在模拟器上测试,清除它的内容和设置?
-
谢谢你们的回复;所以我实际上已经完成了你所说的 Pierce,不幸的是它仍然对我不起作用。我使用的是 Xcode 8,我手动删除了派生数据。我也清理了它并重新启动了模拟器,以及多次的 Xcode
标签: ios sprite-kit swift3 xcode8