我有一个看起来像这样的NSPredicate:
NSPredicate *likePredicate3= [NSPredicate predicateWithFormat:@"synonyms LIKE[cd] %@",[NSString stringWithFormat:@"%@", searchText]];
我将它应用于具有‘NSArray’属性的类的对象的同义词。
当searchText是一个完整的单词时,例如“谢谢”,它可以很好地工作。但是,如果我尝试使用字符串中包含空格的字符串,例如“谢谢”,它将失败,并且谓词搜索在数组中找不到匹配的字符串。
有没有办法让NSPredicate处理里面有空格的单词?
谢谢。
发布于 2010-02-05 03:08:13
原则上,你所做的应该是可行的。我运行了这个例子:
NSString *search = @"a b";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF LIKE[cd] %@",
[NSString stringWithFormat:@"%@", search]];
NSArray *array = [[NSArray arrayWithObjects:@"a b", @"ä B", @"ccc", nil]
filteredArrayUsingPredicate: predicate];
NSLog(@"result: %@", array);
输出为:
Running…
2010-02-04 20:05:41.770 predicate2[74163:a0f] result: (
"a b",
"\U00e4 b"
)
也许你的searchString不是你想的那样。
https://stackoverflow.com/questions/2202035
复制相似问题