以下方法定义在 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 。是bug??
func moveAlongNorthSouth() {
let sequence = SCNAction.sequence([SCNAction.removeFromParentNode()])
self.node!.runAction(sequence)
}