我是编程新手,现在正在开发一个需要登录系统的应用程序。 (一个不太安全的系统)。我写了以下代码
@IBAction func CreateACPressed(_ sender: Any) {
if usernameTextField2.hasText && passswordTExtField2.hasText {
let newUser = accountInfo(username: usernameTextField2.text!, password: passswordTExtField2.text!)
var randomTestingArr : NSArray = [accountInfo]() as NSArray
randomTestingArr.adding(newUser)
let defaults = UserDefaults.standard
defaults.set(randomTestingArr, forKey: "ACArr")
defaults.synchronize()
let array = defaults.array(forKey: "ACArr") as? [accountInfo] ?? [accountInfo]()
for i in array{
print("username: \(i.username) password: \(i.password)")
}
// temp retrieve
}else {
print("you havent entered anything")
}
}
但是当我点击应用程序上的创建按钮时,控制台没有打印出我输入的用户名和密码。
这里有什么问题吗?
最佳答案
您尝试储蓄的方式可能会产生问题。
而不是这个
let defaults = UserDefaults.standard
defaults.set(randomTestingArr, forKey: "ACArr")
defaults.synchronize()
替换为:
let defaults = UserDefaults.standard
defaults.set(usernameTextField2.text!, forKey: "UserName")
defaults.set(passswordTExtField2.text!, forKey: "Password")
defaults.synchronize()
我确信它会正常工作。
关于IOS UserDefault 无法存储在本地,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41647564/