第一步:注册通知
NSNotificationCenter 在 init或在需要传值的里面注册这个通知,
/**
* addObserver:注册一个通知中心的接收者
* selector :接收该通知执行的方法,如果有参数,可理解为发起通知传递的参数
* name:通知的名字,也是通知的唯一标示,编译器就通过这个找到通知的。
*/
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(test:) name:@“notifacation”object:nil];
第二步:发起通知
不传参数发起通知的写法:
[[NSNotificationCenter defaultCenter] postNotificationName:@"notifacation" object:nil];
一般在使用NSNotificationCenter的时候不使用参数,但是有些时候需要使用参数。
传递参数的写法:传递一个参数 searchFriendArray
[[NSNotificationCenter defaultCenter] postNotificationName:@"notifacation" object:searchFriendArray];
第三步:接收通知(接收通知传递的参数)
接收参数并获取传递的参数
- (void) test:(NSNotification*) notification
{
searchFriendArrary = [notification object];//通过这个获取到传递的对象
// do something........
}
//在dealloc里面移除这个通知的注册:
[[NSNotificationCenter defaultCenter] removeObserver:self name:str object:nil];