Ich habe ein Partikel, das ich zu einem UIViewController
über eine SKScene
hinzufügen. Im Folgenden ist mein SKScene
Code:Entscheide ich SKScene korrekt?
class MyScene : SKScene {
private var emitterNode: SKEmitterNode?
deinit {
emitterNode?.removeAllActions()
emitterNode?.removeFromParent()
self.removeAllChildren()
}
override init(size: CGSize) {
super.init(size: size)
self.backgroundColor = UIColor.whiteColor()
let emitterPath = NSBundle.mainBundle().pathForResource("MyParticle", ofType: "sks")
emitterNode = NSKeyedUnarchiver.unarchiveObjectWithFile(emitterPath!) as? SKEmitterNode
emitterNode!.name = "myParticle"
emitterNode!.targetNode = self.scene
emitterNode!.position = CGPointMake(self.frame.size.width/2, 15)
self.addChild(emitterNode!)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
ich viel Wissen nicht auf SKScene
haben, aber ich habe einen seltenen Fehler in der deinit
, auf der Linie emitterNode?.removeFromParent()
produziert hatte. Ist mein Code korrekt?
Der Grund, warum ich die Deinit-Zeile hinzugefügt habe, war, weil, wenn ich nicht, die App in iOS 8 abstürzt. Leider gibt es keinen Grund, warum es abgestürzt ist. – Tometoyou
Ich habe einige universelle Apps, die mit iOS8 kompatibel sind, ohne deinit zu benutzen, vielleicht eine bestimmte alte Bibliothek aus dritten Teilen, benutzt du einige davon? –