【问题标题】:NSPredicate on NSArray of NSDictionaryNSDictionary 的 NSArray 上的 NSPredicate
【发布时间】:2016-01-22 08:08:39
【问题描述】:

假设你有一个 NSDictionary 对象的 NSArray 的以下结构:

#define kFlameText @"text"
#define kFlameRelation @"relation"


NSArray* data = @[@{kFlameText:@"TextFlame1", kFlameRelation:@"Relation1"}, @{kFlameText:@"TextFlame2", kFlameRelation:@"Relation2"}, @{kFlameText:@"TextFlame3", kFlameRelation:@"Relation3"}}

您想使用NSPredicate 根据NSString @"Relation2" 提取位于NSArrayNSDictionary 中第二位的字典

您尝试了多次,最后一次尝试是:

NSPredicate* sortFlames = [NSPredicate predicateWithFormat:@"SELF contains[cd] %@", @"Relation2"];

但是你还是不在那里,你仍然得到以下错误信息:

你会如何让它发挥作用?

【问题讨论】:

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

标签: ios objective-c nsarray nsdictionary nspredicate


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-02
    • 2012-05-17
    • 2011-06-21
    • 2015-05-07
    • 2010-10-31
    • 1970-01-01
    • 2017-01-31
    • 2013-11-20
    相关资源
    最近更新 更多