2012-05-25 26 views
0

我的程序的一部分以不規則的間隔發送NSNotification s。首先關於初始設置的一些消息,然後由GPS觸發的消息。應該觀察這些通知的視圖控制器需要一些時間才能啓動,因此通常會忽略其中的前幾個,儘管addObserver:的內容在viewDidLoad中。那麼,視圖控制器有沒有辦法讓它錯過的消息?有沒有辦法在觀察者準備好之前緩衝NSNotifications?

我知道我可以用每個通知發送整個消息歷史記錄,但仍然需要等到下一個觸發事件發生,直到發送任何內容爲止,而且這將會太長。

有沒有一個標準的方法來解決這個問題,我錯過了什麼?

回答

1

創建一些存儲消息的NSObject。然後,如果需要偵聽通知的視圖被加載,請檢查存儲在NSObject中的任何消息(因此您不需要等待新的觸發消息)。

你是不是失去了一些東西,你只需要改變你處理數據位的方式,它會很好地工作:)

+0

謝謝你,但我認爲這將打破失去連接,你瞄準的時候使用通知。到目前爲止,我不需要告訴我的視圖控制器誰發送內容,我不需要告訴發送部分誰是視圖控制器。這使事情變得更加靈活。如果這是唯一的方法,我將不得不放棄,但我不想。 :) – Stefan

+0

考慮一下,我當然可以把這個存儲對象放在一些中心位置...... – Stefan

+0

這就是我的意思。 :)如果監聽視圖控制器尚未加載,則可以用消息填充NSObject,並在偵聽視圖控制器確實加載時給NSObject一個符號,以便您可以立即發送存儲的消息,然後立即發送發送一條將被存儲的消息到監聽視圖控制器。我希望你明白我的意思,不要輸入評論一大堆;) –

相關問題