最近写程序需要用到这类,研究了下,现把成果和大家分享。
NSNotificationCenter是专门供程序中不同类间的消息通信而设置的,使用起来极为方便,
长话短说。
设置通知,就是说要在什么地方(哪个类)接受通知,一般在初始化中做。
[[NSNotificationCenterdefaultCenter]<wbr><span style="word-wrap: normal; word-break: normal; line-height: 21px; ">addObserver</span>:self<span style="word-wrap: normal; word-break: normal; line-height: 21px; ">selector</span>:@selector(test:)<wbr>name:@"test<span style="word-wrap: normal; word-break: normal; line-height: 21px; ">"</span><wbr>object<span style="word-wrap: normal; word-break: normal; line-height: 21px; ">:</span>nil<span style="word-wrap: normal; word-break: normal; line-height: 21px; ">];<wbr></wbr></span></wbr></wbr></wbr>
我仅对以上参数做以说明:addObserver 这个是观察者,就是说 在什么地方接收通知;
selector 这个是收到通知后,调用何种方法;
name: 这个是通知的名字,也是通知的唯一标示,编译器就通过这个找到通知的。
发送通知,就是说此时要调用观察者处的方法。
[[NSNotificationCenterdefaultCenter]postNotificationName:@"test" object:searchFriendArray];
我仅对以上参数做以说明:
postNotificationName:通知的名字,也是通知的唯一标示,编译器就通过这个找到通知的。
object:传递的参数
发送通知时,默认调用test方法。
- (void)<wbr>test:(<span style="word-wrap: normal; word-break: normal; line-height: 21px; ">NSNotification</span>*) notification</wbr>
{
searchFriendArrary = [notification object];//通过这个获取到传递的对象
}<wbr></wbr>