Изменения в методе viewDidLoad


Изменения в методе viewDidLoad

В этом разделе мы внесем в метод viewDidLoad несколько изменений. Во-первых, загружаем список свойств в словарь allNames вместо словаря names и удаляем код, который загружает массив keys, потому что сейчас это делается в методе resetSearch. Затем вызываем упомянутый метод resetSearch, который заполняет изменяемый словарь names и массив keys. После этого вызываем метод reloaciData для нашего tableView. В нормальном потоке программы reloadData будет вызываться перед тем, как пользователь увидит таблицу, так что, как правило, его не нужно вызывать в viewDidLoad:. Однако, для того чтобы работа- па строка setContentOffset-.animated:, следует убедиться, что таблица настроена, что мы и делаем путем вызова reloadData для таблицы.

Так что же делает вызов aetContentOffset: animated:? Именного, что написано: смещает содержимое таблицы — в данном случае на 44 пикселя, т.е. на высоту панели поиска. Это приводит к тому, что панель поиска не будет видна при первом появлении таблицы. По сути, скрываем панель поиска до тех пор, пока пользователь не выполнит первую прокрутку. Эта технология работает подобно тому, как работает поиск в Mail, Contacts и других стандартных приложениях iOS. Изначально пользователи не видят панель поиска, но она вызывается в представление простым скольжением пальца.

Сокрытию панели поиска сопутствует определенный риск, что пользователь не сразу обнаружит функцию поиска или, возможно, вообще не обнаружит ее. Однако этот риск распространяется на широкий спектр iOS-приложений, где панель поиска используется теперь так часто, что нет никакой реальной причины указывать ее наличие более явно.

Мы поговорим об этом более подробно немного позже, в разделе "Добавление увеличителя тельного стекла к индексу".

Изменение методов источника данных.

Если перейти к методам источника данных, то вы увидите, что здесь внесено только несколько незначительных изменений. Поскольку словарь names и массив keys будет по- прежнему использоваться для наполнения источника данных, эти методы в основном такие же, как и ранее.

Мы учли тот факт, что табличные представления всегда имеют минимум один раздел и что поиск может потенциально исключить все имена из всех разделов. Поэтому добавили небольшой код для проверки ситуации, когда все разделы были удалены. В таких случаях мы передаем табличному представлению один раздел без строк и с пустым именем. Это позволяет избежать проблем и не предоставляет пользователю некорректную информацию.
  • Дата: 4-12-2014, 09:32

Предыдущие статьи сайта:

Понравилась статья? Ставь лайки, рассказывай друзьям!



Отзывы о статье: Изменения в методе viewDidLoad

Технологии, секреты и фишки Apple: Iphone, iPad, iPod