我有 2 个 NSMutableArrays 我想存储在核心数据中
I have 2 NSMutableArrays that I want to store in Core Data
我有 2 个 NSMutable 数组,它们将用于填充 table 单元格,我不确定核心数据是否可以处理 NSMutable 数组,但是否有保存这些数组中已有数据的方法?以后是否也可以添加到这些数组中?我的目标是允许用户同时添加新代码和描述,从而导致添加新的 table 单元格。这是我如何创建我的两个数组谁能告诉我如何将它们放入核心数据中?
@property(strong,nonatomic)NSMutableArray *presetList;
@property(strong,nonatomic)NSMutableArray *codeDescArray;
- (instancetype)init {
self = [super init];
if (self) {
self.presetList = [NSMutableArray arrayWithObjects:@"AS",
@"BCNU",
@"CL",
@"CT",
@"CUL",
@"K",
@"QSL",
@"QSL?",
@"QRX?",
@"QRV",
@"QRV?",
@"QTH",
@"QTH?",
@"R",
@"SN",
@"SOS",
@"73",
@"88",
nil];
self.codeDescArray = [NSMutableArray arrayWithObjects:@"Wait",
@"Be seeing You",
@"Going off air",
@"Start Copying",
@"See you later",
@"Over",
@"I acknowledge receipt",
@"Do you acknowledge",
@"Should I wait",
@"Ready to copy",
@"Are you ready to copy?",
@"My location is ...",
@"What is your location?",
@"Roger",
@"Understood",
@"Distress message",
@"Best regards",
@"Love and kisses",
nil];
}
return self;
}
我使用委托传回数据,但我想使用核心数据将新添加的字符串保存到 "presetList" & "codeDescArray"
我还创建了我的核心数据模型,我的实体名为 "Morse",还有两个名为 "codeTitle" 的字符串类型属性和 "codeDesc" 字符串类型的属性。这些属性分别负责将数据保存到"presetList"和"codeDescArray"。我只需要 运行 了解如何将其存储在核心数据中,以便我可以使用它。有什么想法吗?
Morse.h -
#import <CoreData/CoreData.h>
@interface Morse : NSManagedObject
@property(strong,nonatomic)NSString *codeTitle;
@property(strong,nonatomic)NSString *codeDesc;
@end
您可以通过以下方式将数组数据存储在其中:
NSData *codeTitleData = [NSKeyedArchiver archivedDataWithRootObject: self.presetList];
myEntity.codeTitle = arrayData;
[self saveContext]; //Self if we are in the model class // same for other array too
您可以将数组取回为
NSMutableArray *array = [NSKeyedUnarchiver unarchiveObjectWithData:anEntity.codeTitle];
// 其他数组相同
我有 2 个 NSMutable 数组,它们将用于填充 table 单元格,我不确定核心数据是否可以处理 NSMutable 数组,但是否有保存这些数组中已有数据的方法?以后是否也可以添加到这些数组中?我的目标是允许用户同时添加新代码和描述,从而导致添加新的 table 单元格。这是我如何创建我的两个数组谁能告诉我如何将它们放入核心数据中?
@property(strong,nonatomic)NSMutableArray *presetList;
@property(strong,nonatomic)NSMutableArray *codeDescArray;
- (instancetype)init {
self = [super init];
if (self) {
self.presetList = [NSMutableArray arrayWithObjects:@"AS",
@"BCNU",
@"CL",
@"CT",
@"CUL",
@"K",
@"QSL",
@"QSL?",
@"QRX?",
@"QRV",
@"QRV?",
@"QTH",
@"QTH?",
@"R",
@"SN",
@"SOS",
@"73",
@"88",
nil];
self.codeDescArray = [NSMutableArray arrayWithObjects:@"Wait",
@"Be seeing You",
@"Going off air",
@"Start Copying",
@"See you later",
@"Over",
@"I acknowledge receipt",
@"Do you acknowledge",
@"Should I wait",
@"Ready to copy",
@"Are you ready to copy?",
@"My location is ...",
@"What is your location?",
@"Roger",
@"Understood",
@"Distress message",
@"Best regards",
@"Love and kisses",
nil];
}
return self;
}
我使用委托传回数据,但我想使用核心数据将新添加的字符串保存到 "presetList" & "codeDescArray"
我还创建了我的核心数据模型,我的实体名为 "Morse",还有两个名为 "codeTitle" 的字符串类型属性和 "codeDesc" 字符串类型的属性。这些属性分别负责将数据保存到"presetList"和"codeDescArray"。我只需要 运行 了解如何将其存储在核心数据中,以便我可以使用它。有什么想法吗?
Morse.h -
#import <CoreData/CoreData.h>
@interface Morse : NSManagedObject
@property(strong,nonatomic)NSString *codeTitle;
@property(strong,nonatomic)NSString *codeDesc;
@end
您可以通过以下方式将数组数据存储在其中:
NSData *codeTitleData = [NSKeyedArchiver archivedDataWithRootObject: self.presetList];
myEntity.codeTitle = arrayData;
[self saveContext]; //Self if we are in the model class // same for other array too
您可以将数组取回为
NSMutableArray *array = [NSKeyedUnarchiver unarchiveObjectWithData:anEntity.codeTitle];
// 其他数组相同