关闭

浅析object-c,swift "传值" 原理

标签: 闭包block协议钩子
110人阅读 评论(0) 收藏 举报
分类:

1.object-c 的 代理protocol,以及block能传值的深层次的原因是:它们的申明和实现可以在两个不同的类进行,所以这就符合在不同的类中传值的要求。

(1)协议的拥有者,可以创建协议实例,也就是协议执行者比如tabeview.delegate = self; self为协议的执行者 ,tableview为协议的拥有者。协议方法在协议中申明而在协议拥有者中被协议执行者调用,协议方法在协议执行者众实现.

(2)block是同样的道理

2.那么swift中的代理和闭包能传值的深层次原因也是:它们的申明和实现可以在两个不同的类进行,所以这就符合在不同的类中传值的要求。


其实闭包以及block是函数的变体一样。


那么可以推断不管任何语言,在2个代码文件(class)中的传值,其实都是函数(闭包--swift?block--oc?钩子--c++?)的申明和实现可以放在不同class中。


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:7912次
    • 积分:333
    • 等级:
    • 排名:千里之外
    • 原创:25篇
    • 转载:3篇
    • 译文:1篇
    • 评论:0条
    文章分类