美文网首页
代理,Block利弊比较

代理,Block利弊比较

作者: 牛奶红茶 | 来源:发表于2021-03-02 17:49 被阅读0次

代理优点

-代理语法清晰,可读性高,易于维护

-它减少代码耦合性,使事件监听与事件处理分离

-一个控制器可以实现多个代理,满足自定义开发需求,灵活性较高

代理缺点:

-实现代理的过程较繁琐

-跨层传值时加大代码的耦合性,并且程序的层次结构也变得混乱

-当多个对象同时传值时不易区分,导致代理易用性大大降低

block优点:

-语法简洁,代码可读性和维护性较高

-配合GCD优秀的解决多线程问题

block缺点:

-Block中得代码将自动进行一次retain操作,容易造成内存泄漏

-Block内默认引用为强引用,容易造成循环应用

运行成本:

delegate运行成本低,block的运行成本高

-block出栈需要将使用的数据从栈内存拷贝到堆内存,当然对象的话就是假引用技术,使用完block置nil才会消除

-delegate只是保存了一个对象的指针,直接回调,没有额外的消耗。就像c的函数指针,只多了一个查表动作

相关文章

  • 代理,Block利弊比较

    代理优点 -代理语法清晰,可读性高,易于维护 -它减少代码耦合性,使事件监听与事件处理分离 -一个控制器可以实现多...

  • block浅析

    对block的了解不是特别多,平常用代理用的比较多; Block写法:^(传入参数列){行为主体};Block实体...

  • Block 跳转页面A->B->C C->

    1,首先定义代理(定义block)。 2触发代理()触发block, 3,执行代理的对象(执行block的对象) ...

  • 代理,通知,kvo

    代理:一般控件用的比较多,其实也可以用block实现,如果实现的接口比较多的话,建议用代理,如UITablevie...

  • block开发使用场景

    block传值 利用block去代理代理传值 1. 代理传值 点击当前控制器Viewcontroller利用mod...

  • OC中的通知

    前言 :这几天参加面试,基础方面问的比较多的就是代理、通知、block、这些。有个面试官还问到了代理和通知的区别,...

  • iOS 逆向传值

    代理(delegate)、通知(NSNotification),block等等。 1、委托代理delegate只能...

  • 比较の利弊

    有人觉得,不跟别人爱怎么能知道自己在哪?怎么有前进的动力?与世无争的人他们最看不起。 有人觉得,比较就是痛苦之源,...

  • Block 代理

    代理***********传旨方3步(定义协议 传递参数)****************1)定义协议.方法2)声...

  • 总结

    MVP核心:代理MVVM核心:block

网友评论

      本文标题:代理,Block利弊比较

      本文链接:https://www.haomeiwen.com/subject/wrsxqltx.html