【发布时间】:2011-11-04 16:05:24
【问题描述】:
可能重复:
Searching/Filtering a custom class array with a NSPredicate
我有一个包含自定义类对象的数组,我想根据其中一个类属性是否包含自定义字符串来过滤数组。我有一个方法,它传递了我想要搜索的属性(列)和它将搜索的字符串(searchString)。这是我的代码:
NSPredicate *query = [NSPredicate predicateWithFormat:@"%@ contains %@", column, searchString];
NSMutableArray *temp = [displayProviders mutableCopy];
[displayProviders release];
displayProviders = [[temp filteredArrayUsingPredicate:query] mutableCopy];
[temp release];
由于某种原因,这总是返回一个空数组。四列中的三列是整数或双精度数,因此如果需要,我可以添加一个 if 语句将 searchString 转换为数字。但是,即使在搜索字符串属性并且应该有一些包含字符串 searchString 的行时,也会返回一个空数组。
我是否错误地使用了“包含”?
【问题讨论】:
标签: ios cocoa-touch search nspredicate contains