如何按名称从 plist 中提取数据?
Posted
技术标签:
【中文标题】如何按名称从 plist 中提取数据?【英文标题】:How can I pull data from a plist by name? 【发布时间】:2011-06-13 05:28:06 【问题描述】:我目前有一个实体Exercise,属性为name、picture、muscle等
在我的应用程序中创建和保存锻炼对象时(使用核心数据),所有这些属性都是从 .plist 中的字典设置的。我现在想添加描述(文本段落),但在练习中添加描述属性没有意义,因为会有几个相同的练习,这可能只是浪费空间。
有没有一种方法可以创建一个新类,也许是 exerciseDescription,它从选定的练习中提取练习名称属性,并从 .plist 中提取相应的描述?
我有近 300 个练习,我目前从中提取信息的 plist 是每个肌肉群的字典数组,每个肌肉群都有一系列练习。
【问题讨论】:
【参考方案1】:你能创建一个名为ExerciseDescriptions.plist 的新plist
然后实现这样的东西。 (我还没有测试过这段代码,只是想不通)
NSString *exerciseName = [exerciseEntity valueForKey:@"name"];
NSString *path = [[NSBundle mainBundle] pathForResource:@"ExerciseDescriptions" ofType:@"plist"];
NSDictionary *exerciseDescription = [NSDictionary dictionaryWithContentsOfFile:path];
NSString *description = [exerciseDescription objectForKey:exerciseName];
【讨论】:
【参考方案2】:一种简单的方法是为每个练习描述创建一个(唯一的)文件,并将其句柄(路径?)存储在所有对应的练习对象中。
【讨论】:
我有将近 300 个练习,所以我认为这不是最好的选择。我目前从中提取信息的 plist 是每个肌肉群的字典数组,每个肌肉群都有一系列练习以上是关于如何按名称从 plist 中提取数据?的主要内容,如果未能解决你的问题,请参考以下文章
我将如何更改此静态数组以从 xCode 中的此 plist 中提取?
带有名称和描述 numberOfRowsInSection 问题的按字母顺序排列的 plist