
如何传过来的obj对象恰好 就是原来的这个对象 当我们对这个对象进行release 操作时 实际上也是对 传递进来的obj对象 进行release操作 很有可曾 这个obj对象被我们无辜的释放了 这是 在通过_obj访问一个废弃的对象 就会导致程序异常crash
简述分类的实现原理
分类的实现原理是由运行时来决议的
不同分类中 含有相同方法 最终生效 取决于是谁最终参与编译
分类中添加的方法 恰好与宿主类方法同名 分类方法 会覆盖宿主类方法 (这里说的覆盖 是消息传递中 优先查找数组靠前的元素 实际上数组的方法还是存在的 我们可以通过一些特殊的方法进行调用)
KVO的实现原理
KVO 是 OC 对观察者模式的一种实现
Apple 使用了 isa混写技术(isa - swizzling) 来动态运行时为某一个类添加子类 重新set方法 同时把原有类的isa指针 指向新创建的这个类上面
能否给分类添加成员变量
可以通过关联对象 来添加成员变量
网友评论