Однажды у меня была эта проблема. Так что для быстрого решения я сделал это:
В шапке:
BOOL usingFilterArray;
Если вы переключаетесь между полным и отфильтрованным словарем, просто установите вышеупомянутый BOOL на NO и YES соответственно.
затем в didSelectRowAtIndexPath используйте оператор "if", чтобы проверить состояние объекта usingFilterArray.
Отдых должен быть довольно легким. (Дайте мне знать, если вам все еще нужна помощь)
Просто одна вещь, когда вы выполняете поиск после того, как фильтр словаря гидратируется, если вы отмените поиск, вам необходимо убедиться, что он запущен, иначе ваше приложение будет аварийно завершать работу, поскольку в гидратированном словаре не будет никакого объекта. (Я предполагал, что вы очистили отфильтрованный словарь)
- (void) searchDisplayControllerDidEndSearch:(UISearchDisplayController *)controller {
[self.tableView reloadData];
}
Mate, это просто быстрое решение.