如何通过名称从plist中提取数据?

时间:2011-06-13 05:28:06

标签: iphone objective-c xcode memory core-data

我目前有一个实体练习,包括属性名称,图片,肌肉等。

当在我的应用程序中创建并保存运动对象(使用核心数据)时,所有这些属性都是从.plist中的字典设置的。我现在想要添加描述(文本段落)但是将描述属性添加到Exercise中是没有意义的,因为会有几个相同的练习,这可能只是浪费空间。

有没有办法可以创建一个新的类,也就是exerciseDescription,它可以从选定的练习中提取练习名称属性,并从.plist中提取相应的描述?

我有将近300次练习,我正在从中提取信息的plist是每个肌肉群的一系列dictionarys,每个肌肉群都有一系列练习。

2 个答案:

答案 0 :(得分:0)

一种简单的方法是为每个练习描述创建一个(唯一的)文件,并将其句柄(路径?)存储在所有相应的练习对象中。

答案 1 :(得分:0)

你能否创建一个名为ExerciseDescriptions.plist

的新plist

plist image

然后实现这样的事情。 (我没有测试过这段代码,它只是我的头脑)

NSString *exerciseName = [exerciseEntity valueForKey:@"name"];

NSString *path = [[NSBundle mainBundle] pathForResource:@"ExerciseDescriptions" ofType:@"plist"];

NSDictionary *exerciseDescription = [NSDictionary dictionaryWithContentsOfFile:path];
NSString *description = [exerciseDescription objectForKey:exerciseName];