如何仅从plist文件加载选定的数据

时间:2013-02-27 19:55:01

标签: ios objective-c plist

我使用Root作为数组,然后此数组中的每个项目都是带有对象的字典:name(String)和surname(String)。我想显示我文件中的所有名字。目前我正在使用此代码:

   NSArray *myData = [[NSArray alloc] initWithContentsOfFile:mypath];
   NSMutableArray *names = [[NSMutableArray alloc] init];
   for (int i=0; i < myData.count; i++) {
       [names addObject:[[myData objectAtIndex:i] objectForKey:@"name"]];
   }

我是否可以直接从plist文件加载key @“name”的值到NSMutableArray *名称?如果我只需要@“name”值,我只是不想将plist文件的全部内容加载到内存中。

1 个答案:

答案 0 :(得分:2)

没有。装载一个plist是一个全有或全无的事情。除非你的plist 大量我不会担心它。如果是,那么你会考虑将它分成多个文件,而不是像编写自己的plist反序列化器一样(因为我向你保证CoreFoundation的plist解析器会比你的更快)。