Buscando una vista de tabla con UISearchBar

Estoy usando este código para buscar a través de 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];
}

Todo funciona bien, pero si presiono el botón de cancelar que aparece cuando comienzo a editar, mi lista no vuelve, pero los resultados de la búsqueda permanecen. Para volver a mostrar la lista, debo comenzar a escribir, incluso un solo carácter en la barra de búsqueda y luego eliminarlo o presionar la "x" para ver toda la lista. ¿Hay alguna manera de bloquear el botón de cancelar? ¿O mostrar la lista cuando se pulsa?

Respuestas a la pregunta(2)

Su respuesta a la pregunta