インスタンス変数を単純化するオブジェクトがあります。一部は NSString で、一部は unsigned int などです。次のようなコードを記述できるという点で、Key-Value コーディングはスクリプト可能であるという印象を受けました。
id key, value;
key = [[attributes objectAtIndex:j] name];
value = [[attributes objectAtIndex:j] stringValue];
[obj setValue:value forKey:key];
ここで stringValue と name を使用している理由は、TouchXML を使用して XML フィードからオブジェクトを構築しているためです。
整数に何かを割り当てようとすると、上記のコードがクラッシュします。unsigned int を NSString のインスタンスに変更すると、ランタイム クラッシュは発生しません。Key-Value コーディングは、これらの問題を検出するのに十分スマートであると理解していました。
私の可能な解決策は何ですか?独自のインスタンス変数を持つ多くの異なるクラスで同じメソッドを実行できるように、これを可能な限り抽象化するにはどうすればよいですか?
セッターを実際にオーバーライドし、NSNumber を使用して文字列を int 型に変換する最もエレガントな方法は、KVC によって既に処理されていると思われますか?