Строение табличного представления
Навигационные контроллеры и табличные представления почти всегда используются вместе для работы с иерархическими данными. Когда вы выбрали шаблон навигационного приложения, среда Xcode сгенерировала новую конфигурацию представлений, отличную от уже знакомой нам. Шаблон включает файл MainWindow.xib, который содержит класс UINavigationController. Контроллер инициирует отображение главного представления UITableView, загружаемого из файла RootViewController.xib.
Представление UITableView предоставляет немало готовой функциональности, но ему все равно необходимо знать, какие данные мы собираемся отображать и что делать при взаимодействии пользователя с этими данными. Для этого используются уже знакомые нам участники: источники данных и делегаты. Табличное представление легко настраивается, а для получения информации о выводимых данных, количестве строк, используемых ячейках таблицы и т. д. оно связывается с источником данных и делегатом.
Присмотритесь к приложениям, установленным на вашем устройстве. Найдете ли вы в них сильно видоизмененные табличные представления?
Используются ли в них разделы? Группировка? Как в них размещаются ячейки?
Пора заняться выводом списка рецептов. Вам придется внести изменения в файлы RootViewController.h и RootViewController.m files.
Объявление массива drinks.
Используя синтаксис, сходный с тем, который использовался нами при заполнении прокручиваемого списка, объявите в файле RootViewController.h массив с именем «drinks» и необходимые свойства.
Реализация и заполнение массива.
В файле RootViewController.m раскомментируйте метод viewDidLoad и включите в него код создания массива с тремя коктейлями из этого перечня.
Передача количества строк табличному представлению.
Сгенерированный код необходимо изменить таким образом, чтобы количество строк, передаваемое им табличному представлению, соответствовало количеству рецептов в массиве. Внесите изменения в файл реализации под комментарием:
Настройка количества строк в табличном представлении.
Заполнение ячеек.
Включите код, представленный ранее в разделе «Код ячеек под увеличительным стеклом», чтобы таблица заполнялась данными из массива.
К памяти в iOS нужно относиться серьезно, верно? Три рецепта — не проблема. Но что произойдет, если рецептов будет намного больше?
Вы правы. Класс UlTableView, как и все остальные классы iOS, должен учитывать ограниченный объем памяти.
Как же табличное представление совмещает экономию памяти с заранее неизвестным объемом отображаемых данных? Для этого данные разбиваются по ячейкам.
- Дата: 8-12-2014, 16:43