zoukankan      html  css  js  c++  java
  • oc笔试题

    MRC下如何重写retain修饰变量的setter方法?

    @property (nonatomic,retain) id obj;
    - (void)setObj:(id)obj{
    //这里为什么要有个对原来对象的判断 其实是非常必要的 假如传入的对象就是原来的对象 执行release的时候 会把原来的对象释放掉 nil的obj再retain就是crash if(_obj != obj){
        [_obj release];
        _obj = [obj retain];
      } }

    请简述分类的实现原理。

    运行时决议

    不同分类的同名方法最终谁会生效取决于最后编译的方法

    分类方法会覆盖原类方法(覆盖不是真的覆盖 只是优先查找的顺序)

    kvo的实现原理

    观察者模式的实现

    isa混写技术 运行时添加被监听类的子类 原有类的isa指针指向子类 重写setter方法 实现监听

    能否为分类添加成员变量?

    关联对象方案可以实现

  • 相关阅读:
    改善深层神经网络
    IO操作 第一篇 学习(转载)
    杂谈:收集的一些博文
    杭电2072
    Java数组常用方法
    JAVA中final修饰符小结
    南阳106
    南阳283
    南阳277
    南阳458
  • 原文地址:https://www.cnblogs.com/WellLin/p/12711842.html
Copyright © 2011-2022 走看看