如何将多个plist文件合并为一个?

时间:2016-02-26 20:52:26

标签: ios plist

刚开始,我真的不知道我在做什么。我被赋予了这个实习任务,我正在学习。我有多个plist文件,每个文件包含大约22个项目,并列出颜色值。我需要将所有这些文件合并为一个,我真的不确定如何去做。我有一个我需要经历的结构,而且我真的不知道如何去做。我被告知要在texteditor中打开plist然后将所有原始代码粘贴到一个文本文件中,这似乎不起作用,因为我最终只得到了我粘贴到文本文件中的第一个plist的值。你能帮忙的话,我会很高兴。感谢。

3 个答案:

答案 0 :(得分:11)

假设您的from.plist包含密钥1, 2,而to.plist包含2, 3

运行:

/usr/libexec/PlistBuddy -x -c "Merge from.plist" to.plist

to.plist将包含1, 2, 3

答案 1 :(得分:1)

有很多方法可以解决这个问题。默认情况下,plist是一种特殊形式的XML文件。如果你弄清楚语法,你实际上可以使用文本编辑器将多个文件的内容合并在一起,但你需要确保你做对了。

plist文件具有整个文件的特定标头。你不能只是将多个plist复制/粘贴在一起,因为它们会重复那个标题。

下一步的方法是以编程方式。如果你可以弄清楚这些文件包含的外部集合的类型(可能是数组或字典),那么你可以编写几行代码,这些代码在每个plist中作为数组读取,使用NSArray代码组合它们(假设它们包含数组)然后将组合数组保存回新的plist。正如vadian所说,你也可以使用NSPropertyListSerialization类。这是处理plist文件的一种更通用的方式,但它也更复杂,更难以弄清楚。

第三种方法是在Xcode中。如果右键单击plist文件并选择"在Xcode中打开"它应该给你Xcode的属性列表编辑器。然后,您可以将文件的内容复制并粘贴在一起,并将结果保存到新文件中。

答案 2 :(得分:0)

我想通了!!首先创建结构,或使用提供给您的模板。我建议在Xcode中打开这个模板/结构,因为它可以更容易地在列表中查看作为plist和源代码。打开您的模板作为源代码。然后在文本编辑器中打开每个plist,并将plist中的代码复制并粘贴到模板源代码中的相应区域,然后您可以在Xcode中将其作为属性列表进行查看,以确保它正确无误。这里唯一需要注意的是确保没有错误。否则这很棒!!