你好,我对iPad编程非常新颖。任何人都可以解释如何在iPad中使用关键值观察器。我需要检查一个特定的变量值是否发生了变化,并基于此我触发一种方法。一种方法是使用NSTimer连续检查变量值,但我知道这可以通过使用关键值观察员更好地完成,因此请帮助我理解关键值观察者概念。预先感谢关于iPad中的关键值观察者
1
A
回答
2
假设您已声明财产@property (retain) NSNumber myNumber;
在您的界面。
然后您可以观察KVO的值变化。
观察变化(把这个在您的init
方法为例)
[self addObserver:self forKeyPath:@"myNumber" options:NSKeyValueObservingOptionNew context:nil];
然后实现下面的方法:
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
if ([keyPath isEqualToString:@"myNumber"]) {
// do stuff here
}
}
和删除观察者在dealloc方法:
[self removeObserver:self forKeyPath:@"myNumber"];
您可以参考Key-Value Observing Programming Guide获取更多信息mation。
+0
谢谢Jilouc希望这能解决我的问题。 – Hariprasad 2011-03-16 13:04:00
相关问题
- 1. 关键值观察QLPreviewController.currentPreviewItemIndex
- 2. NSoperation和关键值观察
- 3. 关于数据集的观察者
- 4. 关于观察者模式的原型
- 5. 有关键值观察的帮助
- 6. 关键值观察者和NSKVODeallocateBreak的错误
- 7. 关键值观察 - 如何观察对象的所有属性?
- 8. 观察者模式中的关系
- 9. 关键值观察对象被释放时观察removeObserver
- 10. Java中的观察者模式 - 观察者观察不同的,不相关的类型或类?
- 11. Laravel模型观察者与关系
- 12. 当观察者的观察者的寿命长于可观察到的
- 13. 关键值观察中的上下文参数的重要性
- 14. 被重新分配,而关键值观察者仍然在其中注册
- 15. 关于NSMutableArray的大小的监听器和观察者
- 16. Android中的键值观察
- 17. GWT中的关键价值观察(ala Cocoa)?
- 18. 在Objective C中观察的关键值Java
- 19. 在可可触摸中观察的关键值
- 20. 在UIView动画中观察的关键值
- 21. 如何在NSMutableArray中实现对象的关键值观察
- 22. 关于列表特定对象的观察者
- 23. 观察者关于opengl坐标系的位置在哪里?
- 24. 观察者python中的可观察类
- 25. 关于内存地址的观察点
- 26. 键值观察NSCache
- 27. 何时应该删除观察者?关于在删除观察者之前释放对象的错误
- 28. 观察者模式 - 观察者创建
- 29. Aurelia - 观察变化的相关值
- 30. 观察UITextView文本属性的关键值?
你可以更具体:你想观察哪个对象的哪个属性? – Jilouc 2011-03-15 16:25:20
嗨Jilouc。我有一个NSNumber对象,其值在类的不同方法中多次更改,我希望每次更改NSNumber的值时调用一个方法。 – Hariprasad 2011-03-16 11:50:27