2012-05-26 93 views
0

我正在製作具有不同導航控制器的應用程序。所有這些都是初始化的。iOS中的UINotification問題/目標C

說,我3個NAV控制器A,B和C.

從B(B1說)的圖控制器發送是應該從視圖控制器聽到的通知A(說A1)。之後,我們去查看控制器A1。但是,如果我們從視圖控制器B1開始(並且永遠不會去視圖控制器A1),那麼A1不會收到通知。但是,這是第二次。或者,如果我進入A1內部一次,則通知被正確接收。

任何人都可以幫助我嗎?謝謝。

注意:偵聽器代碼位於A1的init中。它被擊中(我通過使用斷點檢查)。

+0

您能否重新提出您的問題,不太清楚B1是否發佈通知或收聽通知。 – 0x8badf00d

+0

@ 0x8badf00d:B1發佈通知。 A1會監聽這些通知。 – Ahsan

回答

0

由於您是說在視圖顯示一次後收到通知,我懷疑是您正在註冊通知,方法是直到顯示視圖才運行(viewDidLoad,viewDidAppear:等) 。

如果出現這種情況,請嘗試將您的通知註冊移至您在ViewControllers中使用的任何一種方法init

+0

我在'init'方法中做的.. :( – Ahsan

+0

嗯,我很茫然,然後我會繼續思考,如果我想出點什麼,我會讓你知道的。更多的上下文或代碼發佈可能有所幫助。 –

0

NSNotification通過所有的應用程序是可觀察的。所以,要做你打算做的事情,我會使用布爾標誌或計數器。您可以將這些指標放在appDelegate類中或使用全局變量。