在app退出后保留用户名nsstring

时间:2012-02-07 14:50:04

标签: iphone ios cocoa-touch ipad

您认为在应用中存储简单用户名字符串的正确方法是什么,以便在您再次打开应用时存在?我一直在阅读几种方法:核心数据,plist,nsuserdefaults。

人们使用这些方法的一些方式,如果可能的话,提议方法的优点和缺点是什么?

4 个答案:

答案 0 :(得分:3)

我认为NSUserDefaults将是正确的选择。它用于存储用户的默认设置,这正是您所描述的。此外,您可以从代码中轻松访问。

答案 1 :(得分:3)

NSUserDefaults没问题。但是,我想如果你有一个用户名,你也有一个密码可以登录,不是吗?在这种情况下,为什么不使用Keychain保存呢?

答案 2 :(得分:1)

核心数据被序列化为SQLite,对于处理多个对象并动态创建/删除它们更有意义。

Plists介于Core Data和NSUserDefaults的复杂性之间。它们可以处理具有某种结构的数据,并作为文件保存在文件系统中。

由于您只处理一条信息,因此NSUserDefaults对您来说最有意义。保存字符串所需要做的就是:

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

然后,检索字符串:

NSString *userName = [[NSUserDefaults standardUserDefaults] stringForKey:@"UserName"];

答案 3 :(得分:1)

NSUserDefaults是最好的(在我看来)。但是,如果您决定不使用归档,也可以使用归档。

如果您使用UIDocument,则可以将其链接到云,如果您要通过不同的应用程序同步用户名。