前言: oc中实现的kvo观察者模式比较呆板,不支持block,运用runtime机制将其进行实现。详细实现步骤:一:给NSObject添加分类(添加相应的添加观察者,删除观察者的方法),这样凡是继承NSObject的类生成的对象都会拥有这两个方法。二:在添加观察者的方法中,检查本类是否有观察者想要...
分类:
其他好文 时间:
2015-11-20 19:17:21
阅读次数:
201
#import "ActivityListViewController.h"#import "ActivityListViewCell.h"#import "Activity.h"@interface ActivityListViewController ()// 存放activity的数组@pro...
分类:
移动开发 时间:
2015-11-19 20:39:22
阅读次数:
202
每次面试都被问到KVO或者通知。今天也自己来看了看通知。1、NSNotificationCenter使用。使用步骤:添加观察者、发送通知、移除观察者。添加观察者:哪里需要接收通知,就在哪里加。例如:[[NSNotificationCenter defaultCenter]addObserver:se...
分类:
移动开发 时间:
2015-11-19 13:12:24
阅读次数:
239
KVC是键值编码,只要是继承了NSObject的对象都支持kvc,由于NSObject支持一个NSKeyValueCoding的非正式协议 [_receivedData setValue:@"moxue" forKey:@"name"];//修改值 [_receivedData valueForKe...
分类:
其他好文 时间:
2015-11-19 00:31:37
阅读次数:
222
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. //1.KVC的使用 // Key Value Codin...
分类:
移动开发 时间:
2015-11-16 12:14:44
阅读次数:
197
-?(void)addObserver:(NSObject?*)observer?forKeyPath:(NSString?*)keyPath?options:(NSKeyValueObservingOptions)options?context:(void?*)context; 第一个参数是观察者对象,负责处理监听事件;第二个是...
分类:
其他好文 时间:
2015-11-16 01:00:18
阅读次数:
297
1. 怎么修改只读(readonly)属性变量 使用KVC可以修改 kvc就是键值编码(key-value),可以通过指定的key获得想要的值value,而不是通过调用 Setter,Getter 方法访问 2.KVO 除了能观察属性外,能不能观察对象 不能观察对象 ...
分类:
移动开发 时间:
2015-11-14 23:20:11
阅读次数:
536
最近老翁在项目中多处用到了KVO,深感这种模式的好处。现总结如下:一、概述KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者了。KVO其实也是“观察者”...
分类:
移动开发 时间:
2015-11-12 19:50:23
阅读次数:
304
1、使用代理delegate的方法2、使用通知Notification的方法3、KVO等方法~~~~~~~~~~~~~~~~1、使用代理delegate的方法rootViewController (A)subVIewController (B).m实现效果:
分类:
移动开发 时间:
2015-11-09 19:00:07
阅读次数:
227
在cocoa透彻 框架中,观察者模式的具体应用有两个通知机制和kvo机制1.通知机制 与委托机制不同的是,前者是“一对多”的对象 之间的通信,后者是“一对一”的对象之间的通信。通知机制的可以1对多个控制器,1个控制器监听,其他控制器发出请求 。监听[[NSNotificationCenter def...
分类:
其他好文 时间:
2015-11-09 18:46:19
阅读次数:
168