Попытка удаления
Когда табличное представление находится в режиме редактирования, этот метод вызывается при попытке удаления строк либо «зачеркиванием» строки, либо нажатием на индикаторе удаления. Большая часть кода метода тоже подготовлена к использованию, но нам придется добавить код обновления источника данных. Помните, что строки таблицы соответствуют индексам массива. Наконец, после внесения изменений не нужно вызывать reloadData, потому что мы явно обращаемся к табличному представлению с запросом на удаление строки.
Обнобление the didSelectRowAtlndexPath для добавления рецепта.
Наш класс AddDrinkViewController содержит почти все необходимое для редактирования существующих рецептов. Обновите didSelectRowAtlndexPath так, чтобы в режиме редактирования метод обращался к AddDrinkViewController вместо DrinkDetailViewController.
Шаблон Xcode, выбранный для этого приложения, содержит достаточно большой объем нужного нам кода. К этому моменту вы уже знакомы с RootViewController и табличными представлениями. Мы немного подскажем, что вам предстоит реализовать, но дальше вы будете действовать самостоятельно.
Включение редактирования В Interface Builder.
Проследите за тем, чтобы для табличного представления был установлен флажок «Allow Selection While Editing».
Реализация редактирования рецептов в AddDrinkViewController.
Необходимо сообщить приложению, что оно должно отредактировать рецепт (вместо создания нового рецепта), заполнить элементы существующей информацией и, наконец, обновить рецепт при сохранении.
Проверьте, как работает удаление и редактирование рецептов. Не забудьте, что приложение следует перезапускать при помощи значка в Simulator; в противном случае внесенные изменения будут потеряны.
Заново отправляем приложение в Арр Store.
DrinkMixer возглавляет хит-парад! Поздравляем!
Мне нравится автоматическая поддержка редактирования в табличных представлениях, но как реализовать эти удобные строки добавления — такие, как «Новый телефон» в приложении Контакты на моем iPhone?
Намного проще, чем вам кажется. Вкратце, в режиме редактирования вы сообщаете табличному представлению количество строк, на единицу превышающее количество фактических данных. Затем в cellForRowAtlndexPath вы проверяете, не запрашивает ли табличное представление строку после конца данных. Если условие выполняется, верните ячейку с текстом «Новый контакт» (или любым другим). Наконец, в методе didSelectRowAtlndexPath проверьте, выходит ли выбранная строка за пределы данных, и если выходит, значит, выбрана ячейка добавления данных.
- Дата: 24-12-2014, 11:32