SCNAction.removeFromParentNode并且没有调用deinit

时间:2015-10-18 20:35:16

标签: ios swift memory scenekit deinit

在GKComponent

的类扩展中定义了以下方法
weak var node:SCNNode?

...

 func moveAlongNorthSouth() {
       let moveAction = SCNAction.moveByX(0, y: 0, z: 1, duration: NSTimeInterval(2))
       let sequence = SCNAction.sequence([moveAction,SCNAction.removeFromParentNode()])
       self.node!.runAction(sequence)
   }

最后一个动作是SCNAction.removeFromParentNode(),在moveAction之后执行。

节点已从图形场景中正确删除,但未调用相关节点的deinit,我无法释放内存......

但是,如果我从序列中移除了moveAction而不是deinit。这是一个错误??

func moveAlongNorthSouth() { let sequence = SCNAction.sequence([SCNAction.removeFromParentNode()]) self.node!.runAction(sequence) }

0 个答案:

没有答案