iOS:将两个 NSMutableArray 存储在 .plist 文件中

Posted

技术标签:

【中文标题】iOS:将两个 NSMutableArray 存储在 .plist 文件中【英文标题】:iOS: store two NSMutableArray in a .plist file 【发布时间】:2011-05-20 10:26:46 【问题描述】:

我想在 AppDelegate 中存储两个用作全局数组的 NSMutableArray。这两个数组也存储在 NSUserDefaults 中。现在我想知道我必须如何创建这个文件,以及每次修改它们时如何存储这两个数组。你能帮帮我吗?

【问题讨论】:

【参考方案1】:

    创建一个包含两个 NSMutableArrays 的 NSArray。

    NSArray *array = [NSArray arrayWithObjects:<#(id), ...#>, nil];
    

    将数组写入文件。

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
    NSString *libraryDirectory = [paths objectAtIndex:0];
    NSString *location = [libraryDirectory stringByAppendingString:@"/somefilename.plist"];
    [array writeToFile:location atomically:YES];
    

    从文件中加载数组。

    NSString *path = [bundle pathForResource:@"file" ofType:@"plist"];
    NSArry *array = (path != nil ? [NSArray arrayWithContentsOfFile:location] : nil);
    

【讨论】:

当我再次保存它时?我想换,怎么办? 你检查过你的 NSArray 不是 nil 吗? 如何从数组中提取NSMutableArray(代码中的NSArray)?

以上是关于iOS:将两个 NSMutableArray 存储在 .plist 文件中的主要内容,如果未能解决你的问题,请参考以下文章

如何在ios的同一个Nsmutablearray中存储旧值和新值

从iOS中的两个不同的NSMutableArray中删除同一行

将自定义对象存储到 NSMutableArray,然后将此 NSMutableArray 存储到 NSUserDefaults

使用 NSMutableArray 保存到核心数据

如何在ios中分隔数组

iOS/Objective-C:将 NSString 对象添加到 NSMutableArray,NSMutableArray 为 (null)