"enabled@ プロパティが変更されたかどうかを確認する textFields にオブザーバーがあります。
(void) observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *) context;
{
UITextField *txtField = (UITextField *)object;
BOOL new = [[change objectForKey:NSKeyValueChangeNewKey] boolValue];
BOOL old = [[change objectForKey:NSKeyValueChangeOldKey] boolValue];
if ((new != old) && (new = YES))
{
[self fadeDisable:txtField];
}
else if ((new != old) && (new = NO))
{
[self fadeEnable:txtField];
}
int new と int old を使用すると、プロパティが有効かどうかを定義する 1 または 0 が返されると思いましたが、NSLog を使用して何を返すかを確認すると、長い数字の文字列になります。
ドキュメントを調べたところ、objectForKey は実際には整数ではなく ID を返すようですが、どうすればよいかわかりません。
編集:無効から有効(またはその逆)になったかどうかを判断しようとする比較用のコードを追加しました。また、推奨されるように boolValue 修正を追加しました。
意図した結果が得られず、正しいメソッドが呼び出されません。それが正しいか?ありがとう