今天就自己看了会儿KVC和KVO,感觉有些地方说的真详细,第一次学这个的时候,真是不太懂,首先对他们两父子介绍一下(KVO是KVC的儿子)。
一、KVC(Key-Value-Coding)内部的实现:一个对象在调用setValue的时候
(1)首先根据方法名找到运行方法的时候所需要的环境参数。
(2)他会从自己isa指针结合环境参数,找到具体的方法实现的接口。
(3)再直接查找得来的具体的方法实现。
二、KVO(Key-Value-Observing):当观察者为一个对象的属性进行了注册,被观察对象的isa指针被修改的时候,isa指针就会指向一个中间类,而不是真实的类。所以isa指针其实不需要指向实例对象真实的类。所以我们的程序最好不要依赖于isa指针。在调用类的方法的时候,最好要明确对象实例的类名。
KVO 的作用,它通过 key path 观察对象的值,当值发生变化的时候会收到通知。
这个网站列子解释的不错的,可以去看看
http://magicalboy.com/kvc_and_kvo/
三、关于这个“_”和这个“.”有什么区别呢
(还有好多都想不起来了),大家都来谈谈吧,这两个到底有什么区别呢,我们明天再继续吧
点语法的本质是调用get方法和set方法。
这个我真的想搞懂哦,可是好困啦啦啦啦
每次写到现在都困了,今天打篮球,太累了,学习效率这样的话一点也不高,一定不要向我学习,要真的自己下功夫去学习,真的让自己多搞懂点真是的技术,好好加油,晚安