Swift:如何存储用户偏好?

时间:2015-05-04 23:30:59

标签: ios swift

我仍然是iOS开发和swift的新手,我不确定我是否过度思考这个问题。我目前正在开发一个应用程序,在打开时需要用户输入他们的登录凭据。这会变得乏味和令人沮丧,因为每次关闭应用程序并再次打开时,用户都必须登录。如果用户已经登录,是否有一种简单的方法可以让程序记住?

我正在研究CoreData,但每个示例都涉及每次都存储一个新对象,并且需要某种查询来获取信息。我真正需要的是一个bool isLoggedIn和一个用于存储用户ID的int。

编辑:

NSUserDefaults 正是我所寻找的。

2 个答案:

答案 0 :(得分:23)

您可以使用NSUserDefaults保存信息,并在下次应用启动时检索信息。

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/index.html

例如:

NSUserDefaults.standardUserDefaults().setObject("mynameisben", forKey: "username")

let userName = NSUserDefaults.standardUserDefaults().stringForKey("username")

答案 1 :(得分:8)

使用NSUserDefaults

Let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject("User", forKey: "userName")

AppDelegate.swift

中启动应用程序时,检查用户名是否存在
didFinishLaunchingWithOptions

如果存在用户名,请跳过登录页面

检查是否NSUserDefaults is nil

if (defaults.objectForKey(userName) != nil) { 
// Skip Login 
}
else {// Show login 
}