我有一个NSManagedObject子类,其中absencesNSMutableArray

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


我希望能够将项目添加到失踪数组;但是,如果执行[myRecord.absences addObject:SomeObj,则记录无法正确保存。 NSManagedObject几乎不知道我更新了absences数组。

但是,如果我将SomeObj添加到某些localAray中,然后设置myRecord.absences = localArray,则NSManagedObject可以正确保存。

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

最佳答案

完全正确,在第一种情况下,您要更改NSManagedObject视场之外的对象。要解决此问题,请Apple doc says以下内容


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


因此,用(copy)声明属性就足够了。

关于iphone - 如何将对象添加到存储在Core Data iOS数据库中的NSMutableArray?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14616897/

10-13 04:05