iOS/swift/spritekit在我介绍该ViewController中的新场景之后,删除数据



因此,对于OBJ,此问题有部分答案。C.我只是在Swift中问同一想法的机制。此外,我想比较和对比切换viewControllers并切换场景,以作为在游戏和Mainmenu之间切换的一种方式。在SpriteKit中呈现一个场景,而不会丢弃以前的?

在上面的一节中,作者说,当我在ViewController中介绍新场景时,场景被完全丢弃了,这在SpriteKit/Swift中是正确的吗?我正在做的是,我有几个场景(GameScene,Mainmenuscene,optionsscene等),这些场景是完全切换视图的一种方式。这会删除与GamesScene实例关联的所有数据吗?随着时间的流逝,我不希望这些数据的任何残留物会减慢我的游戏。此外,有些人建议切换视图controllers,而不是为mainmenu的想法等。

是的,除非您有某种强大的参考周期,否则它将删除与场景关联的数据。如果您的参考周期很强,则您的场景和相关对象保持在内存中,并且无法访问它们。不好。

判断您的场景是否被从内存中删除的一种简单方法是将deinit方法放入场景中,并在其中打印一些东西。如果叫Deinit,则删除了您的场景。

如果您想确切查看游戏中在不同点上存在的对象,则可以使用分配仪器。您可以在 XCODE>打开开发人员工具> instruments

下找到它。

最新更新