搜索字符串是不是包含来自 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 是不是包含特定键的方法更快?