观察者设计模式详解观察者设计模式详解
基本概念
NSNotificationCenter的使用
添加监听
接收消息
删除监视
KVO的使用
基本概念
注册观察者
观察者对象发生变化时的回调方法
remove观察者身份
代码实现基本概念观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己.而在IOS开发...
分类:
移动开发 时间:
2015-03-31 18:10:48
阅读次数:
209
一、创建文件
说明:自定义文件类,通过NSFileManager 以及NSFileHandle 实现文件的创建和copy,为了控制内存的并发使用,通过控制每次赋值的固定长度来分多次复制:
NSString * path=NSHomeDirectory();
path =[path stringByAppendingPathComponent:@"deskTop/Bo...
分类:
其他好文 时间:
2015-03-30 14:39:35
阅读次数:
128
KVC
用 KVC 实现高阶消息传递
valueForKey: 有很多有用的特例,比如说 NSArray 和 NSSet 这样的容器类都覆盖了这个方法。valueForKey: 被传递给容器中得每一个对象,而不是对容器本身进行操作。结果会被添加进返回的容器中。这样,开发者能很方便的用一个容器创建另一个容器对象,比如像这样:
NSArray *array = @[@"foo",@"...
分类:
其他好文 时间:
2015-03-29 12:20:34
阅读次数:
210
KVO Key,Value,Observing,即键值观察者。它提供了这样一种机制,当指定对象的属性发生改变时,KVO会自动通知相应的观察者。它与NSNotification不同,键-值观察中并没有所谓的中心对象来为所有观察者 提供变化通知。取而代之地,当有变化发生时,通知被直接发送至处于观察状态的...
分类:
其他好文 时间:
2015-03-21 18:29:12
阅读次数:
100
Key-Value Coding(KVC)KVC,即是NSKeyValueCoding,一个非正式的Protocol,提供一中机制来间接访问对象的属性。KVO就是基于KVC实现的关键技术之一。Key-Value Observing(KVO)KVO,即是NSKeyValueObserving,建立在K...
分类:
其他好文 时间:
2015-03-19 14:36:18
阅读次数:
114
前面分别讲了delegate、notification和KVO的实现原理,以及实际使用步骤,我们心中不禁有个疑问,他们的功能比较类似,那么在实际的编程中,如何选择这些方式呢? 在网上看到一个博客上详细的分析了三者之间的区别以及各自的优势,博文地址为http://blog.shinetech.com/...
分类:
移动开发 时间:
2015-03-18 17:37:10
阅读次数:
128
=======================================================原创文章,转载请注明 编程小翁@博客园,邮件zilin_weng@163.com,欢迎各位与我在C/C++/Objective-C/机器视觉等领域展开交流!=================...
分类:
移动开发 时间:
2015-03-18 13:44:24
阅读次数:
153
1.使用setValue:ForKey:设置Student对象的name[student setValue:@"one" forKey:@"name"]; 使用setValue:ForKey:设置Student对象的age[student setValue:[NSNumber numberWith....
分类:
其他好文 时间:
2015-03-16 15:50:01
阅读次数:
126
看了一天的KVC、KVO,我就把网上的资料整理一下吧,如有雷同的地方,勿惊。
1、 KVC
KVC :NSKeyValueCoding的简称,它提供了一种在运行时而非编译时动态访问对象属性与成员变量的方式,也就是说,我们可以用字符串的内容作为属性名称或者成员变量名 称进行访问。这种特性有些类似于其他高级编程语言中的反射。
主要的方法
(setValue...
分类:
其他好文 时间:
2015-03-13 18:43:50
阅读次数:
180
什么是Lambda?C++ 11加入了一个非常重要的特性——Lambda表达式。营里(戴维营)的兄弟都对Objective-C很熟悉,许多人多block情有独钟,将各种回调函数、代理通通都用它来实现。甚至有人选择用FBKVOController、BlocksKit等开源框架将KVO、控件事件处理都改...
分类:
编程语言 时间:
2015-03-13 18:24:29
阅读次数:
208