如何按名称从 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

ios 如何从 plist 获取当前的临时配置文件名称(Dev、Dist、ETC)

如何使用从访问数据库中提取的图像名称在网页上插入图像?

如何从火花数据框中提取 csv 名称