use*_*184 7 xcode core-data nsmutablearray
我有一个带有NSMutableArray的NSManagedObject作为属性:
@interface MyObject : NSManagedObject
{
}
@property (nonatomic, retain) id a1;
Run Code Online (Sandbox Code Playgroud)
在数据模型中,它被声明为Transformable.我将Value Transformer字段保留为默认值(浅灰色)NSKeyedUnarchiveFromData.
a1是作为对象的一部分创建的:
MyObject *theObject = [NSEntityDescription insertNewObjectForEntityForName:@"MyObject" inManagedObjectContext: myManagedObjectContext];
Run Code Online (Sandbox Code Playgroud)
并初始化:
a1 = [[NSMutableArray alloc] init];
Run Code Online (Sandbox Code Playgroud)
对象添加到a1中 [a1 insertObject:[NSNumber numberWithInt:0] atIndex: 0 ];
然后我在所有这些之后保存上下文.加载上下文后,将保存并加载存储在a1中的所有元素.ALL WORKS WELL!
但是当现在a1更改时,例如通过向a1添加一个元素或更改a1中的任何元素并保存并加载上下文,a1的内容为UNCHANGED(它保持与所有更改发生之前完全相同). CHANGES DON'T WORK!
顺便说一下,当应用程序运行时,对a1的所有更改都存储在a1中.
拜托,你能帮忙 - 这里发生了什么?
非常感谢您的帮助!
Mar*_*rra 20
由于Core Data无法进入数组,因此Array内部的更改无法正常工作.
简短的回答是不要这样做.这是没有理由在Core Data中存储数组(或字典).
在Core Data中创建一个新实体并创建一个关系.如果订单很重要,请在子表中放置一个订单属性.
不要将数组存储为二进制对象.
| 归档时间: |
|
| 查看次数: |
7953 次 |
| 最近记录: |