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

addObserverの代わりに、次のようにaddTargetを使用できます。

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

ここで、ターゲット関数は次のように定義されています。

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