文档章节

iOS学习笔记4-KVC底层原理

Eric-osc
 Eric-osc
发布于 2016/01/24 22:51
字数 286
阅读 47
收藏 0

Key-Value Coding 键值编码

setValuesForKeysWithDictionary 调用顺序:

循环遍历字典中的所有key,并调用setValue: forKey: 方法

* 如果key存在,设置数值

* 如果key不存在,调用 setValue:forUndefinedKey: 方法 (默认奔溃)

官方文档说明:

The receiver’s class is searched for an accessor method whose name matches the pattern set<Key>:

If no accessor is found, and the receiver’s class method accessInstanceVariablesDirectly returns YES, the receiver is searched for an instance variable whose name matches the pattern _<key>, _is<Key>, <key>, or is<Key>, in that order.

If a matching accessor or instance variable is located, it is used to set the value. If necessary, the value is extracted from the object as described in Representing Non-Object Values.

If no appropriate accessor or instance variable is found, setValue:forUndefinedKey: is invoked for the receiver.

setValue:forKey: 调用顺序

1、寻找set<Key>:方法

2、没有找到set<Key>:方法,就按照_<key>, _is<Key>, <key>, is<Key> 顺序寻找

3、如果还没有找到,就调用 setValue:forUndefinedKey: 方法(默认崩溃)

valueForKey: 调用循序

1、按照get<Key>, <key>, is<Key>顺序寻找

2、如果没有找到,就按照_<key>, _is<Key>, <key>, is<Key>顺序寻找

3、如果还没有找到,就调用 valueForUndefinedKey: 方法(默认崩溃)


© 著作权归作者所有

Eric-osc
粉丝 4
博文 23
码字总数 7046
作品 0
东城
私信 提问
iOS开发经验总结,我的2019进阶之路!

4G改变了生活,抓住机会的人已经在这个社会有了立足之地,马上迎来5G的时代,你做好准备了吗!对于即将迎来的5G时代,无疑会是音视频的又一个高潮!那么作为程序员的我们,应该怎么样去迎接它...

卓远
04/11
0
0
iOS开发,我的2018进阶之路总结!

4G改变了生活,抓住机会的人已经在这个社会有了立足之地,马上迎来5G的时代,你做好准备了吗! 对于即将迎来的5G时代,无疑会是音视频的又一个高潮!那么作为程序员的我们,应该怎么样去迎接...

_小迷糊
01/08
0
0
2018 iOS 面试题大全(补充完整版)

原文地址:2018 iOS 面试题大全 由于原作者并没有继续更新,这里我转过来继续更新下 这个栏目将持续更新--请iOS的小伙伴关注! 1、iOS 应用导航模式有哪些? 2、iOS 中持久化方式有哪些? 3、...

Theendisthebegi
2018/11/15
0
0
iphone开发技术要学习的内容

一.iOS基础   1 开发环境搭建以及IOS组件、框架的概要介绍。   2 mac操作系统与iOS操作系统   3 xcode IDE开发环境的初始   二.C语言基础   1数据类型、表达式与控制流程语句   ...

和谐中原植物酒
2015/08/24
149
2
经过阿里,百度一面,二面后,我总结了50道iOS面试题

前言: 金三银四已经过去,根据统计,很多人都会选择在三月四月跳槽,原因有很多,企业年后会有大量员工离职,员工觉得老公司待遇不怎么样?薪资不够高,想换个新环境等等原因,所以,三月四...

原来是泽镜啊
2018/05/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

typescript 接口 函数类型 可索引类型

函数类型 可索引类型 数字索引签名 字符串索引签名 数字索引签名返回值 必须是 字符串索引签名返回值的子集 只读索引签名

lilugirl
今天
3
0
Oracle SQL语法实例合集

如需转载请注明出处https://my.oschina.net/feistel/blog/3052024 目的:迅速激活Oracle SQL 参考:《Oracle从入门到精通》 ------------------------------------------------------------......

LoSingSang
今天
2
0
增加 PostgreSQL 服务进程的最大打开文件数

https://serverfault.com/questions/628610/increasing-nproc-for-processes-launched-by-systemd-on-centos-7 要在systemd的配置里加才行...

helloclia
今天
2
0
组合模式在商品分类列表中的应用

在所有的树形结构中最适合的设计模式就是组合模式,我们看看常用商品分类中如何使用。 先定义一个树形结构的商品接口 public interface TreeProduct { List<TreeProduct> allProducts(...

算法之名
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部