为什么 TextView.text 是空的
Why TextView.text is empty
在我的 iOS 应用程序中,我有 ViewController 带有 Label 和 TextView。默认情况下,它们都没有文本。在 ViewController 的 viewWillAppear 方法中,我检查 - 如果它们为空 - 我将一些来自服务器的字符串放在那些 Label 和 TextView 中。它工作正常,我在屏幕上看到了这个字符串。
但是当我再次打开此 ViewController 并且 viewWillAppear 方法再次运行时 - 它仍然认为 myTextView.text 为空并尝试从服务器获取数据。 myLabel.text 完全符合我的预期 - 它的文本值不为空。
我检查了 TextView 的出口名称是正确的。
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
if (myTextView.text.isEmpty) {
NSLog("myTextView is empty - need to refresh data")
updateStrings() }
}
func updateStrings () {
..... get data from server ....
myTextView.text = string_from_server
myLabel.text = string_from_server
}
首先,您发布的代码看起来不像是您正在使用的代码 - 这不会编译。您需要关闭 NSLog 上的引号,并且需要打开 TextView 文本上的可选内容。
这是按要求工作的同一功能的一个版本
override func viewWillAppear(animated: Bool)
{
super.viewWillAppear(animated)
if (myTextView.text!.isEmpty)
{
NSLog("myTextView is empty - need to refresh data")
myTextView.text = "Hello World" // or updateStrings()
}
}
您是重新加载此视图控制器,还是每次都为其创建一个新实例?
在我的 iOS 应用程序中,我有 ViewController 带有 Label 和 TextView。默认情况下,它们都没有文本。在 ViewController 的 viewWillAppear 方法中,我检查 - 如果它们为空 - 我将一些来自服务器的字符串放在那些 Label 和 TextView 中。它工作正常,我在屏幕上看到了这个字符串。
但是当我再次打开此 ViewController 并且 viewWillAppear 方法再次运行时 - 它仍然认为 myTextView.text 为空并尝试从服务器获取数据。 myLabel.text 完全符合我的预期 - 它的文本值不为空。
我检查了 TextView 的出口名称是正确的。
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
if (myTextView.text.isEmpty) {
NSLog("myTextView is empty - need to refresh data")
updateStrings() }
}
func updateStrings () {
..... get data from server ....
myTextView.text = string_from_server
myLabel.text = string_from_server
}
首先,您发布的代码看起来不像是您正在使用的代码 - 这不会编译。您需要关闭 NSLog 上的引号,并且需要打开 TextView 文本上的可选内容。
这是按要求工作的同一功能的一个版本
override func viewWillAppear(animated: Bool)
{
super.viewWillAppear(animated)
if (myTextView.text!.isEmpty)
{
NSLog("myTextView is empty - need to refresh data")
myTextView.text = "Hello World" // or updateStrings()
}
}
您是重新加载此视图控制器,还是每次都为其创建一个新实例?