Ive искал много потоков, и это мое последнее средство, потому что Ive видел, что этот вопрос задавался разными способами, но не точно для быстрого и для сохранения имени пользователя и пароля. Я хочу, чтобы мой UISwitch включался, чтобы сохранить информацию о моем имени и пароле. Я пробовал весь день, чтобы этот UISwitch сохранил мое имя пользователя и пароль, используя NSUserDefaults. Пожалуйста, помогите мне. Я нахожусь на своем пути, пытаясь это сделать, я искал почти каждый форум, чтобы найти ответ, но не многие люди показывают вам, как его реализовать. Ниже мой код. Я знаю его мрачный, поскольку я новичок, но у меня есть моя «кнопка входа», сохраняющая мое имя пользователя и пароль, но я не знаю, как заставить его сохранять эту информацию только тогда, когда я нажимаю UISwitch и как ее сохранить в режиме «view did load». Спасибо за помощь в продвижении!! Я не знаю, какой код включить в мой метод UISwitch. Вот первая часть моей кнопки входа в систему, а затем мой вид действительно загрузил метод. У меня нет никакого кода для UISwitchMethodСохранение имени пользователя и пароля с помощью UISwitch в Swift
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») и вы даже не пытаетесь сохранить его в любой переменной или константе, поэтому я смущаюсь о том, что вы пытаетесь архивировать, чтобы помочь вам – Icaro
Эй, IcaroNz, извините за неопределенность вопроса, но когда я ввожу имя пользователя и пароль в мое приложение и нажмите кнопку «Вход», я сохраняю имя пользователя и пароль в качестве объектов, и я пытаюсь, чтобы они отображались в приложении, только если включена опция «сохранить информацию о пользователе» UISwitch. Я пытаюсь понять, какой код включить в метод UISwitch и как правильно его реализовать с помощью инструкций NSUserdefault. Я уверен, что мой код ошибочен, но я пытаюсь найти ресурсы, чтобы помочь мне. Заранее спасибо! –
На данный момент, похоже, у вас есть IBAction внутри другого IBAction, поскольку я не вижу конца LoginButton (что должно быть строчным). Прошла лучшая версия кода, и я помогу вам заставить ее работать. – Icaro