Ios 为什么TextView.text是空的
在我的iOS应用程序中,我有带有标签和文本视图的ViewController。默认情况下,它们都没有文本。在VIEWWILLEXPENCE的ViewController方法中,我检查-如果它们为空-我将来自服务器的一些字符串放入这些标签和文本视图中。它工作正常,我在屏幕上看到了这个字符串 但当我再次打开这个ViewController并且viewWillAppear方法再次运行时,它仍然认为myTextView.text是空的,并尝试从服务器获取数据。myLabel.text的工作方式与我预期的完全相同-它的文本值不是空的 我检查了TextView的出口名称是否正确Ios 为什么TextView.text是空的,ios,xcode,swift,xcode7,Ios,Xcode,Swift,Xcode7,在我的iOS应用程序中,我有带有标签和文本视图的ViewController。默认情况下,它们都没有文本。在VIEWWILLEXPENCE的ViewController方法中,我检查-如果它们为空-我将来自服务器的一些字符串放入这些标签和文本视图中。它工作正常,我在屏幕上看到了这个字符串 但当我再次打开这个ViewController并且viewWillAppear方法再次运行时,它仍然认为myTextView.text是空的,并尝试从服务器获取数据。myLabel.text的工作方式与我预期的
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()
}
}
您是要重新加载此视图控制器,还是每次都要创建一个新的视图控制器实例?能否发布您已实现的代码?如何在内存中加载此控制器。。?它是重新加载的吗。。?这是第二次在viewdidload中放置断点,如果再次调用它,则再次加载控制器。我添加了我实现的代码。我假设从服务器获取数据部分发生在后台线程上,我看不出你会回到主线程来更新UI。它正在正确地更新UI你是对的-这是我代码的缩短版本。我使用MMDrawerController显示视图。