我知道,此问题的主题曾多次被问到,但我没有为我的问题找到正确的解决方案,所以我希望有人可以帮助我。
我有两个viewControllers
。在firstVC
中,我使用textView
更改了我的文字。此文本存储在UserDefaults
中。现在,我想在secondVC
的{{1}}上显示存储的文字。
我的textView
代码:
firstVC
在这里,我在文本字段中编写文本并存储它。
我的class editprofileViewController: UIViewController {
@IBOutlet weak var changeTextInput: UITextField!
let defaults = UserDefaults.standard
override func viewDidLoad() {
super.viewDidLoad()
let stringKey = UserDefaults.standard
changeTextInput.text = stringKey.string(forKey: "savedStringKey")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
@IBAction func change(_ sender: Any) {
let myText = changeTextInput.text;
UserDefaults.standard.set(myText, forKey: "savedStringKey")
UserDefaults.standard.synchronize()
}
}
:
secondVC
感谢您的帮助!
答案 0 :(得分:0)
每次都在USerDeaults
存储是不可能的。请记住,用户默认值可以包含少量数据。您可以提供的唯一非常必要的信息。
来到您的场景,如果您每次都从 FirstVC 导航到 SecondVC ,那么只需在第二个视图控制器上全局添加一个变量,然后在导航前在firstView控制器中分配到第二视图控制器。
答案 1 :(得分:0)
First ViewController
导入UIKit
类ViewController:UIViewController {
@IBOutlet weak var txtView: UITextView! //your textView
override func viewDidLoad() {
super.viewDidLoad()
}
//MARK: - Button Action
@IBAction func btnClick(_ sender: UIButton) {
let userDefaultStore = UserDefaults.standard //userDefault object
userDefaultStore.set(txtView.text, forKey: "key_Value") //store textView value in userDefault
//navigate secondViewController
let secondVC = storyboard?.instantiateViewController(withIdentifier: "SecondViewController") as! SecondViewController
self.navigationController?.pushViewController(secondVC, animated: true)
}
}
第二个ViewController
导入UIKit
类SecondViewController:UIViewController {
@IBOutlet weak var txtView: UITextView! // your textView
override func viewDidLoad() {
super.viewDidLoad()
let userDefault = UserDefaults.standard //create UserDefault object
txtView.text = userDefault.string(forKey: "key_Value")!//get userdefault value using same key which used to store date and set in textView
txtView.isUserInteractionEnabled = false
}
}
答案 2 :(得分:-1)
您可以使用UserDefaults.standard.string(forKey: )
函数获取UserDefaults
中存储的值。试试这个
self.bioTxt.text = UserDefaults.standard.string(forKey: "savedStringKey")