0

我已经阅读了大量关于 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");
}
4

2 回答 2

1

尝试这个:

[switchControl  addObserver:self
    forKeyPath:@"on"
    options:NSKeyValueObservingOptionNew
    context:NULL];
于 2010-07-23T12:34:34.290 回答
0

您可以使用 addTarget 代替 addObserver,如下所示:

[switchControl addTarget:self action:@selector(photoSwitchChanged:)forControlEvents:UIControlEventValueChanged];

其中目标函数定义如下:

- (void)photoSwitchChanged:(UISwitch*)switch {
}
于 2012-07-31T02:48:33.530 回答