我有兩種觀點認爲,當你從一個切換到另一個時,他們會調用一個通知到即將加載的視圖來刷新內容。奇怪的是,第一次加載視圖時,它會調用一次,下次再調用一次,等等。我得出結論,這是因爲每次加載視圖時都會一直添加。由於dealloc永遠不會被調用,它仍然存在,它現在將繼續添加。NSNotificationCenter添加?
那麼有沒有辦法檢查通知是否存在之前獲得添加解決這個問題?
下面是我在我的viewDidLoad
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(ReloadGridNotification:) name:@"ReloadOHGridView" object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(ReloadBadgeNotification:) name:@"reloadBadge" object:nil];
而且我的dealloc:
[[NSNotificationCenter defaultCenter] removeObserver:self];
謝謝!
庫爾頓
編輯1:
我告訴我的一個UINavigationController的意見和它們之間進行切換。這裏是我的代碼刷新不同的看法:
- (void)viewWillDisappear:(BOOL)animated {
[[NSNotificationCenter defaultCenter] postNotificationName:@"reloadBadge" object:self];
}
你是如何加載和顯示你的觀點? – magma 2011-04-18 00:29:05
@magma:請看我編輯的帖子。 – iosfreak 2011-04-18 00:33:19
請將代碼發佈到實際創建並顯示視圖的地方。我感覺到奇怪的設置,但沒有實際的代碼就很難理解。 – magma 2011-04-18 00:47:00