每次收到NSNotification并执行相应的选择器时,都会调用我的视图控制器的deinit
函数!
这是我的视图控制器的代码:
override func viewDidLoad() {
super.viewDidLoad()
NSNotificationCenter.defaultCenter().addObserver(self, selector: "initModels", name: "xyz.notification", object: nil)
}
func initModels(){
print("Received notification to init models")
}
deinit {
print("De-init view controller")
NSNotificationCenter.defaultCenter().removeObserver(self)
}
每个视图控制器接收通知,它执行" initModels"通常,然后" deinit"直接叫! 这是在控制台上打印的内容:
Received notification to init models
De-init view controller
我检查了与多线程相关的所有内容。 通知在主线程上发送,并在主线程上执行。
答案 0 :(得分:0)
哦,我的!
由于我不知道的原因,当选择器名称以“init”开头时,它会导致我的视图控制器的deinit
函数被调用!
这是我试过的函数名称: