Сохранить имя пользователя nsstring после выхода из приложения - PullRequest
0 голосов
/ 07 февраля 2012

Что вы считаете правильным способом хранения простой строки имени пользователя в вашем приложении, чтобы оно появилось при повторном открытии приложения?Я читал несколько способов сделать это: основные данные, plist, nsuserdefaults.

Каким образом люди используют это, и, если возможно, плюсы и минусы предложенного пути?

Ответы [ 4 ]

3 голосов
/ 07 февраля 2012

NSUserDefaults в порядке. Тем не менее, я думаю, что если у вас есть имя пользователя, у вас также есть пароль для входа, не так ли? В таком случае, почему бы вам не использовать Keychain, чтобы сохранить его?

3 голосов
/ 07 февраля 2012

Я думаю, что NSUserDefaults будет правильным выбором здесь. Это там для хранения настроек пользователя по умолчанию, что именно то, что вы описываете. Кроме того, это очень легко получить доступ из вашего кода.

1 голос
/ 07 февраля 2012

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

При этом, если вы используете UIDocument, вы можете связать его с облаком, если вы хотите синхронизировать имена пользователей в разных приложениях.

1 голос
/ 07 февраля 2012

Базовые данные сериализуются в SQLite, и это имеет больше смысла, когда вы имеете дело со многими объектами и динамически создаете / удаляете их.

Списки находятся где-то между сложностью Core Data и NSUserDefaults.Они могут обрабатывать данные с некоторой структурой и сохраняться в виде файла в файловой системе.

Поскольку вы имеете дело только с одним фрагментом информации, NSUserDefaults имеет для вас наибольшее значение.Все, что вам нужно сделать, чтобы сохранить строку:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:userNameString forKey:@"UserName"];
[defaults synchronize];

Затем, чтобы получить строку:

NSString *userName = [[NSUserDefaults standardUserDefaults] stringForKey:@"UserName"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...