OC 面试题小结

2019-03-18  本文已影响0人  应久

如何传过来的obj对象恰好 就是原来的这个对象 当我们对这个对象进行release 操作时  实际上也是对 传递进来的obj对象 进行release操作 很有可曾 这个obj对象被我们无辜的释放了  这是 在通过_obj访问一个废弃的对象 就会导致程序异常crash 

简述分类的实现原理

分类的实现原理是由运行时来决议的 

不同分类中 含有相同方法 最终生效 取决于是谁最终参与编译

分类中添加的方法 恰好与宿主类方法同名  分类方法 会覆盖宿主类方法 (这里说的覆盖 是消息传递中 优先查找数组靠前的元素  实际上数组的方法还是存在的 我们可以通过一些特殊的方法进行调用)

KVO的实现原理

KVO 是 OC 对观察者模式的一种实现

Apple 使用了 isa混写技术(isa - swizzling) 来动态运行时为某一个类添加子类 重新set方法 同时把原有类的isa指针 指向新创建的这个类上面

能否给分类添加成员变量

可以通过关联对象 来添加成员变量 

上一篇 下一篇

猜你喜欢

热点阅读