基于另一个创建iOS plist

时间:2012-03-26 12:06:18

标签: ios plist

我对iOS开发很新,我遇到了问题。我有一个包含大量不同动物信息的plist。 plist是一系列字典,每个字典都是动物。每个字典都有一个叫做“类型”的键,它是动物的类型(猫,狗,鸟等)。我希望我的应用程序首先显示一个列出所有可能类型的表视图。当用户选择类型时,他们将转到另一个列表视图,该视图列出了所选类型的所有动物。然后,他们可以选择特定的动物,并显示另一个视图,其中包含有关该特定动物的所有详细信息。 我认为解决这个问题的最佳方法是,当用户选择动物的“类型”时,将生成一个新的plist,其中包含原始plist中具有与用户选择的“type”键匹配的目录条目。我该如何实现呢?这个逻辑是否在第二个表视图的viewDidLoad方法中?一旦创建了仅包含感兴趣的动物的plist,cellForRowAtIndexPath方法将显示动物列表? 谢谢你的帮助! 大卫

1 个答案:

答案 0 :(得分:0)

首先:在这种情况下你不应该生成任何新的plist ...如果你想根据你的数据查询存储一个字典列表,它应该进入一个NSMutableDictionary /的NSDictionary。在创建每个表之前,您应该使用过滤后的数据构建其中一个字典,并将其作为数据源传递给表。

第二:我尝试使用数据库而不是plist来使您的查询更容易管理。

第三:尽可能规范化您的数据,因此,有一个“动物类型”的数据库表(或者如果你去那条路线就是plist)和一个db表/ plist的“动物” “......然后用id而不是名字引用动物的类型。如果您将来更改该名称,您将有一段时间试图找到每一个事件。另外,这种方式不那么多了;一次意外的拼写错误会让你想知道为什么一只动物会造成错误而其他动物却没有。