iPhone: Как сохранить значения после переключения в другое представление и возврата в то же представление? - PullRequest
0 голосов
/ 23 февраля 2011

Как сохранить значения после переключения в другое представление и возврата в то же представление?

Есть ли способ сохранить массив даже после исчезновения вида?

My Array показывает значения в консоли в первый раз, но во второй раз при возврате из другого представления массив показывает (null)

EDIT:

Я использую этот массив, чтобы использовать его в своем основном графике.

Этот массив содержит точки графика для основного графика

1 Ответ

3 голосов
/ 23 февраля 2011

Вообще говоря, у вас есть несколько вариантов для сохранения постоянства данных между представлениями.Без определенного порядка:

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

  2. Сохраните данные в Core Data, загружая их по мере необходимости.Это самый мощный вариант и может быть немного.Базовые данные не являются правильным способом «передачи данных между представлениями», но часто это может быть то, что вам нужно.В качестве дополнительного бонуса ваши данные сохраняются при каждом запуске приложения.

  3. Сохраните данные в вашем делегате.Это похоже на использование NSNotofications.Все ваши объекты могут получить доступ к делегату проще, чем передавать ссылки друг на друга повсюду.

  4. Сохраните массив в NSUserDefaults , предполагая, что ваши данные совместимы.Это похоже на Core Data в том смысле, что оно обеспечивает постоянство, но гораздо более «легкое» и менее мощное.Обратите внимание, что некоторые объекты несовместимы с NSUserDefaults.

Редактировать:

Для хранения массива точек я бы сериализовал его в Core Data.или NSUserDefaults, в зависимости от того, как пользователь взаимодействует с данными и сколько там данных на самом деле.Если точки часто меняются и их много, изучите Базовые данные.Хотя с массивом в NSUserDefaults вы можете нормально работать.Вы просто делаете больше манипуляций с массивами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...