为了提高计算机系统的效率.增强计算机系统内各种硬件的并行 *** 作能力. *** 作系统要求程序结构必须适应并发处理的需要.为此引入了进程的概念。进程是 *** 作系统的核心,所有基于多道程序设计的 *** 作系统都建立在进程的概念之上。目前的计算机系统均提供了多任务并行环境.无论是应用程序还是系统程序.都需要针对每一拍物个任务创建相应的进程。
常见的消息传递方法有以下5种
第一种:KVO对象属性改变时的通知机制,当对象的某个属性发生变化,进行某项 *** 作的时候,就可以使用KVO的消息传递。使用KVO的前提:消息的观察者需要知道谁是消息的发送者;观察者需要知道发送者的生命周期,因为KVO不会对self进行强引用,如果观察者的生命周期结束了,self被释放,所以添加的监听需要被移除。
第二种:通知机制广播消息,要在两个不相关的模块进行消息传递时,可以使用通知,不需要知道发送者是哪个,同时通知可以发送任何的消息,但是通知的消息传递是单向的,我们不能回复一个通知。
第三种:Target-Action:是UI事件的消息传递方式,target-Action 在消息的发送者和接收者之间建立了一个关系。消息的接收者和发送者互不知道对方。如果 target 是 nil,action 会在响应链中被传递下去,直到找到一个响应它的对象。在 iOS 中,每个控件甚至可以和多个 target-action 关联。但是发送的消息不能携带自定义的信瞎睁息。
第四种:Block 通常可以完全替代 delegation 消息传递机制的角色,不过使用block要注意避免出现循环引用。
第五种:delegate 发送者需要知道丛派接受者是哪个,代理可以自定义任何的方磨郑岁法,按照自己的需求传递信息,可以用方法参数来传递消息内容,delegate 可以通过返回值的形式来给发送者作出回应。
ObjC 中国 - 消息传递机制
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)