标签:
代理设计模式的作用:
代理设计模式的总结:
代理设计模式的开发步骤
// aa对象在通知中心发出了cc通知 [[NSNotificationCenter defaultCenter] postNotificationName:@"cc" object:@"aa"]; //bb对象监听了任何对象发出的cc通知,一旦有对象发出了cc通知,bb对象就会调用它的test方法 [[NSNotificationCenter defaultCenter] addObserver:bb selector:@selector(test) name:@"cc" object:nil];
// cc监听了aa的name属性的改变 [aa addObserver:cc forKeyPath:@"name" options: NSKeyValueObservingOptionOld context:nil]; // cc得实现监听方法 /** * 当监听到object的keyPath属性发生了改变 */ - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { NSLog(@"监听到%@对象的%@属性发生了改变, %@", object, keyPath, change); }
注意
:在对象销毁的时候要移除观察者
标签:
原文地址:http://www.cnblogs.com/luoze/p/5467948.html