iOS Swift'消息被发送到解除分配的实例'有通知

时间:2014-11-18 16:13:33

标签: ios swift gamekit

我正在尝试向我的班级添加一个观察者,以便它接受来自GameKit的授权更改通知。

以下是添加观察者及其应该调用的方法的代码

override init(){
    super.init()
    NSNotificationCenter.defaultCenter().addObserver(self, selector: NSSelectorFromString("authenticationChanged:"), name: GKPlayerAuthenticationDidChangeNotificationName, object: nil)
}

func authenticationChanged(notification:NSNotification){

}

但它给了我这个错误:

2014-11-18 13:11:19.262 Name[8074:1078111] *** -[Name authenticationChanged:]: message sent to deallocated instance 0x174423500

我做错了什么?

1 个答案:

答案 0 :(得分:3)

该对象已被解除分配。您需要在deinit

中以观察者身份移除自己
deinit {
    NSNotificationCenter.defaultCenter().removeObserver(self)
}