Sprite-kit:当 parent 消失时 removeFromParent

Sprite-kit: removeFromParent when parent gone

在 parent 到 n 已被释放(因此不存在)后调用 [n removeFromParent]; 是否安全?

我猜 n.parent 到那时会是 nil

我必须做类似的事情吗

if (n.parent != nil)
  [n removeFromParent]; 

供参考:

https://developer.apple.com/library/ios/documentation/SpriteKit/Reference/SKNode_Ref/#//apple_ref/occ/instm/SKNode/removeFromParent

是的,我一直这样做。如果您想验证,只需在下次打电话时做类似的事情。

[n removeFromParent];
[n removeFromParent];
[n removeFromParent];
[n removeFromParent];

您会发现没有副作用。