2009-05-25 4 views
1

В настоящее время я создаю 2 вида и на первом представлении появляется следующая кнопка, после нажатия на нее она переходит в второй вид.Сохранение состояния состояния iphone sdk

Затем во втором представлении я устанавливаю некоторое значение на ярлыке, и когда я нажимаю его, он вернется к первому виду.

Проблема: теперь я вернулся на первый взгляд, если снова нажать следующую кнопку, значение метки, установленное во втором представлении, будет потеряно.

Вопрос: Как сохранить состояние таким образом, чтобы при щелчке следующей кнопки он обнаружил, что метка уже установлена ​​и как таковая отображает предыдущее значение.

ответ

1

зависит от цели. Есть много способов.

Я ожидаю, что каждый раз, когда вы нажимаете второй вид на экран, вы создаете его новый экземпляр. В любом случае, независимо от того, являетесь вы или нет, вы должны сохранить значение метки в модели, а не ожидать, что представление сохранит данные (см. Шаблон проектирования MVC). Затем в функции -viewDidLoad: второго контроллера просмотра установите значение метки в его предыдущее значение.

+0

Привет, спасибо за отзывчивый ответ. Я, я могу сделать то, что вы предложили, которое задает значение в функции viewDidLoad. Также хотелось бы узнать от вас, какие другие способы вы упомянули? Мне было интересно, если у нас, как правило, много данных, чтобы сказать, есть ли более эффективные способы? – 2009-05-25 03:57:22

1

MVC - ваш друг.

В вашем представлении отображаются только данные, хранящиеся в модели. Поэтому, если вы отображаете информацию о пользователе, данные хранятся в объекте person. В вашем представлении будет ссылка на объект человека, который он отображает, чтобы он мог читать данные. В представлении не установлены какие-либо данные о объекте человека, которые выполняются через контроллер. Ваш контроллер мостирует вашу модель (данные) и просматривает, удерживая ссылки на оба.

Пользователь нажимает на элемент на дисплее (например, изменяет имя пользователя), это обрабатывается контроллером, который обновляет модель человека с новым именем. После завершения действия контроллер запрашивает просмотр для повторного отображения данных в модели.

Посмотрите на Model-View-Controller и UIViewController в ссылках Apple.

Смежные вопросы