请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

新生成的NSKVONotifing_A如何通过methodSwizziling实现KVO呢?老师并没有说呢

正在回答 回答被采纳积分+3

2回答

慕运维7818248 2019-03-04 11:35:33

视频里说了呀。这个NSNotifying_A中重写了A中的setter方法(这个setter方法里面添加了willchangevalueforkey和didchangevalueforkey两个方法)。

2 回复 有任何疑惑可以回复我~
  • 提问者 xq_aaron #1
    那只能说明方法已经调用到子类里面去了之后的操作,如何掉入到子类,isa指针如何改变指向子类并没有说!重写setter只是触发KVO而已!
    回复 有任何疑惑可以回复我~ 2019-03-14 18:02:44
  • isa指针如何改变指向子类对象?你觉得苹果怎么改呢?如果是你你怎么改?isa指针里面保存的是什么?还有方法查找过程又是怎样的呢?你这些弄懂了?你懂了就知道怎么改的了
    回复 有任何疑惑可以回复我~ 2019-03-14 19:05:52
  • 慕运维7818248 回复 提问者 xq_aaron #3
    好心回答你问题你回复的这几个感叹号看的人很不爽,又没人欠你钱
    回复 有任何疑惑可以回复我~ 2019-03-14 19:19:47
JerseyCafe 2019-03-14 17:57:42

 系统只是在运行时 生成了一个 NSKVONotifing_A 对象, 然后将 A 类的指针指向其, 并且重写了其监听 set get  方法, 也重写了当前类的  class 方法, 让我们通过 class 打印当前类时, 显示的还是 A 类,  并没有对其进行 methodSwizziling。


0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信