北京传智播客教育www.itcast.cn—高级软件人才实作培训专家!北京传智播客教育www.itcast.cn—高级软件人才实作培训专家!通知机制讲师:李南江北京传智播客教育www.itcast.cn—高级软件人才实作培训专家!掌握•通知的发布•通知的监听•通知的移除北京传智播客教育www.itcast.cn—高级软件人才实作培训专家!通知接收者通知发布者通知中心(NSNotificationCenter)•每一个应用程序都有一个通知中心(NSNotificationCenter)实例,专门负责协助不同对象之间的消息通信•任何一个对象都可以向通知中心发布通知(NSNotification),描述自己在做什么。其他感兴趣的对象(Observer)可以申请在某个特定通知发布时(或在某个特定的对象发布通知时)收到这个通知某个对象A通知中心发布通知Observer1Observer2Observer3传递通知传递通知传递通知某个对象D发布通知北京传智播客教育www.itcast.cn—高级软件人才实作培训专家!通知(NSNotification)•一个完整的通知一般包含3个属性:-(NSString*)name;//通知的名称-(id)object;//通知发布者(是谁要发布通知)-(NSDictionary*)userInfo;//一些额外的信息(通知发布者传递给通知接收者的信息内容)•初始化一个通知(NSNotification)对象+(instancetype)notificationWithName:(NSString*)aNameobject:(id)anObject;+(instancetype)notificationWithName:(NSString*)aNameobject:(id)anObjectuserInfo:(NSDictionary*)aUserInfo;-(instancetype)initWithName:(NSString*)nameobject:(id)objectuserInfo:(NSDictionary*)userInfo;北京传智播客教育www.itcast.cn—高级软件人才实作培训专家!发布通知通知中心(NSNotificationCenter)提供了相应的方法来帮助发布通知•-(void)postNotification:(NSNotification*)notification;发布一个notification通知,可在notification对象中设置通知的名称、通知发布者、额外信息等•-(void)postNotificationName:(NSString*)aNameobject:(id)anObject;发布一个名称为aName的通知,anObject为这个通知的发布者•-(void)postNotificationName:(NSString*)aNameobject:(id)anObjectuserInfo:(NSDictionary*)aUserInfo;发布一个名称为aName的通知,anObject为这个通知的发布者,aUserInfo为额外信息北京传智播客教育www.itcast.cn—高级软件人才实作培训专家!注册通知监听器通知中心(NSNotificationCenter)提供了方法来注册一个监听通知的监听器(Observer)•-(void)addObserve...