Добавление метода делегата табличного представления
После методов источника данных мы добавили один метод делегата. Если пользователь щелкает на строке, используя панель поиска, мы хотим, чтобы клавиатура была скрыта. Это осуществляется путем реализации tableView.-willSelectRowAtlndexPath: и вызова метода resignFirstResponder панели поиска, что приведет к сокрытию клавиатуры. Далее мы возвращаем неизмененное значение indexPath.
Добавление методов делегата панели поиска
Панель поиска имеет ряд методов, которые вызываются для ее делегата. Когда пользователь нажимает клавишу
Мы также реализуем другой метод делегата панели поиска, который требует немного инимания. Этот следующий метод реализует оперативный, или "живой", поиск. Каждый раз при изменении поискового запроса, независимо от того, выбрал ли пользователь кнопку поиска или нажал клавишу
Вы можете легко срезать производительность приложения реализацией оперативного поиска, особенно если выводятся изображения или имеется сложная модель данных. Однако если в словаре имеется пару тысяч строк без изображений, то все будет вполне работоспособно даже на устройствах iPhone или iPod первого поколения.
ПРЕДУПРЕЖДЕНИЕ. Не считайте высокую производительность в симуляторе основанием ожидать высокой производительности в реальном устройстве. Если вы собираетесь реализовать оперативный поиск, необходимо тщательно протестировать его на имеющемся оборудовании, чтобы убедиться в разумном времени отклика вашего приложения. Если сомневаетесь, не используйте эту технологию. Ваши пользователи, скорее всего, предпочтут постукивание по кнопке поиска долгому раздражающему ожиданию.
Когда пользователь щелкает на кнопке Cancel, мы устанавливаем поисковый термин, Равный пустой строке, сбрасываем поиск и перезагружаем данные так, чтобы выводились Все имена.
- Дата: 4-12-2014, 15:10