通知使用是為了在兩個(gè)控制器間互相傳值诺舔,使用時(shí)候有以下步奏:
1喷市、創(chuàng)建通知
NSNotification的初始化方法:
- (instancetype)initWithName:(NSString *)name object:(id)object userInfo:(NSDictionary *)userInfo;
+ (instancetype)notificationWithName:(NSString *)aName object:(id)anObject;
+ (instancetype)notificationWithName:(NSString *)aName object:(id)anObject userInfo:(NSDictionary *)aUserInfo;
注意:官方文檔有明確的說明主卫,不可以使用init進(jìn)行初始化
2、通過通知中心發(fā)送通知
發(fā)送通知消息的方法
- (void)postNotification:(NSNotification *)notification;
- (void)postNotificationName:(NSString *)aName object:(id)anObject;
- (void)postNotificationName:(NSString *)aName object:(id)anObject userInfo:(NSDictionary *)aUserInfo;
3、所要接收的控制器中注冊(cè)通知監(jiān)聽者野芒,將通知發(fā)送的信息接收
添加一個(gè)觀察者呜师,可以為它指定一個(gè)方法娶桦,名字和對(duì)象。接受到通知時(shí),執(zhí)行方法衷畦。
- (void)addObserver:(id)observer selector:(SEL)aSelector name:(NSString *)aName object:(id)anObject;
4栗涂、銷毀通知觀察者
移除觀察者的方法
- (void)removeObserver:(id)observer;
- (void)removeObserver:(id)observer name:(NSString *)aName object:(id)anObject;