Przeszukiwanie widoku tabeli za pomocą UISearchBar

Używam tego kodu do przeszukiwania UItableView:

-(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 (NSString* string in self.itemArray)
    {
        NSRange nameRange = [string rangeOfString:searchBar.text options:(NSCaseInsensitiveSearch|NSDiacriticInsensitiveSearch)];
        if(nameRange.location != NSNotFound)
        {
            [filteredTableData addObject:string];
        }
    }
}
[tableView reloadData]; 
[self.tableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationFade];
}

Wszystko działa dobrze, ale jeśli nacisnę przycisk anulowania, który pojawia się po rozpoczęciu edycji, moja lista nie wraca, ale wyniki wyszukiwania pozostają. Aby wyświetlić listę, muszę zacząć pisać, nawet pojedynczy znak na pasku wyszukiwania, a następnie usunąć go lub nacisnąć „x”, aby wyświetlić całą listę. Czy istnieje sposób na zablokowanie przycisku anulowania? Lub wyświetlić listę po jej naciśnięciu?

questionAnswers(2)

yourAnswerToTheQuestion