第一种方式
通知的创建,指定通知的名字,是一个通知的标识
object:通知所携带的对象
NSNotification *notify = [NSNotification notificationWithName:@"showFont" object:fontName];
第二种 创建通知的第二种方法,当想要发送的内容不止一个时,通过userInfo 字典发送
NSNotification *notify2 = [NSNotification notificationWithName:@"showFont" object:fontName userInfo:@{@"fontName":fontName,@"object":fontName}];
第三种 实例方法创建通知
NSNotification *notify3 = [[NSNotification alloc]initWithName:@"showFont" object:fontName userInfo:@{@"fontName":fontName,@"object":fontName}];
获取通知中心 ,系统提供处理通知的单例,
NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
发送通知
[center postNotification:notify3];
另外一些方法 发通知
/*
//给定通知名字、要携带的对象,以及要发送的内容userInfo,由通知中心去创建通知并发送出去
[center postNotificationName:@"showFont" object:fontName userInfo:@{@"fontName":fontName,@"object":fontName}];
//给定指定的通知名和携带的对象,由通知中心创建通知并发送出去
[center postNotificationName:@"showFont" object:fontName];
*/
注册接收的通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showFontName:) name:@"showFont" object:nil];
参数一:监听通知的对象
参数二: 当消息中心发送消息时,self(监听对象)要执行的方法
参数三:接收的通知名字
参数四:被监听的对象,nil为任意对象
移除监听
[[NSNotificationCenter defaultCenter] removeObserver:self name:@"showFont" object:nil];
移除所有的监听
[[NSNotificationCenter defaultCenter] removeObserver:self];