委托 通知中心 监听/观察
所说的这些都是为了实现对象与对象直接进行通信的手段
1.委托:就是调用者对象在自己的类实现文件(.m)中调用被调用者的一些方法,但是呢调用者不知道被调用者中究竟有什么方法,于是便引出“协议”, 在调用者中定义一个协议(也就是一组方法列表),然后让被调用者在其实现文件中去相应的实现这一组方法, 且在被调用者当中定义一个变量(delegate),类型是一个实现了该协议的id类型,这样调用者就可以在适当的时候来调用协议中的方法从而实现间接的对被调用者进行了操作
最后,这里所说的调用者对象最终会成为被调用者的成员变量
eg:UITableView的使用
2.通知中心:一个应用只有一个通知中心,说个用的比较多的类型,其他参考:http://bj007.blog.51cto.com/1701577/417486
发送通知的代码如下:
1.委托:就是调用者对象在自己的类实现文件(.m)中调用被调用者的一些方法,但是呢调用者不知道被调用者中究竟有什么方法,于是便引出“协议”, 在调用者中定义一个协议(也就是一组方法列表),然后让被调用者在其实现文件中去相应的实现这一组方法, 且在被调用者当中定义一个变量(delegate),类型是一个实现了该协议的id类型,这样调用者就可以在适当的时候来调用协议中的方法从而实现间接的对被调用者进行了操作
2.通知中心:一个应用只有一个通知中心,说个用的比较多的类型,其他参考:http://bj007.blog.51cto.com/1701577/417486
-
[[NSNotificationCenter
defaultCenter] -
postNotificationName:@ -
object:broadcasterObject];
-
[[NSNotificationCenter
defaultCenter] -
addObserver:listenerObject -
selector:@selector(receivingMethodOnListene r:) -
name:@ -
object:nil];
A类可以在其中增加接受通知的代码,通知类型由name来决定,只要被执行一次就行,而发送通知的代码需要在另外的类中去执行,每被执行一次,A类就会接受通知一次,进而去执行通知中所指定的函数@selector(receivingMethodOnListene r:) 从而实现通信
网络上志同道合,我们一起学习网络安全,一起进步,QQ群:694839022