是否有更好的方式来组织我的Plist

时间:2011-03-19 05:49:50

标签: iphone objective-c xcode plist

我正在制作iPhone应用程序。

表视图有3个视图:(1)肌肉 - > (2)练习(对于那个肌肉) - > (3)运动的细节

这是我现在拥有的plist,它的组织方式是因为我遵循了如何使它与表一起工作的教程,这是他们使用的格式。

以下是我的.plist的几张照片。我有两张照片,所以你可以看到肌肉的名称标签仍然在同一个列表中(就在子项目之后)。

http://www.box.net/shared/static/4i3yyjg0iq.png

http://www.box.net/shared/static/b1kkep55vd.png

谢谢!

编辑:

这是来自文本编辑的plist。 (很抱歉由于某些原因我无法获得该帖子的间距)。

<array> <dict>
    <key>ItemChild</key>
    <array>
        <dict>
            <key>name</key>
            <string>Ab Roller</string>
        </dict>
        <dict>
            <key>name</key>
            <string>Ab Crunch Machine</string>
        </dict>
        <dict>
            <key>name</key>
            <string>Advanced Kettlebell Windmill</string>
        </dict>
         </array>
    <key>name</key>
    <string>Abdominals</string>
</dict>


</array>
    <key>name</key>
    <string>Abdominals</string>
</dict>

1 个答案:

答案 0 :(得分:0)

您的.plist只是程序运行时需要在内存中的信息磁盘上的副本。如果您可以获取信息,并且您的代码有效,那么担心.plist文件的格式化对我来说没有多大意义。无论什么有效,在这种情况下都有效。

更新:好的,我认为您确实可以使这更简洁,更有意义。这是我的想法。

info的基本容器是一个数组。数组中的每个项目都是字典。字典中的键/对对象是肌肉的名称,以及一系列练习。 exercise数组中的每个项目都是另一个字典,其键/对对象是练习的名称,以及您决定用于细节的任何内容。最终结果如下:

<array>
  <dict>
    <key>muscleName</key>
    <string>Abdominals</string>
    <key>exercises</key>
    <array>
      <dict>
        <key>exerciseName</key>
        <string>Ab Roller</string>
        <key>exerciseDetail</key>
        <string></string> <!-- or possibly data -->
      </dict>
      <dict>
        <key>exerciseName</key>
        <string>Ab Crunch Machine</string>
        <key>exerciseDetail</key>
        <string></string>
      </dict>
      <dict>
        <key>exerciseName</key>
        <string>Advanced Kettlebell Windmill</string>
        <key>exerciseDetail</key>
        <string></string>
      </dict>
      <!-- more exercises? -->
    </array>
    <!-- End Abdominals -->
  </dict>
  <dict>
    <key>muscleName</key>
    <string>AnotherMuscle</string>
    <key>exercises</key>
    <array>
      <!-- dicts of the exercises for this muscle -->
    </array>
    <!-- End AnotherMuscle -->
  </dict>
  <!-- more muscles -->
</array>

我认为这将使您的.plist创建更容易,并且当您进入该阶段时,使您的编码更容易,更易读。

如果你有大量的信息(听起来像你这样做),你也可以考虑将它分成三个(或更多)文件:肌肉名称,练习,练习细节。