コアデータに一時プロパティーを設定する際に問題があります。私が解決しようとしている問題は次のとおりです。コアデータを使用してオブジェクトのコレクションが正常に格納されています。このコレクションは本質的には読み取り専用のコレクションですが、実行時に、別のオブジェクト(この場合はUIImage)をコレクションの各アイテムに関連付ける必要があります。私はUIImagesを格納する必要はありません。純粋に実行時の関連付けです。私が実際に必要とするのは、後でUIImageをドロップできるコレクション内の各オブジェクトに「プレースホルダ」です。コアデータと一時プロパティー
一時属性が正しいことのように思えると、このために、コアデータの参照ドキュメントは、私は私が行っているデータモデルの「未定義のタイプのオプション、一時属性」に設定する必要があることを教えてください:
さらに、実装オブジェクトに対応するプロパティを定義する必要はありませんが、カスタムアクセサの&セッタメソッドを記述する必要があることがわかります。次のように私は、ドキュメント内の例に基づいてこれらのメソッドをモデル化しました:
- (void)setDisplayImage:(UIImage *)anImage {
[self willChangeValueForKey:@"displayImage"];
[self setPrimitiveValue:anImage forKey:@"displayImage"];
[self didChangeValueForKey:@"displayImage"];
}
と:
- (UIImage *)displayImage {
[self willAccessValueForKey:@"displayImage"];
UIImage *anImage = [self primitiveDisplayImage];
[self didAccessValueForKey:@"displayImage"];
if (anImage == nil) {
NSData *displayImageData = [self displayImageData];
if (displayImageData != nil) {
anImage = [NSKeyedUnarchiver unarchiveObjectWithData:displayImageData];
[self setPrimitiveDisplayImage:anImage];
}
}
return anImage;
}
私は厳しいのために書かれている繰延「書き込み」方法(willSave)もあります上記のように、私は決してこれらのオブジェクトを店に戻すことはしません。
私が得ている問題は、 - (UIImage *)displayImage {primitiveDisplayImageとsetPrimitiveDisplayImageのメソッドです。基本的に、コンパイラは、これらの2つのメソッドで "オブジェクトXが 'primitiveDisplayImage' .. 'などに応答しない可能性があるという警告をスローします。 しかし、ドキュメントからの私の理解はこれらのプリミティブアクセサ/セッターが自動的に作成されるということです。事件である。 誰でもこの問題を解決するのに役立つ人は誰ですか? 多くのありがとう