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

  • 相关阅读:
    标题
    Ubuntu配置 PPTP 服务器端
    网络虚拟化问题小记
    DevStack部署Openstack环境
    Ubuntu LVM扩展LV
    Gnocchi+Aodh服务简析
    部署Ceilometer +Gnocchi + Aodh
    Runing MAC on KVM 问题小记
    处理 Ceilometer UPD 丢包
    TC limit bandwidth
  • 原文地址:https://www.cnblogs.com/WellLin/p/12711090.html
Copyright © 2011-2022 走看看