微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

xcode – NSMutableArray与核心数据= WORKS一起存储,但在更改数组后不能正常工作

我有一个带有NSMutableArray的NSManagedobject作为属性
@interface MyObject :  NSManagedobject  
{
}

@property (nonatomic,retain) id a1;

在数据模型中,它被声明为Transformable.我将Value Transformer字段保留为认值(浅灰色)NSKeyedUnarchiveFromData.

a1是作为对象的一部分创建的:

MyObject  *theObject = [NSEntityDescription insertNewObjectForEntityForName:@"MyObject" inManagedobjectContext: myManagedobjectContext];

并初始化:

a1 = [[NSMutableArray alloc] init];

使用[a1 insertObject:[NSNumber numberWithInt:0] atIndex:0]将对象添加到a1;

然后我在所有这些之后保存上下文.加载上下文后,将保存并加载存储在a1中的所有元素.所有工作都很好!

但是当现在a1更改时,例如通过向a1添加一个元素或更改a1中的任何元素并保存并加载上下文,a1的内容为UNCHANGED(它仍然与所有更改发生之前完全一样).改变不起作用!

顺便说一句,当应用程序运行时,对a1的所有更改都存储在a1中.

拜托,你能帮忙 – 这里发生了什么?

非常感谢您的帮助!

解决方法

数组内部的更改无法正常工作,因为Core Data无法进入数组.

简短的回答是不要这样做.这是没有理由在Core Data中存储数组(或字典).

在Core Data中创建一个新实体并创建一个关系.如果订单很重要,请在子表中放置一个订单属性.

不要将数组存储为二进制对象.

原文地址:https://www.jb51.cc/iOS/332874.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐