Доступ к данным, когда searchDisplayController активен - PullRequest
1 голос
/ 11 апреля 2011

Приложение для моего iPhone использует Core Data, UISearchBar, UISearchDisplayController, UITableView и UIActionSheet. Когда поиск не выполняется, я могу определить, какая строка была выбрана пользователем, но если поиск активен и выбор сделан пользователем определенной строки, как определить, какая строка была выбрана пользователем?

Пример. Следующий код работает без ошибок, если ПОИСК НЕ АКТИВЕН:

- (void)actionSheet:(UIActionSheet *)actionSheet willDismissWithButtonIndex:(NSInteger)buttonIndex {
    NSIndexPath *selectedIndexPath = [self.tableView indexPathForSelectedRow];
    Event *event = (Event *)[[self fetchedResultsController] objectAtIndexPath:selectedIndexPath];    
    [self showURL:[NSURL URLWithString:event.siteSite] withTitle:@""];

но URL-адрес равен NULL, если я использую описанный выше метод для определения соответствующего "event.siteSite" или URL-адреса, тогда как [self.searchDisplayController isActive] равно ИСТИНА.

1 Ответ

1 голос
/ 11 апреля 2011

Когда вы используете UISearchDisplayController, вы получаете второе табличное представление, наложенное на первое. Это та таблица, которую вы должны запросить, чтобы узнать, какая строка была выбрана.

Подробнее см. класс * UISearchDisplayController .

...