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