作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
你好,很抱歉问了这个愚蠢的问题,但我想我可能在这里遗漏了一些简单的东西,并且自己无法弄清楚。
我正在尝试使用以下代码搜索表格 View :
- (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString
{
NSString *predicateFormat = @"(name contains[c] %@) OR (age contains[c] %@)";
NSPredicate *predicate = [NSPredicate predicateWithFormat:predicateFormat, searchString];
self.fetchedResultsController = [self resetFetchedResultsController:predicate cached:NO];
NSError *error = nil;
[self.fetchedResultsController performFetch:&error];
// Return YES to cause the search result table view to be reloaded.
return YES;
}
我想要实现的是,当用户搜索表格时,不仅可以按“姓名”搜索,还可以按“年龄”搜索!
我上面的代码只搜索“名称”
我错过了一些简单的事情吗?
感谢您的宝贵时间
最佳答案
而不是:
NSString *predicateFormat = @"(name contains[c] %@) OR (age contains[c] %@)";
NSPredicate *predicate = [NSPredicate predicateWithFormat:predicateFormat, searchString];
您有三个选择:
NSString *predicateFormat = @"(name contains[c] %@) OR (age contains[c] %@)";
NSPredicate *predicate = [NSPredicate predicateWithFormat:predicateFormat, searchString, searchString];
或者:
NSString *predicateFormat = @"(name contains[c] %1$@) OR (age contains[c] %1$@)";
NSPredicate *predicate = [NSPredicate predicateWithFormat:predicateFormat, searchString];
或者:
NSString *predicateFormat = @"(name contains[c] $SEARCH) OR (age contains[c] $SEARCH)";
NSPredicate *template = [NSPredicate predicateWithFormat:predicateFormat];
NSPredicate *predicate = [template predicateWithSubstitutionVariables:[NSDictionary dictionaryWithObject:searchString forKey:@"SEARCH"]];
如果您正在构建一个具有未知数量替换的大型谓词,则第三个选项很不错。就不重复自己而言,第二个可能是最简单的,但第一个最容易理解。
关于cocoa - NSString *predicateFormat 如何搜索两个实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3018197/
你好,很抱歉问了这个愚蠢的问题,但我想我可能在这里遗漏了一些简单的东西,并且自己无法弄清楚。 我正在尝试使用以下代码搜索表格 View : - (BOOL)searchDisplayControlle
我有一个数组,其中每个字典的 valueForKeyPath 'objectId' 都存在我要过滤数组的 'id'。如何比较 ValueForKeyPath 中的谓词。 目前..这个谓词 NSPred
我是一名优秀的程序员,十分优秀!