在表格视图中实现搜索栏 [重复]

Posted

技术标签:

【中文标题】在表格视图中实现搜索栏 [重复]【英文标题】:Implementing Search Bar in Table View [duplicate] 【发布时间】:2017-06-30 11:19:30 【问题描述】:

这个函数给出编译时错误

-(BOOL)searchDisplayController:(UISearchDisplayController *)controller 
shouldReloadTableForSearchString:(NSString *)searchString

    [self filterContentForSearchText:searchString 
                               scope:[[self.searchDisplayController.searchBar scopeButtonTitles]
                                      objectAtIndex:[self.searchDisplayController.searchBar
                                                     selectedScopeButtonIndex]]];

    return YES;

这一行的编译器错误

[self filterContentForSearchText:searchString 
                           scope:[[self.searchDisplayController.searchBar scopeButtonTitles] objectAtIndex:[self.searchDisplayController.searchBar selectedScopeButtonIndex]]];

ARC 语义问题

“ViewController”没有可见的@interface 声明选择器 'filterContentForSearchText:范围:'

如何消除此错误? 我正在关注本教程here。本教程中的确切功能是在 xcode 中给出错误。

【问题讨论】:

【参考方案1】:

实现这个

 - (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope
    
        NSPredicate *resultPredicate = [NSPredicate 
                                        predicateWithFormat:@"SELF contains[cd] %@",
                                        searchText];

        searchResults = [yourArray filteredArrayUsingPredicate:resultPredicate];

【讨论】:

我已经实现了。问题编码的函数中的编译时错误。 参考appcoda.com/how-to-add-search-bar-uitableview 我正在关注本教程。教程中的函数 searchDisplayController 在 xcode 中给出错误。 问题发生在哪一行.. [self filterContentForSearchText:searchString scope:[[self.searchDisplayController.searchBar scopeButtonTitles] objectAtIndex:[self.searchDisplayController.searchBar selectedScopeButtonIndex]]];

以上是关于在表格视图中实现搜索栏 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

允许点击通过 UITapGestureRecognizer 并到达下面的表格视图[重复]

在表格视图中实现搜索栏

在动画推送和弹出时,导航项中带有搜索栏的连续视图控制器会导致视图模糊[重复]

表格视图的搜索栏

如何在标题中制作搜索栏?

如何在导航栏下隐藏搜索栏并在用户下拉表格视图时显示它?