我有一个视图控制器带有一个按钮。当按钮被按下时,它会添加一个观察者,如下所示:
func buttonPress(sender:UIButton){
NSNotificationCenter.defaultCenter().addObserverForName("buttonPressEvent", object:nil, queue:nil, usingBlock:{(notif) -> Void in
// code
})
}
当我关闭这个视图控制器,然后返回并按下按钮时,
//code
会执行两次。如果我再离开并回来,//code
就会执行三次,以此类推。我想要做的是在再次添加观察者之前删除它,这样这段代码就不会执行两次。我已经阅读了这里的文档,并在添加观察者的代码上面添加了这行代码:
NSNotificationCenter.defaultCenter().removeObserver(self, name:"buttonPressEvent", object:nil)
但是这个方法不起作用。
有人可以告诉我错在哪里吗?