美文网首页
2020-04-05 KVC

2020-04-05 KVC

作者: Coke26 | 来源:发表于2021-06-14 14:40 被阅读0次

    课程引入:
    成员变量、实例变量、属性,区别是什么?---分类不能添加实例变量

    LGPerson : NSObject {
      @public
      NSString *myName;//成员变量
      //实例变量是一种特殊的成员变量
      UIButton *btn;//实例变量
      id hell;// id -> class
    }
    //属性 -- 默认的 setter+getter
    //苹果编译器变化 GCC --> LLVM 
    //没有匹配到实例变量的属性,自动创建一个带下划线
    //@sythesie    namep = _name;//自动生成setter+getter
    @property(nonatomic,copy )NSString *namep;
    

    成员变量 -- 实例变量 -- 属性 -- KVC

    KVC是什么?
    1.是一种机制,通过NSKeyValueCoding 间接访问成员变量;
    2.通过键值编码


    赋值过程:setValue forKey

    //存得时候 不是唯一
    _<key>,_is<key>,<key>,is<key>
    所以,不是直接给<key>赋值,先存到_<key>


    取值过程:valueForKey

    普通类型:
    //多种get方法寻找
    1.get<key>,<key>,is<key>,_<key>
    //寻找集合类型:
    2.countoflnde :array
    //
    3.PS:是否开启间接访问accessInstanceVariablesDirectly,默认YES
    ,就会访问其他一系列成员变量:
    _<key>,_is<key>,<key>,is<key>

    相关文章

      网友评论

          本文标题:2020-04-05 KVC

          本文链接:https://www.haomeiwen.com/subject/wzauphtx.html