Мне бы хотелось реализовать механизм редактирования для приложения iPhone, то есть я хочу, чтобы пользователь мог редактировать экземпляр моей модели.Модель содержит два типа данных: первый - просто строка NSS, где пользователь может написать практически все, что ему нравится.Второй - выбор, в котором он может выбрать один из заданных значений.
Моя цель - адаптировать методы, используемые Apple в приложении «Настройки».Например, в приложении «Настройки» Apple представляет модальное представление для ввода информации для почтовых учетных записей.Пользователь должен ввести строки для имени, адреса, пароля и т. Д., И он должен выбрать один из четырех вариантов в методах аутентификации SMTP-сервера.
Должен ли я сам все это реализовать?Просто представление данных в табличном виде с использованием ячеек UITableViewCellStyleValue2
и включение редактирования дает мне только возможность добавлять или удалять записи.Однако это явно не то, что я хочу.
Если я действительно должен сам это реализовать, то что лучше?Создание пользовательских ячеек с меткой и UITextField
не проблема, но мне нужно всего около 25 таких ячеек.Я вижу, что нет никакой возможности получить уведомление, если ячейка перемещается за пределы экрана, так как мне лучше сохранить данные, введенные пользователем?
Моя текущая идея состоит в том, чтобы "привязать" UITextField в пользовательской ячейке к ключевому пути в моей модели.Т.е. я указываю путь к ключу для обновления в своей пользовательской ячейке, и с моего контроллера я получаю [model setValue:cell.textField.text forKeyPath:cell.keyPath];
при получении UITextFieldTextDidChangeNotification
.Так является ли хорошей идеей обновление модели для каждого нажатия клавиши?Я сомневаюсь, что это хорошо работает.Для ячеек с множественным выбором я добавил UINavigationController в моё модальное представление.
Есть ли идеи получше?