【发布时间】:2018-09-01 18:36:44
【问题描述】:
我正在尝试通过字符串加载用户在 viewDidLoad 中输入的值。我正在使用 UserDefaults 将他们输入的用户值保存到 UITextField (userValue) 中,然后将其保存到字符串“搜索”中。我能够在 GoButton 函数中打印出 search 的值,并且工作正常,但是当我将 ViewController 加载为新的时,'search' 的值等于 nil。这里的目的是保存用户之前的搜索,并在加载 ViewController 时加载到 UITextField(用作搜索框)中。
代码如下:
class ViewController: UIViewController {
@IBOutlet weak var userValue: UITextField!
var search: String!
}
viewDidLoad:
override func viewDidLoad() {
if (search != nil)
{
userValue.text! = String (search)
}
}
按钮功能:
@IBAction func GoButton(_ sender: Any) {
let userSearch: String = userValue.text!
let perference = UserDefaults.standard
perference.set(userSearch, forKey: "hello")
perference.value(forKey: "hello")
let value = perference.value(forKey: "hello") as! String
search = value
print (search) // <<this works, it prints out the users search value
}
【问题讨论】:
标签: ios swift string userdefaults