是否可以使用NSKeyedArchiver将NSMutableArray保存到核心数据中?
我已经在我的项目2个NSMutableArrays,被告知,由于核心数据不支持的NSMutableArray,我将不得不存档,并与的NSKeyedArchiver解除封存,以便能够将其保存到核心数据。我实现了一个NSFetchResultsController我的tableview,我怎么会去拯救的NSMutableArray中的的NSKeyedArchiver,然后使用核心数据?我会在我的数组和NSKeyArchiver下面发布一些代码。是否可以使用NSKeyedArchiver将NSMutableArray保存到核心数据中?
- (instancetype)init {
self = [super init];
if (self) {
self.nameList = [NSMutableArray arrayWithObjects:@"1",
@"2",
@"3",
@"4",
@"5",
nil];
self.descArray = [NSMutableArray arrayWithObjects:@"desc1",
@"desc2",
@"desc3",
@"desc4",
@"desc5",
nil];
}
return self;
}
// How arrays are archived
NSData *titleData = [NSKeyedArchiver archivedDataWithRootObject: self.nameList];
.... //Not sure what to do with the archived data
NSData *descData = [NSKeyedArchiver archivedDataWithRootObject: self.descArray];
....
现在他们被归档后我该怎么处理这两个数组?我将如何能够在以后添加到他们?
我的核心数据模型是简单,它是所谓的“数据”的实体,有一个名为“标题”和“说明”字符串类型2个属性。这2个属性用于存储数组。
我对这个项目的希望是让用户的新对象添加到tableview中,对现有的数据组成的细胞已经之上,我想在核心数据这件事。我知道NSFetchResultController的,但我有麻烦带来这一切在一起,得到它的工作,任何帮助引导我朝着正确的方向欢迎
您可以保存在核心数据不可改变的数据。你可以通过NSKeyedArchiver将可变的变为不可变的。与NSUserDefaults相同的东西。
这些对象的你能不能给代码的例子吗? – jumpman007
func getDataFromArray(arrayData:NSArray?) - > NSData { return NSKeyedArchiver.archivedDataWithRootObject(arrayData!) } – shiv
它看起来更像你应该有'name'和'description'属性的核心数据实体,然后创建了一些核心数据 – Paulw11