(1)属性传值:
(2)回传值:
<1>委托代理
>>把发送数据的类做成委托类:
1. 声明协议,在协议中声明一些方法
2. 给委托类定义一个id类型,名称为delegate的属性,并采用协议
3.在委托类的对应方法中,让代理对象调用协议中某个方法
>>把接受数据的类做成代理类:
实例化委托类对象
设置委托对象的代理对象为自身
采用协议,并定义协议中的方法
>>一对一关系
<2>通知
>>接收数据的对象中 做注册通知,并设置通知回调方法
>>发送数据的类中 做发送通知的操作
>>通知时通过一个字符串名称来确定关联
>>使用时一定要注意:
注册通知的代码必须先于发送通知的代码执行!
通知的名称必须相同!
>>一对多
<3>Block
>>可以截获局部变量的匿名函数就叫做Block,也叫做块函数
>>Block是iOS4.0之后引入的,作为C语言的扩展,因为C语言不支持匿名函数,C中必须有函数名称才可以i调用 Blcok是一个全新的函数
>>语法 - 声明、定义、调用 - 略
>>与C语言的区别:
1.C函数\OC方法不可以嵌套定义嵌套定义C函数或OC方法,但是可以在C函数、OC方法、Block函数内嵌套定义Block函数
2.对于返回值,形参完全相同的Block 函数,可以使用函数名赋值
3.对于返回值、形象完全相同的Block函数,可以将它做成一种类型,用这种类型可以定义变量,但是对此变量赋值,需要将函数定义赋值给此类型的变量
>>block函数可以作为遍量,也可以作为OC的属性
>>在发送数据的类中做block声明和调用
在接收数据的类中做block的定义
网友评论