从 plist 读取对象到 NSArray

Posted

技术标签:

【中文标题】从 plist 读取对象到 NSArray【英文标题】:reading objects from plist to NSArray 【发布时间】:2011-09-28 01:44:32 【问题描述】:

我想要一个 NSMutableArray 患者,但我不想硬编码患者信息(姓名、出生日期等)。我想将它存储在一个 plist 中,然后能够拥有一个患者对象的 NSArray。我怎样才能做到这一点?我知道如果它只是一个 NSString 数组怎么办,但如果它是一个 NSArray 对象呢?

【问题讨论】:

【参考方案1】:

如果您要存储和检索患者列表,那么随着时间的推移,随着应用程序的成熟,您可能需要以各种方式访问​​它们。 CoreData 和/或 Sqlite 提供更强大的存储机制,提供丰富的查询、索引和 CRUD 操作。

CoreData 将提供设计师来设计您的逻辑对象并为您处理 sqlite 的持久性。如果你想要更多的控制,你可以使用 sqlite,如果你这样做了,fmdb 是一个很好的包装类。

除非您将此作为学习样本来学习 plist,否则我不建议您在 plist 中跟踪患者。如果是这样的话,那么这里是另一篇关于将数组持久化到 plist 的 SO 文章:

How to read data structure from .plist file into NSArray

来自该帖子:

NSString* plistPath = [[NSBundle mainBundle] pathForResource:@"league" ofType:@"plist"];
contentArray = [NSArray arrayWithContentsOfFile:plistPath];

希望有帮助

【讨论】:

以上是关于从 plist 读取对象到 NSArray的主要内容,如果未能解决你的问题,请参考以下文章

多次读取 plist 与创建对象并仅读取 plist 一次以访问 plist 中的数据

从 plist 读取字典后无法编辑字典

iPhone Dev - 从 Plist 编辑数组中的对象

我可以从 plist 中读取,但无法从另一个 plist 中读取

cocos2dx-深度解析plist文件(游戏对象的数据如何从plist创建获取)

从 iOS 的 UITests 中读取 Info.plist?