14、KVC和KVO
》KVC,key-value coding键值编码,通过setValue: forKey: 的模式给对象设置属性的值,有点类似于C#中的反射机制
1、基本数据类型setValue时必须封装成对象,解封时时自动的
2、属性为对象时,可以通过键的路径进行设置和访问。setValue: forKeyPath:和valueForKeyPath。path的访问
是通过点来逐层访问,如Book对象的属性Author,"author.name"为访问作者姓名,
3、属性的下划线和没有下划线是一样的,如"author.name"和"_author._name"
》KVO,key-value observer键值观察者。主要应用于观察者模式
1、注册监听
- (void)addObserver:(NSObject *)observer forKeyPath:(NSString *)keyPath
options:(NSKeyValueObservingOptions)options context:(void *)context;
2、实现监听
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object
change:(NSDictionary *)change context:(void *)context;
3、移除监听
- (void)removeObserver:(NSObject *)observer forKeyPath:(NSString *)keyPath;
15、谓词NSPredicate
》创建谓词 predicateWithFormat,format中可以用>,=,<,>=,<=,&&,and,&&,or,||,in(大括号包含列表或者传入数组),
beginswith,endswith,contains,like。
也可以用占位符
》evaluateWithObject判断对象是否满足设定的条件
》过滤数组filteredArrayUsingPredicate和过滤可变数组filterUsingPredicate
16、通知NSNotification
》发出通知
[[NSNotificationCenter defaultCenter] postNotificationName:@"" object: userInfo];
》接受通知
[[NSNotificationCenter defaultCenter] addObserver:self selector: object];
》处理通知,通过第二步中selector来处理通知
》通知为一对多,缺点是不易于维护和管理,最好用delegate模式
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
版权声明:本文为博主原创文章,未经博主允许不得转载。
分享到:
相关推荐
OC学习篇的教程项目,每个项目都是可以单独运行的。很赞的~
从头到尾,教你如何理解OC,多练,多看,多理解,希望对你有帮助
本文档主要是对在 Object-C 阶段学习基础知识的总结,都是一些常用的知识点,很适合初学者
2020大学生线上(网院)学习总结篇.pdf
自己在开发和学习的过程中,总结了一些知识与资源,用来分享
ios block学习总结demo
《培训学习总结汇报》.pdf
《培训学习总结报告》.pdf
11医生岗前培训学习总结 .doc
《培训学习总结多篇》.pdf
2019年暑期教师学习总结范文.pdf
2021年高中数学远程教育学习总结.pdf
1.安装DockerToolbox,同时会附带安装Docker Quickstart Terminal、Kitematic (Alpha)、Oracle VM VirtualBox docker terminal界面如下,可进行常见docker命令操作。 Kitematic界面如下,用于管理容器下载。...
今天来看看容器对应的文件系统 如下图,首先我们可以看到当前总共有21个container(22是包含了CONTAINER title的),那这22个container在宿主机上都保存在哪里呢?从右图可以看到所有的container都保存在宿主机/mnt/...
10、OC门,即集电极开路门电路(为什么会有OC门?因为要实现“线与”逻辑),OD门,即漏极开路门电路,必须外界上拉电阻和电源才能将开关电平作为高低电平用。否则它一般只作为开关大电压和大电流负载,所以又叫做驱动...
Swift学习的笔记,总结性的东西,很实用,非常适合新手看,之前学过OC的朋友基本上一看就能上手,非常的实用。
《学校干部队伍作风整顿建设学习动员阶段工作总结》.pdf
文章目录Docker Stack概念命令Docker stack 实践实践环境实践过程部署一个简单服务添加监控visualizer滚动更新资源控制图形界面portainer安装前准备安装portainer Docker Stack 概念 技术由来:Docker Swarm在大规模...
我自学iOS开发时做的笔记,主要是OC语言的语法部分,没有包fundation框架,以我的亲身感受总结出iOS初学者容易犯的错误及疑问的地方,对本文如果意见欢迎与我交流,谢谢
学习OC中的Foundation框架的总结,包括NSObject,NSString,NSMutableString,NSArray,NSMutableArray