搜索字符串是不是包含来自 Nsdictionary 的 NSArray 的任何值

Posted

技术标签:

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

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

mystring = @"I love ***";

array = @@[id:104, name: @"love", quality: @"***"],
@[id:104, name: @"love123", quality: @"***"],
@[id:104, name: @"love435", quality: @"***"],
@[id:104, name: @"love", quality: @"***234"]];

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

我试过了:

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。 【参考方案1】:

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

【讨论】:

以上是关于搜索字符串是不是包含来自 Nsdictionary 的 NSArray 的任何值的主要内容,如果未能解决你的问题,请参考以下文章

使用 NSDictionary 填充 UITableView,其中包含来自 mysql db 的已解析 JSON 数据

将 Plist (NSString) 解析为 NSDictionary

NSDictionary:将 NSString 键转换为小写以在其上搜索字符串

哪种检查 NSDictionary 是不是包含特定键的方法更快?

调用 NSDictionary 中的所有键包含 JSON 对象时出错

将 NSDictionary 保存到 plist