控制器传值

(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的定义

你可能感兴趣的:(控制器传值)