0

私はNSManagedObjectサブクラスを持っていabsencesますNSMutableArray

@interface Record : NSManagedObject
@property (nonatomic, retain) id absences;
@end

欠席配列にアイテムを追加できるようにしたい。ただし、これを行うと[myRecord.absences addObject:SomeObj、レコードが正しく保存されません。アレイNSManagedObjectを更新したことを知らないようです。absences

それでも、SomeObjいくつかに追加してからlocalAray設定myRecord.absences = localArrayすると、NSManagedObject正しく保存されます。

誰かがこの行動と私がそれを避ける方法を説明できますか...ありがとう

4

1 に答える 1

1

正解です。最初のケースでは、NSManagedObjectの視野外でオブジェクトを変更しています。これを解決するために、Appleのドキュメントは次のように述べています

可変値の場合、値の所有権をCore Dataに譲渡するか、カスタムアクセサーメソッドを実装して常にコピーを実行する必要があります。

したがって、でプロパティを宣言する(copy)だけで十分です。

于 2013-01-31T03:12:48.753 に答える