假设您具有以下 NSDictionary 对象的 NSArray 结构:
#define kFlameText @"text"
#define kFlameRelation @"relation"
NSArray* data = @[@{kFlameText:@"TextFlame1", kFlameRelation:@"Relation1"}, @{kFlameText:@"TextFlame2", kFlameRelation:@"Relation2"}, @{kFlameText:@"TextFlame3", kFlameRelation:@"Relation3"}}
您想使用 NSPredicate
根据 NSString 提取位于
NSDictionary
的 NSArray
中第二个位置的字典@"Relation2"
您尝试了多次,最后一次尝试是:
NSPredicate* sortFlames = [NSPredicate predicateWithFormat:@"SELF contains[cd] %@", @"Relation2"];
但是你还是不在,你还是得到如下错误信息:
你会如何让它发挥作用?
最佳答案
这个谓词应该可以解决问题:
NSPredicate *sortFlames = [NSPredicate predicateWithFormat:@"SELF.%K CONTAINS[cd] %@", kFlameRelation, @"Relation2"];
%K
是动态属性名,更多信息 here .
关于ios - NSDictionary 的 NSArray 上的 NSPredicate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33291316/