我有一个核心数据模型实体NoteObject
,其transformable
类型arrayOfTags
。在NoteObject.h
文件中,它是NSManagedObject
的子类,arrayOfTags声明为:
NSMutableArray *arrayOfTags;
@property (nonatomic, retain) NSMutableArray *arrayOfTags;
//.m
@dynamic arrayOfTags;
问题是不会保存对此阵列所做的更改。 Someone suggested以下作为解决方案:
如果您使用的类的可变和不可变版本 表示属性 - 例如NSArray和NSMutableArray - 你应该 通常将get访问器的返回值声明为不可变的 即使内部模型使用可变对象,也是对象。
但是我不确定这意味着什么。我如何按照这些说明处理我的案件?
答案 0 :(得分:1)
在此期间,即使您找到了解决方法,也请尝试以下方法:
[noteObject willChangeValueForKey:@"arrayOfTags"];
// make changes to noteObject.arrayOfTags
[noteObject didChangeValueForKey:@"arrayOfTags"];
答案 1 :(得分:1)
为核心数据实施访问者功能因您的关系模型而异。这个document应该可以帮助您入门。很可能你将使用这个设置为你的getter:
- (NSArray*)data
{
[self willAccessValueForKey:@"data"];
NSArray* array = [[NSArray alloc] initWithArray:arrayOfTags copyItems:YES];
[self didAccessValueForKey:@"data"];
return array;
}
请注意,上面的代码段只是一个示例,必须进行修改才能供您使用。