我目前使用NSTimer多次使用postNotification,但觀察者只接收一次。如何發佈多個NSNotification?
如何在不添加多個觀察者的情況下多次接收相同的通知?
我的定時器產生這樣的:
timer = NSTimer.scheduledTimerWithTimeInterval(2.0, target: self, selector: #selector(update) , userInfo: nil, repeats: true)
而且更新方法裏面:
let testNotification: NSNotification = NSNotification(name: "testNotification", object: self, userInfo: nil)
NSNotificationCenter.defaultCenter().postNotification(testNotification)
這是我在viewcontrollers的一個註冊的觀察者:
override func viewDidLoad() {
super.viewDidLoad()
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(testNot), name: "testNotification", object: nil)
updateView()
}
我像往常一樣將觀察者添加到視圖控制器中。
我可以確認定時器的工作原理,因爲update()以常規間隔被調用,並且觀察者第一次接收到通知,但它不會重複發生。
如果您需要查看更多代碼,請讓我知道。
您需要向我們展示創建計時器的代碼以及發佈通知的代碼。 –
並註冊通知的代碼。 –
你在哪裏放置方法來解除你的視圖控制器?也許在裏面viewDidDisappear或testNot – Andrea