So there's this class in SpriteKit:
open class SKNode : UIResponder, NSCopying, NSCoding, UIFocusItem {
...
open var scene: SKScene? { get }
...
I would like to trigger some logic when the scene
property becomes not nil.
This is what I tried:
class MyNode : SKNode {
override var scene: SKScene? {
didSet {
if scene != nil {
// my custom logic
}
}
}
}
but I'm getting an error: Cannot observe read-only property 'scene'; it can't change
which makes sense in theory.
In practice, the value of the property does change:
let node = SKNode()
print(node.scene?) // nil
scene.addChild(node)
print(node.scene?) // SKScene
Is there some black magic that I could use instead?