gpt4 book ai didi

swift3 - 在 Swift 中使用数据取消隐藏 UITextFields

转载 作者:行者123 更新时间:2023-12-03 23:29:45 25 4
gpt4 key购买 nike

我正在尝试构建一个工作应用程序,我可以在其中为每台机器输入各种作业。我总共有 9 个 UITextFields,它们在 View 加载时隐藏。我有一个添加作业按钮,可以取消隐藏输入文本的字段。我还有一个保存按钮,可以将数据保存到 UserDefaults。我的问题是当我保存数据并退出应用程序时。当 View 加载时,UITextFields 再次隐藏。我可以按下添加作业按钮,它会与保存的数据一起出现。我想要的是让 UITextFields 在退出应用程序之前保持可见(如果其中有文本)。我似乎无法弄清楚如何做到这一点。我是编程新手,非常感谢您提供的任何帮助。

     var addJobButtonPressed = 0
let defaults = UserDefaults.standard


@IBOutlet weak var textField1: UITextField!
@IBOutlet weak var textField2: UITextField!
@IBOutlet weak var textField3: UITextField!
@IBOutlet weak var textField4: UITextField!
@IBOutlet weak var textField5: UITextField!
@IBOutlet weak var textField6: UITextField!
@IBOutlet weak var textField7: UITextField!
@IBOutlet weak var textField8: UITextField!
@IBOutlet weak var textField9: UITextField!

override func viewDidLoad() {
super.viewDidLoad()
textField1.isHidden = true
textField2.isHidden = true
textField3.isHidden = true
textField4.isHidden = true
textField5.isHidden = true
textField6.isHidden = true
textField7.isHidden = true
textField8.isHidden = true
textField9.isHidden = true

textField1.text = defaults.object(forKey: "Job1") as? String
textField2.text = defaults.object(forKey: "Job2") as? String

}

@IBAction func addJobButtonPressed(_ sender: Any) {
addJobButtonPressed += 1
if addJobButtonPressed == 1 {
self.textField1.isHidden = false
}
}


@IBAction func saveButton(_ sender: Any) {
defaults.set(textField1.text, forKey: "Job1")
defaults.set(textField2.text, forKey: "Job2")
defaults.synchronize()

}

最佳答案

替换 viewDidLoad() 用这个方法:

override func viewDidLoad() {
super.viewDidLoad()

updateTextFieldsVisibility()


}

添加以下两种方法:

func updateTextFieldsVisibility(){

updateTextFieldText(textField: textField1, key: "Job1")
updateTextFieldText(textField: textField2, key: "Job2")
updateTextFieldText(textField: textField3, key: "Job3")
updateTextFieldText(textField: textField4, key: "Job4")
updateTextFieldText(textField: textField5, key: "Job5")
updateTextFieldText(textField: textField6, key: "Job6")
updateTextFieldText(textField: textField7, key: "Job7")
updateTextFieldText(textField: textField8, key: "Job8")
updateTextFieldText(textField: textField9, key: "Job9")

}


func updateTextFieldText(textField: UITextField, key: String){

if defaults.object(forKey: key) != nil {

textField.isHidden = false
textField.text = defaults.object(forKey: key) as? String

}
else{

textField.isHidden = true
}

}

虽然它可以通过 viewWithTag 属性或 IBOutletArray 来完成,但是这个简单的步骤让您明白您在寻找什么。

快乐的编码。

关于swift3 - 在 Swift 中使用数据取消隐藏 UITextFields,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51433801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com