キー値コーディングに使用するのに適した方法はどれですか? MyControllerクラスに変数myVariableがあると仮定しましょう。どれが良いか、どれが悪いか、そしてその理由を誰かが書いてくれませんか。
1.
// Method in the MyController class.
- (NSString*)myVariableKVC {
return NSStringFromSelector(@selector(myVariable));
}
[myController addObserver:self
forKeyPath:[myController myVariableKVC]
options:NSKeyValueObservingOptionNew
context:nil];
2.
[myController addObserver:self
forKeyPath:@"myVariable"
options:NSKeyValueObservingOptionNew
context:nil];
私の観点からは、最初の部分の方が優れています。ハードコードされた文字列はありません。Refactor -> Rename...を使用して名前を変更すると、名前が変更されます。