Sprite kit 诊断SKScene解除分配问题的下一步是什么?

Sprite kit 诊断SKScene解除分配问题的下一步是什么?,sprite-kit,dealloc,Sprite Kit,Dealloc,我一直在试图弄明白为什么我的一个SKScenes在很长一段时间内都不会解除分配。我已根据仪器堵塞了所有泄漏,并对所有完井区块使用了弱参考。我下一步要做什么才能弄清楚为什么我的SKScene不会解除分配?我已经记录了dealloc方法,以确认它没有被调用,并且分配堆会随着游戏场景在仪器中的每一次播放而不断增长。如果您有块代码,请检查它们,并确保将那些包含self引用的块置为零。当您在块内引用IVAR时,它将保留对自身的所有权。在场景开始之前剥离代码deallocating@LearnCocos2D

我一直在试图弄明白为什么我的一个SKScenes在很长一段时间内都不会解除分配。我已根据仪器堵塞了所有泄漏,并对所有完井区块使用了弱参考。我下一步要做什么才能弄清楚为什么我的SKScene不会解除分配?我已经记录了dealloc方法,以确认它没有被调用,并且分配堆会随着游戏场景在仪器中的每一次播放而不断增长。

如果您有块代码,请检查它们,并确保将那些包含self引用的块置为零。当您在块内引用IVAR时,它将保留对自身的所有权。

在场景开始之前剥离代码deallocating@LearnCocos2D我会这么做,但场景是4000行。即使我要这样做,我也希望有一个开始的地方,这样我就不只是剥离随机代码,而是开始重构。创建一个全新的场景,然后逐个将代码或节点移动到新场景。4000行代码太多了。最好不要超过1000行。正如LearnCoa2D所说,去掉代码。我相信你已经明白了。你是否将场景传递给了另一个类,例如SKSpriteNode子类?是否将场景添加到数组、字典或集合中?对未发布的SKScene和/或SKScene子类的名称执行全局搜索。@0x141E是的,我确实将场景传递给SkSpritEndode子类以绘制sprite forScene:。有没有办法用弱引用来实现这一点?