0

我正在尝试在我的表格视图上实现搜索。myArray我填充了一个从 Core Data调用的 NSMutableArray ;然后我用我的表格视图填充myArray

然后,我有一个名为mySearchArray. 我使用这个数组来显示搜索结果。这是我用于过滤的代码:

-(void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope
{
    [self.mySearchArray removeAllObjects];

    for (MyModel *product in myArray)
    {
        NSComparisonResult result = [product.productName compare:searchText options:(NSCaseInsensitiveSearch|NSDiacriticInsensitiveSearch) range:NSMakeRange(0, [searchText length])];

        if (result == NSOrderedSame)
        [self.mySearchArray addObject:product];
    }
}

问题是搜索无法正常工作。当我搜索某些东西时,我得到了下面的图片。

我究竟做错了什么?

编辑:

过滤正在工作。例如,如果我搜索字母“a”并且只有一个单元格名称具有“a”,则只会显示一个单元格。问题是它没有显示带有“a”的单元格。它仅显示顶部单元格。

搜索错误

4

2 回答 2

1

请参考以下链接。它可能会帮助你。这是搜索栏的一个例子。

http://www.appcoda.com/how-to-add-search-bar-uitableview/

于 2013-07-30T05:13:08.757 回答
0

我想到了。问题出在cellForRowAtIndexPath:我的表格视图实现的方法上。

我有这个代码:

if (self.tableView == self.searchDisplayController.searchResultsTableView)

当我self.tableView用 just替换时tableView,它工作得很好。

所以正确的代码是:

if (tableView == self.searchDisplayController.searchResultsTableView)

于 2013-07-30T16:51:50.230 回答