问答1 问答5 问答50 问答500 问答1000
网友互助专业问答平台

ios中notification和kvo的区别

提问网友 发布时间:2022-04-22 03:39
声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:1656858193@qq.com
1个回答
热心网友 回答时间:2024-01-08 21:01
notification 的 优势 :
1.不需要编写多少代码,实现比较简单;
2.对于一个发出的通知,多个对象能够做出反应,即1对多的方式实现简单
3.controller能够传递context对象(dictionary),context对象携带了关于发送通知的自定义的信息
缺点 :
1.在编译期不会检查通知是否能够被观察者正确的处理;
2.在释放注册的对象时,需要在通知中心取消注册;
3.在调试的时候应用的工作以及控制过程难跟踪;
4.需要第三方对喜爱那个来管理controller与观察者对象之间的联系;
5.controller和观察者需要提前知道通知名称、UserInfo dictionary keys。如果这些没有在工作区间定义,那么会出现不同步的情况;
6.通知发出后,controller不能从观察者获得任何的反馈信息。
KVO 的 优势 :
1.能够提供一种简单的方法实现两个对象间的同步。例如:model和view之间同步;
2.能够对非我们创建的对象,即内部对象的状态改变作出响应,而且不需要改变内部对象(SKD对象)的实现;
3.能够提供观察的属性的最新值以及先前值;
4.用key paths来观察属性,因此也可以观察嵌套对象;
5.完成了对观察对象的抽象,因为不需要额外的代码来允许观察值能够被观察
缺点 :
1.我们观察的属性必须使用strings来定义。因此在编译器不会出现警告以及检查;
2.对属性重构将导致我们的观察代码不再可用;
3.复杂的“IF”语句要求对象正在观察多个值。这是因为所有的观察代码通过一个方法来指向;
4.当释放观察者时不需要移除观察者。

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

ios系统有什么特点 ios系统的特性 如何从cisco中复制IOS到PC机中,即备份IOS ios中有适用于日文的类似有道E读这样的app吗,即可... iPhone即iOS版的最终幻想4的问题。。 如何在IOS中实现即时的Markdown编辑 iOS中构造方法和实例方法的区别 新浪微博什么是粉丝分析? 怎样识别粉条的好与坏 小红书和哔哩哔哩粉丝质量哪个高 你认为粉丝质量和粉丝数量哪个更重要? 明星的粉丝质量和明星本人有多大的关系? 微信如何增加粉丝数量及质量 如何挑选粉丝,那种粉丝好 鉴别粉丝的质量应注意什么? 怎么判断粉条的好坏 太阳从内到外依次可以分成哪几个层次 正文粉丝质量问题 我们如何鉴别粉丝的质量好坏? 粉丝的质量如何鉴别? ipad上即ios版remotr怎么下载? IOS用户是什么意思 ios中BOOL和bool的区别 如何在 iOS 中实现一个可展开的 Table View ios中什么是弱变量跟强变量 ios==和equals的区别 3+2大专和全日制大专的区别 3+2属于全日制普通专科吗 32度多肉法师可以全日晒太阳吗? 嗨氏王者荣耀帮观众上分怎么抽的?我想让海氏帮我打。 3十2大专毕业证是全日制的吗 ios手q可以让嗨氏抽代打嘛quq怎么参与嗨嗨观战福利... 我现在三十二岁了,211学校的全日制硕士研究生,而... 虎牙嗨氏怎么抽幸运观众 你好,我是护理学专业全日制大专,年龄32周岁,不... 《嗨氏王者荣耀》帮观众上分怎么抽的? 我现在三十二岁了,男的,211学校的全日制硕士研究... 怎么参加嗨氏的观众福利啊,看着那些被嗨哥抽中的... 全日餐厅是什么意思? 嗨氏最近做了些什么事?能仔细说一下吗?为什么现...
Top