【问题标题】:Search if a string contains any value from NSArray of Nsdictionary搜索字符串是否包含来自 Nsdictionary 的 NSArray 的任何值
【发布时间】:2016-11-04 14:37:18
【问题描述】:

我想检查我的字符串是否包含在我的 NSDictionary 的 NSArray 的任何两个元素中。可以说,

mystring = @"I love stackoverflow";

array = @{@[id:104, name: @"love", quality: @"stackoverflow"],
@[id:104, name: @"love123", quality: @"stackoverflow"],
@[id:104, name: @"love435", quality: @"stackoverflow"],
@[id:104, name: @"love", quality: @"stackoverflow234"]];

在这种情况下,我希望我的谓词挑选出数组的第一个元素,因为它包含在我的字符串中。

我试过了:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%@ contains[c] SELF.name AND %@ contains[c] SELF.quality",mystring, mystring];

NSArray *filteredArray = [array filteredArrayUsingPredicate:predicate];

PS:“LIKE”在这里也不起作用。

【问题讨论】:

  • 您的谓词没问题,可以使用您在此处提供的数据(修复语法后)。
  • 令人惊讶的是,我的 Xcode 昨天显示我的 filteredArray 计数为零。但今天它工作正常。它也更早地工作。这是正确的代码。谢谢@Willeke。

标签: objective-c nsarray nsdictionary nspredicate


【解决方案1】:

目前一切正常。我提供的语法是正确的。

【讨论】:

    猜你喜欢
    • 2022-08-19
    • 1970-01-01
    • 2011-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多