如何在目标c中查询plist

时间:2011-03-02 20:58:27

标签: objective-c

有没有办法过滤或查询plist中的数据。例如,我想要所有具有Type ='People'

的对象

2 个答案:

答案 0 :(得分:3)

如果您将PList加载到NSArray中,则可以使用filteredArrayUsingPredicate:NSPredicate来执行过滤。例如:

NSBundle* bundle = [NSBundle mainBundle];
NSString* path = [bundle pathForResource:@"data" ofType:@"plist"];
NSArray *array = [NSArray arrayWithContentsOfFile:...];
NSString *type = @"People";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"Type == %@", type];
[array filteredArrayUsingPredicate:predicate];

答案 1 :(得分:1)

您可以将plist加载到字典中,然后获取所需的所有值:

NSDictionary* dict = [NSDictionary dictionaryWithContentsOfFile: @"someplist.plist"];
相关问题