2

KVCを使用してオブジェクトのプロパティを設定する自動逆シリアル化コードがあります。プリミティブ (int、double、float) のデシリアライゼーション サポートを追加する必要がありますが、プリミティブで " setValue: forKey: " を使用することができません (またはその方法が不明です)。プロパティのルックアップは実行時に実行する必要があります。何か案は?ありがとう。

4

1 に答える 1

5

を介してそのような値を取得するvalueForKey:と、値が NSNumber (または特定の構造型の場合は NSValue) オブジェクトにボックス化されます。

同じことを別の方法で行う必要があります。目的の値を自分でボックス化し、そのオブジェクトを渡します。setValue:forKey:プロパティのアクセサーに渡す/関連する ivar に格納する前に、ボックス化を解除します。

于 2010-08-15T07:41:22.740 に答える