我一直在调试我的应用程序从beta 3到beta 6
我似乎无法调用observeValueForKeyPath ..我在函数顶部放置一个断点,没有任何反应
self.gameScene.viewController.joystick.addObserver(self, forKeyPath: "relativePosition", options: .New, context: nil)
override func observeValueForKeyPath(keyPath: String!, ofObject object: AnyObject!, change: [NSObject : AnyObject]!, context: UnsafeMutablePointer<Void>) {
if keyPath == "relativePosition" {
// some code here
}
}
这段代码之前没有任何障碍......有什么改变了吗?我甚至无法在一个更基本的应用程序中使用它...我还需要做些什么吗?
答案 0 :(得分:11)
一个属性必须在它前面有“动态”这个词才能被观察到现在......
dynamic var relativePosition: CGPoint = CGPointZero