我已经阅读了大量关于KVO的文档和教程,但我还没有发现任何我能够为我的应用程序抽象的内容。我有一个表视图,它使用自定义UITableViewCell类来提供打开/关闭选项的界面。该单元格有一个UISwitch,我想“绑定”到我的模型的布尔属性。我希望它在渲染单元格时应该为托管对象适当地设置控件的on属性,当我翻转该开关控件时,模型对象将更新为新值。
我开始研究它,但我认为合适的第一步是不起作用。
[switchControl addObserver:self
forKeyPath:@"on"
options:0
context:NULL];
- (void)observeValueForKeyPath:(NSString *)keyPath
ofObject:(id)object
change:(NSDictionary *)change
context:(void *)context
{
NSLog(@"value changed");
}
答案 0 :(得分:1)
答案 1 :(得分:0)
您可以使用addTarget代替addObserver,如下所示:
[switchControl addTarget:self action:@selector(photoSwitchChanged:)forControlEvents:UIControlEventValueChanged];
其中目标函数定义如下:
- (void)photoSwitchChanged:(UISwitch*)switch {
}