【发布时间】:2015-05-25 03:12:15
【问题描述】:
我搜索了很多线程,这是我最后的手段,因为我看到这个问题以不同的方式提出,但不完全是为了快速以及用户名和密码保存。我希望我的 UISwitch 在打开时保存我的用户名和密码信息。我整天都在尝试让这个 UISwitch 使用 NSUserDefaults 保存我的用户名和密码。请帮助我,我正在尝试它,我已经搜索了几乎每个论坛以找到答案,但没有多少人向您展示如何实现它。下面是我的代码。我知道它的暗淡,因为我是一个初学者,但我有我的“登录按钮”保存我的用户名和密码,但我不知道如何让它只在我单击 UISwitch 时保存该信息以及如何保存它在“视图确实加载方法”中。我在这里先向您的帮助表示感谢!!我不知道要在我的 UISwitch 方法中包含哪些代码。 这是我的登录按钮的第一部分,然后我的视图做了加载方法。我没有 UISwitchMethod 的任何代码
override func viewDidLoad() {
super.viewDidLoad()
//Save username and password info if Save UISwitch is selected
switchState.on = NSUserDefaults.standardUserDefaults().boolForKey("switchState")
NSUserDefaults.standardUserDefaults().boolForKey("keepUsername")
NSUserDefaults.standardUserDefaults().boolForKey("keepPassword")
}
@IBAction func LoginButton(sender: AnyObject) {
var username = self.usernameTextField.text
var password = self.passwordTextField.text
var user = PFUser.currentUser()
NSUserDefaults.standardUserDefaults().setObject(username, forKey: "keepUsername")
NSUserDefaults.standardUserDefaults().setObject(password, forKey: "keepPassword")
if count(username) < 4 || count(password) < 5 {
var alert: UIAlertView = UIAlertView(title: "Sorry!", message: "Username Must be greater than 4 characters and the password greater that 5 characters", delegate: self, cancelButtonTitle: "Ok")
alert.show()
}else {
self.actInd.startAnimating()
PFUser.logInWithUsernameInBackground(username, password: password, block: { (user, NSError) -> Void in
self.actInd.stopAnimating()
if ((user) != nil) {
println("Success \(user) logged in")
self.performSegueWithIdentifier("toHomeFromLogin", sender: self)
}else {
var alert: UIAlertView = UIAlertView(title: "error", message: "Please Sign up :)", delegate: self, cancelButtonTitle: "Ok")
alert.show()
}
@IBAction func switchStateChanged(sender: UISwitch) {
NSUserDefaults.standardUserDefaults().setBool(switchState.on, forKey: "switchState")
}
【问题讨论】:
-
您的问题需要更明确一点,我可以看到您正在将 keepUsername 和 keepPassoword 的值读取为布尔值,NSUserDefaults.standardUserDefaults().boolForKey("keepUsername") 并且您是甚至没有尝试将其保存在任何变量或常量中,所以我很困惑您要存档的内容以便能够为您提供帮助
-
嘿 IcaroNz,抱歉这个问题含糊不清,但是当我在我的应用程序中输入用户名和密码并按下登录按钮时,我将用户名和密码保存为对象,我仅当“保存用户信息”UISwitch 已打开时,我才试图让它们出现在应用程序中。我在努力了解 UISwitch 方法中包含哪些代码以及如何使用 NSUserdefault 语句正确实现它。我确定我的代码是错误的,但我正在努力寻找资源来帮助我。提前致谢!
-
目前看起来您在另一个 IBAction 中有一个 IBAction,因为我看不到 LoginButton 的结尾(应该是小写字母)。过去一个更好的代码版本,我会帮助你让它工作。
-
对不起,我输入的代码很糟糕,希望这能给你一个更清晰的画面。我读到我需要视图中的信息确实加载方法,以便应用程序知道在保存时显示用户名和密码。
-
我在 Windows 上进行了审查,所以我不能保证我没有遗漏某些内容或拼写错误,但我认为这应该可以为您提供所需的答案。
标签: swift passwords nsuserdefaults uiswitch