我经常将 SKAction 与完成 block 一起使用,并在完成 block 中使用调用 runAction() 的变量,就像这样。
self.runAction(SKAction.waitForDuration(2.0)) {
self.removeFromParent()
}
这会导致保留循环吗? 我认为,如果 SKNode 没有完成变量,则不会发生保留循环。 这是正确的吗?
最佳答案
我的测试结果,SKAction 完成闭包没有强引用。 此外,如果我将闭包作为变量添加到 SKNode 的子类并在闭包中访问 self,则 SKNode 的 deinit() 从未调用过。
关于objective-c - SKAction.runAction() 完成 block (闭包)的内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31318556/