zoukankan      html  css  js  c++  java
  • iOS--KVC&KVO

    一、KVC

    通过关键字,访问属性及成员变量。

    1.kvc当调用setValue:属性值 forKey:@”name“的代码时,底层的执行机制(顺序)如下:

    ①.set方法:set<Key> (注意,通过属性自动合成的set方法也算)

    ②.(BOOL)accessInstanceVariablesDirectly方法有没有返回YES,默认该方法会返回YES,继续向下寻找。

    (如果你重写了该方法让其返回NO的话,那么在这一步KVC会直接执行⑤setValue:forUNdefinedKey:方法,不过一般开发者不会这么做。所以,如果想让自己的类禁用kvc,可以用此方法返回NO,不过记得属性会自动合成set方法)

    ②._<key>成员变量

    ③._is<Key>成员变量

    ④.<key>和is<Key>成员变量

    ⑤.执行该对象的setValue:forUNdefinedKey:方法,默认是抛出异常。

    2.当调用valueForKey:@"name"时,执行机制(顺序)如下:

    ①.get<Key>,<key>,is<Key> ,这些get方法

  • 相关阅读:
    mybatis-generator.xml
    模板下载
    任务导出
    订单导出
    创建指定日期任务
    字符串的知识
    数组元素反转
    JVM 中知识
    Redis介绍
    JsonP
  • 原文地址:https://www.cnblogs.com/howdoudo/p/6862920.html
Copyright © 2011-2022 走看看