我有这段代码可以在字符串中搜索特定单词,例如加拿大波兰墨西哥示例:
NSString *valueOfUser = @"I want Poland"
NSPredicate *pred =[NSPredicate predicateWithFormat: @"SELF contains[c] %@", valueOfUser];
NSArray *arr = @[
@"Canada",
@"Poland",
@"México"
];
NSArray *filtered = [arr filteredArrayUsingPredicate: pred];
// But this array always contain 0 elements
我的错误在哪里?
我想找到一个解决方案,如:
NSString *valueOfUser = @"I want Poland"
filtered[0] -> "Poland"
NSString *valueOfUser = @"I choose Poland and México"
filtered[0] -> "Poland"
filtered[1] -> "México"
你的查询应该是相反的:valueOfUser CONTAINS[c] SELF
,试试这个:
目标 C:
NSString *valueOfUser = @"I want Poland";
NSPredicate *pred =[NSPredicate predicateWithFormat: @"%@ contains[c] SELF", valueOfUser];
NSArray *arr = @[
@"Canada",
@"Poland",
@"México"
];
NSArray *filtered = [arr filteredArrayUsingPredicate: pred];
斯威夫特:
let dataSource = ["Canada","Poland","México"] as NSArray
let searchString = "I choose Poland and México"
let predicate = NSPredicate(format: "%@ contains[c] SELF", searchString)
let dataArray = dataSource.filter { predicate.evaluate(with: $0) }
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句