若想成为一个键的观察者,可添加如下代码。

[theAppDelegate addObserver:self forKeyPath:@"fido" options:NSKeyValueObservingOptionOld context:nil];

上述方法定义在NSObject中,实际上类似于说,“无论何时fido改变了就给我发个消息”,options和context决定fido改变时将哪些额外的数据与消息一起发送出去。触发方法过程如下

-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context

此例中的keyPath应该是@“fido”,object应该是self代表的对象,context是添加键观察中的context的参数change是保存fido旧值和新值的字典(键值对的集合)

移除观察者

[theAppDelegate removeObserver:self forKeyPath:@"fido"];