我正在尝试在加载视图时填写表格。我是通过在viewDidLoad()
中设置属性来实现的。
我有几个按预期方式工作的字段,例如UIButton
或UILabel
元素。但是,我还有一个自定义构建类AITextField: UITextField
,该类不显示我正在设置的文本:
override func viewDidLoad() {
super.viewDidLoad()
textField.text = name
}
据我所知,该属性在viewWillAppear()
的末尾仍然存在,但是在viewDidAppear()
的开始处设置为空。
我没有看到AITextField
类中的任何代码可以随时将“文本”值重置为空。
任何关于寻找位置的提示将不胜感激。这两个功能都非常简单:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
print(textField.text)
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
print(textField.text)
}
答案 0 :(得分:-2)
解决方案是包装:
override func viewDidLoad() {
super.viewDidLoad()
DispatchQueue.main.async {
textField.text = name
}
}