属性列表应该由它自己的模型对象管理吗?
Posted
技术标签:
【中文标题】属性列表应该由它自己的模型对象管理吗?【英文标题】:Should a property list be managed by its own model object? 【发布时间】:2009-08-24 00:53:15 【问题描述】:我正在构建一个 iPhone 应用程序,该应用程序通过属性列表在其中包含一些默认数据。该数据是我的模型的来源。管理这些数据的最佳方式是什么,以便用户可以从这个 plist 中读取(并在某些情况下写入)数据?
我目前正在继承 NSObject 并将 plist 数据映射到该对象中的属性,并使用读取/写入数据到对象的方法。我已阅读有关 NSCoding 协议和 NSCoder 的信息,但不确定如何在我的自定义类中实现它。
任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:似乎答案在这个链接中:
http://mojomonkeycoding.com/tag/nscoding/
我猜你不必担心在这些情况下 super 是 initWithCoder。
【讨论】:
【参考方案2】:如果您真的想将数据保存在 plist 中,那么您可以使用 NSString:propertyList。它将获取属性列表并将其解析为您所需的结构。然后,您可以使用 NSPropertyListSerialization 将其写回。
坦率地说,除非您要跟踪大量不同的实体,否则您正在做的事情会更容易。有很多方法可以简单地加载和保存数据,如果这就是您感兴趣的全部。除了 NSCoder (这是我喜欢的很多样板代码)之外,您可以使用 CoreData 而完全不用担心序列化过程 - -CoreData 半自动地为您管理这一切。
【讨论】:
该应用程序加载 7 个名称/值对和一个字典数组(例如,每个人都有他/她的数据的列表)。我想在整个应用程序的不同视图中使用这些数据。 Plists 非常适合配置不经常更新的数据。如果你有一堆数据或者更频繁的更新,你可能应该使用 CoreData。 它主要是一个只读的值列表和 4 个用于持久应用状态的名称/值对以上是关于属性列表应该由它自己的模型对象管理吗?的主要内容,如果未能解决你的问题,请参考以下文章