0

私は自分が間違っていることを本当に知りません。テーブルに SearchDisplayController を実装するさまざまなバージョンを試しましたが、まだ機能していません。すべてがうまくいくようです。使用された配列の数などの値をエコーアウトすると、正しい数値が得られました。見つかった文字列をエコーする位置にいたので、検索部分でも問題ありません。唯一の問題は、見つかった結果がテーブルに表示されないことです。検索バーのテキストフィールドに入力して入力を開始するとすぐに、空の行を持つ黒白いテーブルが表示されます。これに2日かかったので、どういうわけか本当にイライラしています。ヒントはありますか?

これは検索を行うコードです: -(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {

if(searchText.length == 0)
{
    isFiltered = FALSE;
}
else
{
    isFiltered = TRUE;

    if (filteredTableData == nil)
        filteredTableData = [[NSMutableArray alloc] init];
    else 
        [filteredTableData removeAllObjects];

    for (NSDictionary *d in self.countries)
    {
        NSString *strData = [d valueForKey:@"cname"];
        NSRange nameRange = [strData rangeOfString:searchText options:(NSCaseInsensitiveSearch|NSDiacriticInsensitiveSearch)];
        if(nameRange.location != NSNotFound)
        {
            [filteredTableData addObject:d];
        }
    }
}
[self.tableView reloadData];

}

4

1 に答える 1

0

UISearchDisplayController を使用している場合は、次のように呼び出す必要があります。

[self.searchDisplayController.searchResultsTableView reloadData];

それ以外の

[self.tableView reloadData];
于 2013-01-15T00:02:01.363 に答える