0

我有一个以 Root 为数组的 plist,然后这个数组中的每个项目都是一个带有对象的字典:名称(字符串)和姓氏(字符串)。我想显示我文件中的所有名称。目前我正在使用这段代码:

   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"]];
   }

有什么方法可以将键 @"name" 的值直接从 plist 文件加载到 NSMutableArray *names?如果我只需要 @"name" 值,我只是不想将 plist 文件的全部内容加载到内存中。

4

1 回答 1

2

不。加载一个 plist 是一个全有或全无的事情。除非您的 plist很大,否则我不会担心。如果是这样,那么您可能需要考虑将其拆分为多个文件,而不是编写自己的 plist 反序列化器(因为我向您保证 CoreFoundation 的 plist 解析器会比您的更快)。

于 2013-02-27T21:10:57.193 回答