0

我有一个子NSManagedObjectabsencesNSMutableArray

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

我希望能够将项目添加到缺勤数组中;但是,如果我这样做[myRecord.absences addObject:SomeObj,记录将无法正确保存。似乎NSManagedObject不知道我更新了absences数组。

不过,如果我添加SomeObj到 some localAray, then set myRecord.absences = localArray,则NSManagedObject保存正确。

有人可以解释这种行为以及我如何避免它......谢谢

4

1 回答 1

1

你完全正确,在第一种情况下,你正在更改 NSManagedObject 视野之外的对象。为了解决这个问题,Apple doc 说如下

对于可变值,您应该将值的所有权转移给 Core Data,或者实现自定义访问器方法以始终执行复制。

因此,声明您的财产(copy)就足够了。

于 2013-01-31T03:12:48.753 回答