NSNotification多次重複通知的解決辦法

2021-08-10 21:22:35 字數 579 閱讀 3938

[[nsnotificationcenter defaultcenter] removeobserver:self];
來移除註冊的通知,在這裡我退出登入的時候是用block來移除的通知

[[nsnotificationcenter defaultcenter]postnotificationname:begindownloadonbookshelfnotification object:downloadurl];

[[nsnotificationcenter defaultcenter]addobserver:self selector:@selector(realdata:) name:begindownloadonbookshelfnotification object:nil];

通過這樣發現,再重新登入n次,那麼都會在退出的時候移除掉通知,所以每次發出通知的時候都是呼叫了一次,

ps:如果大家遇到通知呼叫多次的情況,可以打斷點在addobserver註冊通知的地方,然後看註冊通知,呼叫了多少次,在呼叫之後什麼時候移除的,以及什麼時候發出的通知,在這三個地方要多測試幾次就知道問題在哪了

NSNotification學習筆記

這是乙個觀察者模式。首先在你需要監聽的類中加入觀察者 void addobserver id observer selector sel aselector name nsstring aname object id anobject 這個觀察者在監聽到anobject傳送名字為aname的noti...

NSNotification 通知傳值

方法如下 在a頁面viewdidload中註冊乙個通知 objc view plain copy 註冊通知,進行傳值 name reloadvoewnotification 這個就是其唯一標示符.系統是用來做鑑別其惟一性,就是裝置標示符一樣 nsnotificationcenterdefaultce...

NSNotification通知的使用

nsnotification通知傳值的使用 1 建立通知 建立在當前需要使用的頁面 nsnotificationcenter defaultcenter addobserver self selector selector notificationmethod name customname obj...