但是,我在實際使用本地通知的過程中(UILocalNotification),不去初始化NSNotificationCenter,通知功能也是可以正常使用的,并看不出什么區別。因此想問NSNotificationCenter到底是實現什么功能的?如以下代碼中,是否表示每接收到一個通知便會調用一次myFunc方法?我可以或者需要在myFunc方法中做什么事情?myName到底是什么(UILocalNotification似乎并沒有name屬性)?[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(myFunc:)
name:(NSString *)myName
object:nil];
1 回答

肥皂起泡泡
TA貢獻1829條經驗 獲得超6個贊
首先,這兩個東西不在同一個框架中,
NSNotificationCenter在 /System/Library/Frameworks/Foundation.framework 是支持MacOS的
而 UILocalNotification 在 /System/Library/Frameworks/UIKit.framework iOS可用
UILocalNotification可以理解為RemoteNotification的一個Local實現,是一個面向UI的(支持Alert,Sound等)的通知機制。用途例如,定時器,當計時結束,就發一個通知,然后彈出提示。
NSNotificationCenter是一個面向事件通知中心,他的原理是,你注冊一個通知事件到defaultCenter,這個事件的標示符就是 myName,當有一個myName的通知被Post到通知中心,那么所有生命周期中的myFunc:都會被執行。用途例如,用戶登出,當用戶登出后,發一個通知,所有實現了這個登出方法的地方都回去執行相應操作。
- 1 回答
- 0 關注
- 171 瀏覽
添加回答
舉報
0/150
提交
取消