我有一个NSDrray的NSDictionary对象,我希望能够返回一个新的NSDictionaries数组,其中每个NSDictionary都有"Area == North"(例如).
到目前为止,我发现的最接近的例子是使用NSPredicate来过滤基于NSDictionary键的NSArray,但这只返回给定键的唯一值,而不是具有该键的字典.有没有办法执行类似的操作,并返回整个字典?
NSPredicate应该可以正常工作,我试过这个:
NSMutableArray *a = [NSMutableArray array];
[a addObject:[NSDictionary dictionaryWithObjectsAndKeys:@"North", @"Area", @"North", @"Test", nil]];
[a addObject:[NSDictionary dictionaryWithObjectsAndKeys:@"South", @"Area", @"North", @"Test", nil]];
[a addObject:[NSDictionary dictionaryWithObjectsAndKeys:@"East", @"Area", @"North", @"Test", nil]];
NSPredicate *p = [NSPredicate predicateWithFormat:@"%K matches %@", @"Area", @"North"];
NSArray *newArray = [a filteredArrayUsingPredicate:p];
NSLog(@"newArray:%@", [newArray description]);
Run Code Online (Sandbox Code Playgroud)
有用.
| 归档时间: |
|
| 查看次数: |
2786 次 |
| 最近记录: |