通知使用是為了在兩個(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;
注意:官方文檔有明確的說(shuō)明,不可以使用init進(jìn)行初始化
2、通過(guò)通知中心發(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)聽(tīng)者,將通知發(fā)送的信息接收
添加一個(gè)觀(guān)察者,可以為它指定一個(gè)方法,名字和對(duì)象。接受到通知時(shí),執(zhí)行方法。
- (void)addObserver:(id)observer selector:(SEL)aSelector name:(NSString *)aName object:(id)anObject;
4、銷(xiāo)毀通知觀(guān)察者
移除觀(guān)察者的方法
- (void)removeObserver:(id)observer;
- (void)removeObserver:(id)observer name:(NSString *)aName object:(id)anObject;