无标题文章

第一步:注册通知

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];

你可能感兴趣的:(无标题文章)