NSPredicate for @ [@ {@“someKey”:@“key”}]搜索someKey

时间:2018-03-08 10:12:35

标签: ios objective-c nsarray nsdictionary nspredicate

[
    {"theKeyOne"  :"One"},
    {"theKeyTwo"  :"Two"},
    {"theKeyThree":"Three"},
],

我想使用String for predicateWithFormat to NSPredicate

例如

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(%@ == %@)", @"theKeyTwo", @"theKeyTwo"];

代码,我认为只输出{"theKeyTwo" :"Two"}

但输出allInfo。

第一个索引是{"theKeyOne" :"One"} !!!

我希望获得Two

theKeyTwo

我只知道

  

theKeyTwo

我应该如何将其用于NSPredicate

提前致谢。

2 个答案:

答案 0 :(得分:0)

问题不是那么清楚。请选择我的一个变体:

  1. 如果要在谓词中替换键,则应使用%K。所以你的谓词看起来像这样:

    [NSPredicate predicateWithFormat:@"%K =%@",@" theKeyTwo",@" Two"];

  2. 输出是一个数组:@ [@ {@" theKeyTwo":@" Two"}]

    1. 要获取值,您应该使用valueForKeypath:

      NSArray * result = [yourArray valueForKeypath:@" theKeyTwo"]

    2. 输出是一个数组:@ [@" Two"]

答案 1 :(得分:0)

好吧,试试这个:)

alter table `a` add column `week` INT(6) not null default DATE_FORMAT(`date`, '%Y%v')