我創建了一個單例類來存儲對CLLocationManager的引用,所以我的整個程序訪問同一對象並充當委託。使用單例將通知發佈到特定對象
我使用TabBarController,我的幾個ViewControllers對位置數據以及生成的任何錯誤都感興趣。
現在我只是想處理不同的錯誤情況,而我設置的東西的方式是locationManager:didFail:withError:發佈包含錯誤對象的通知。對該通知感興趣的任何ViewController都會向NSNotificationCenter註冊,並相應地處理該錯誤。
我遇到的問題是,所有註冊的ViewController都收到此錯誤通知,即使它們未被當前選定的選項卡加載。雖然我確信這是設計,是否有辦法只發布到活動ViewController?
因爲我的發件人是單身人士,所以我無法通過通知名稱或通知發件人進行區分,因爲它們總是相同。
謝謝!
啊,就這麼簡單。很好的答案。實際上,我將addObserver放入init中,而實際上我還沒有實現removeObserver,但我想我會按照您的建議去使用willAppear/willDisappear。 – djibouti33 2011-02-13 18:57:17