假设您对NSDictionary对象的NSArray具有以下结构:
#define kFlameText @"text"
#define kFlameRelation @"relation"
NSArray* data = @[@{kFlameText:@"TextFlame1", kFlameRelation:@"Relation1"}, @{kFlameText:@"TextFlame2", kFlameRelation:@"Relation2"}, @{kFlameText:@"TextFlame3", kFlameRelation:@"Relation3"}}
您要使用
NSPredicate
根据NSArray
NSDictionary
提取位于NSString
的@"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/