如何在 PList 中添加多个数组

Posted

技术标签:

【中文标题】如何在 PList 中添加多个数组【英文标题】:how to add multiple Array in PList 【发布时间】:2013-10-17 09:54:47 【问题描述】:

我在那个 for 循环上有一个 for loop,我必须存储 Multiple Array in Plist。但是我的值正在重叠,并且没有创建多个数组..我正在做的是

for (i=0;i<10;i++) 
    plistDict=[NSMutableDictionary dictionaryWithContentsOfFile:filePath];
    [plistDict setObject:@"a" forKey:@"b"];
    [plistDict writeToFile:filePath atomically:YES];

此代码不会创建多个数组。这只会存储一次,但我需要创建多次数组。并且每次它都应该存储对象和密钥。我该怎么办?

【问题讨论】:

我不明白...我真的没有在您的代码中看到任何数组。但是,您正在创建 10 个字典,并将它们写入文件。而且您对同一个文件执行 10 次相同的操作 - 这根本没有意义 :) 是的,但这将只创建一个字典,因为下次循环移动时...再次 PlistDict 将打印相同的东西...重叠值..但我想创建一个新字典/ 数组 【参考方案1】:

每次用新字典替换旧字典时,在上面的代码中。这就是你在 for 循环结束时只有字典的原因。

试试这个

NSMutableArray *arr = [NSMutableArray alloc]init];
for (i=0;i<10;i++)

    plistDict=[NSMutableDictionary dictionaryWithContentsOfFile:filePath];
    [plistDict setObject:@"a" forKey:@"b"];
    [arr addObject:plistDict];

[arr writeToFile:filePath atomically:YES];

【讨论】:

【参考方案2】:

试试这个。

plistDict=[NSMutableDictionary dictionaryWithContentsOfFile:filePath];
    for (i=0;i<10;i++)
    
        NSMutableArray *array=[[NSMutableArray alloc] initWithObjects:@"1",@"2",@"3", nil];
        [plistDict setObject:array forKey:[NSString stringWithFormat:@"%d",i]];
    
    [plistDict writeToFile:filePath atomically:YES];

【讨论】:

以上是关于如何在 PList 中添加多个数组的主要内容,如果未能解决你的问题,请参考以下文章

Swift:如何在 plist 的数组中读取多个数组?

我们如何在 NSMutableArray 中添加带有 Image 作为对象的 NSMutableDictionary 并将这个数组写入 Plist

如何将元素添加到 info.plist 数组?

如何使用 Swift 将新数组数据添加到 plist 文件中的 NSDictionary

如何使用 PlistBuddy 将多个条目添加到 plist 字典

如何将自定义数组保存/重新加载到 plist