IOS中三大数据传递方式优缺点分析

1.Delegate

delegate俗称“代理”或“委托”,是IOS框架中使用最为普遍的方法,没有之一。常见代表有UIScrollView,UITableView等

适用环境:UI事件响应,或者是频繁调用的情况,偏向于过程,各种状态的记录。

优点:

a.较为清晰的语法定义。

b.可以很好的避免循环应用,导致内存泄漏问题。

c.适用于多种(>=6)方法以上的回调方式

缺点:

a.较为重量级,代理的申明和实现不在同一个文件,易读性较差。

b.书写比较麻烦,需要定义多个方法。

c.一对一通信,多个对象时不太实用。


2.Block

block俗称“块”,个人理解有点类似于c语言中的函数指针,也是IOS框架中经常使用的方法之一,常见于一些第三方库中,例如:AFNetworking网络框架等。

适用环境:使用不频繁的情况,单一调用,强调结果。

优点:

a.代码易读性较高

b.可直接利用上下文,但注意避免循环引用。

c.轻量级,使用方便,比较推荐使用。

缺点:

a.容易造成循环引用,__weak记得用好。

b.一对一通信,功能单一,目的性较强。

3.NSNotification

notification俗称“通知”,也是IOS框架中经常使用的传值方式之一,功能很强大,也不那么容易掌控。常见于系统的键盘状态变化,App的生命周期变化。

适用环境:层/功能通信,减小耦合,多对象通信。

优点:

a.使用方法简单。

b.多对象通信。

c.跨层通信。

缺点:

a.比较耗性能。

b.不用时需要移除通知的监听,较为麻烦.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值