2

Core Dataを使用していますが、データに障害があると説明されている管理対象オブジェクトがあります。
ドット構文でプロパティにアクセスしようとしましたが、nilです。-[object valueForKey:@"key"]
を使用する場合; オブジェクトが障害を発生させ、正しい値を取得します。それ以降、 object.keyを使用してアクセスでき、機能します。

プロパティにアクセスした後でもオブジェクトデータに障害が発生するのはなぜですか?

編集:最初に、問題のプロパティがNSDictionaryタイプであり、モデルでTransformableとして定義されていることを追加します。

コードは単純です。
NSDictionary *d = object.property;ここで、objectはCoreDataによって管理されるNSManagedObjectです。この行の後、dはnilです。

NSDictionary *d = [object valueForKey:@"property"]; この行の後、dは正しい値です。

4

1 に答える 1

4

しばらく前に同様の問題を見ていました。モデルクラスには、@dynamicではなく@synthesizeプロパティがありました。

于 2012-09-09T18:48:26.327 に答える