Ios 是否可以使用NSKeyedArchiver将NSMutableArray保存到核心数据中?
我的项目中有2个NSMutableArray,他们告诉我,由于核心数据不支持NSMutableArray,我必须使用NSKeyedArchiver对其进行归档和取消归档,才能将其保存到核心数据中。我已经为我的tableview实现了一个NSFetchResultsController,我如何在NSKeyedArchiver中保存NSMutableArray,然后在核心数据中使用它?我将在下面发布我的数组和NSKeyArchiver的一些代码Ios 是否可以使用NSKeyedArchiver将NSMutableArray保存到核心数据中?,ios,objective-c,uitableview,core-data,nsmutablearray,Ios,Objective C,Uitableview,Core Data,Nsmutablearray,我的项目中有2个NSMutableArray,他们告诉我,由于核心数据不支持NSMutableArray,我必须使用NSKeyedArchiver对其进行归档和取消归档,才能将其保存到核心数据中。我已经为我的tableview实现了一个NSFetchResultsController,我如何在NSKeyedArchiver中保存NSMutableArray,然后在核心数据中使用它?我将在下面发布我的数组和NSKeyArchiver的一些代码 - (instancetype)init {
- (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];
....
既然这两个阵列已存档,我将如何处理它们?我以后如何才能添加到它们中
我的核心数据模型很简单,它是一个名为“Data”的实体,有两个类型为string的属性,分别是“title”和“desc”。这两个属性用于存储数组
我对这个项目的希望是允许用户在已经构成单元格的现有数据的基础上,向tableview添加新对象,我希望在核心数据中这样做。我知道NSFetchResultController,但我很难将这一切结合起来让它正常工作,欢迎任何帮助我朝着正确的方向前进您可以在核心数据中保存不变的数据。你可以通过NSKeyedArchiver从可变变为不可变。NSUserDefaults也是如此。看起来更像是您应该拥有一个具有
名称和描述属性的核心数据实体,然后在Core Datafunc getDataFromArray(arrayData:NSArray?->NSData{返回NSKeyedArchiver.archivedDataWithRootObject(arrayData!)中创建许多这样的对象 }