我的 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 文件加载键 @"name"的值到 NSMutableArray *names?如果我只需要 @"name"值,我只是不想将 plist 文件的全部内容加载到内存中。
最佳答案
没有。加载 plist 是一件孤注一掷的事情。除非你的 plist 是 massive 我不会担心它。如果是,那么您会考虑将它拆分成多个文件,而不是像编写您自己的 plist 反序列化器那样做一些事情(因为我向您保证 CoreFoundation 的 plist 解析器会比您的更快)。
关于ios - 如何从 plist 文件中只加载选定的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15121137/