有没有办法从plist文件2引用plist文件1中的键?

时间:2013-12-03 02:35:08

标签: ios objective-c nsarray nsdictionary plist

我有一个像这样的Plist 1设置:

Root
    EquipmentSlide1             Dictionary
        baseImage               String
        customImageLocation     Array
            Item 0              String
            Item 1              String
     EquipmentSlide2          Dictionary
        baseImage               String
        customImageLocation     Array
            Item 0              String
            Item 1              String

我有这样的Plist 2设置:

Root
     EquipmentDeck1             Array        
        Item 0                  Dictionary     EquipmentSlide1  

所以我想要做的是将Plist 2中的值0设置为Plist 1中EquipmentSlide1的Dictionary对象。就像一个链表?有可能这样做,如果是这样的话怎么样?

3 个答案:

答案 0 :(得分:0)

不,这是不可能的。 plist只是一种文件格式。您有两种选择:

  1. 将两个文件合并为一个文件
  2. 为自己创建一个约定,以便能够引用其他文件并编写自定义代码以同时加载这两个文件

答案 1 :(得分:0)

一旦将两个plist加载到数组中,就可以完成此操作。您将不得不使第二个plist的数组(及其子数组)变得可变。然后,您将需要遍历数组并将第一个数组中的正确字典添加到第二个plist的数组结构中的适当位置。

顺便说一下 - 所有这一切都毫无意义。为什么不把两个plist合二为一呢?

答案 2 :(得分:0)

Drewag和Rmaddy是对的。

准确地说,它是存储在NSBundle中的XML格式文件。 Apple没有以高级方式提供它,因此它只能存储不可变的基本类,如NSString,NSArray,NSDictionary。由于其局限性,大多数程序员将使用它来存储和检索用户的设置。然而,频繁使用的数据也将存储在美国的邮政编码中。所以,如果你的建议超出这两个。我建议您应该找到另一种方法来实现它。