zoukankan      html  css  js  c++  java
  • KVC面试题

    KVC是key-value coding,键值编码技术

    2个方法

    是否违背面向对象?

    会 因为知道私有key就可以赋值

    valueForKey系统流程

    valueForKey先找是否实现访问器方法,找到就走调用流程,没找到就找实例变量是否存在,可以根据- (BOOL)accessInstanceVariablesDirectly改变其值,默认YES,走调用流程,如果设置NO或者找不到对应的key,走valueForUndefinedKey 抛出一个未定义key错误NSUndefinedKeyException结束流程。

    setValue forKey流程

    先找setter方法是否存在 再找实例变量是否存在,- (BOOL)accessInstanceVariablesDirectly可以改变

    实例变量不存在 调用setValue forUndefinedKey: 抛出NSUndefinedKeyException 结束流程

    访问器方法是否存在的判断?

    方法名:getKey

    方法名:key

    方法名:isKey

    实例变量是否存在的判断?

    成员变量:_key  _isKey  

    成员变量:key  isKey

  • 相关阅读:
    UVa 106
    UVa 111
    UVa 105
    UVa 104
    UVa 103
    UVa 102
    UVa 101
    UVa 100
    就决定是你了!
    阿姆斯特朗回旋加速喷气式阿姆斯特朗炮
  • 原文地址:https://www.cnblogs.com/WellLin/p/12711090.html
Copyright © 2011-2022 走看看