Где лучше всего разместить код сохранения / загрузки NSUserDefault? - PullRequest
1 голос
/ 08 февраля 2010

Использование NSUserDefaults для сохранения / загрузки нескольких небольших значений ... это довольно просто.

Но ГДЕ я бы поставил свой код SAVE или LOAD?

Я хочу по умолчанию ЗАГРУЗИТЬ, только если / когда отображается определенный вид. Я хочу, чтобы по умолчанию было SAVE, только когда это представление закрыто / выгружено / скрыто.

(я создал простое приложение, используя «шаблон на основе представления», и мои строковые значения отображаются в представлении внутри UITextFields.)

Ответы [ 3 ]

3 голосов
/ 08 февраля 2010

Как насчет viewWillAppear и dealloc / viewDidDisappear методов этого представления UIViewController?

0 голосов
/ 06 февраля 2012

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

Если у вас есть вместительные пользовательские настройки, массивы и словари, данные нескольких сеансов, не совершайте ошибку, сохраняя их под одним словарем и ключом. Разделите их.

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

0 голосов
/ 08 февраля 2010

Ну, вы говорите о взглядах так:

viewDidLoad / viewWillLoad
viewDidUnload / dealloc

Похоже, хорошие кандидаты. Кроме того, в ваших методах init, особенно если вы хотите инициализировать iVars в этот момент чем-то из NSUserDefaults.

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