【问题标题】:I have 2 NSMutableArrays that I want to store in Core Data我有 2 个要存储在核心数据中的 NSMutableArrays
【发布时间】:2017-04-11 22:44:58
【问题描述】:

我有 2 个 NSMutableArrays,它们将用于填充表格单元格,我不确定核心数据是否可以处理 NSMutableArrays,但有没有办法用已经存在的数据保存这些数组?以后是否也可以添加到这些数组中?我的目标是允许用户同时添加新的代码和描述,从而导致添加新的表格单元格。这是我创建两个数组的方法,谁能告诉我如何将它们放入核心数据中?

@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”。我只需要了解如何将其存储在核心数据中,以便我可以使用它。有什么想法吗?

莫尔斯.h -

#import <CoreData/CoreData.h>

@interface Morse : NSManagedObject

@property(strong,nonatomic)NSString *codeTitle;
@property(strong,nonatomic)NSString *codeDesc;

@end

【问题讨论】:

    标签: ios objective-c arrays core-data nsmutablearray


    【解决方案1】:

    您可以通过以下方式将数组数据存储在其中:

    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]; // 其他数组也一样

    【讨论】:

    • 好的,谢谢,太好了!但是我以后还能添加到这些数组中,还是归档它们会使它们不可变?
    • 不,当您需要输入数据时,它们将是可变的,您可以将其解压缩为 NSMutableArray 并再次添加,将其存档并保存到核心日期。
    • @jumpman007 如果它有效,请接受并支持答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-02
    • 1970-01-01
    • 2015-02-03
    相关资源
    最近更新 更多