假设您对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"];


但是您仍然不在那里,仍然会收到以下错误消息:

ios - NSDictionary的NSArray上的NSPredicate-LMLPHP

您将如何运作?

最佳答案

这个谓词应该可以解决这个问题:

NSPredicate *sortFlames = [NSPredicate predicateWithFormat:@"SELF.%K CONTAINS[cd] %@", kFlameRelation, @"Relation2"];


%K用于动态属性名称,更多信息here

关于ios - NSDictionary的NSArray上的NSPredicate,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33291316/

10-10 20:48