Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 长时间延迟显示屏幕swift 2.2_Ios_Uitableview_Hidden - Fatal编程技术网

Ios 长时间延迟显示屏幕swift 2.2

Ios 长时间延迟显示屏幕swift 2.2,ios,uitableview,hidden,Ios,Uitableview,Hidden,我的应用程序从MySql服务器读取数据,并将其显示在tableview中。在对服务器的调用开始时,应用程序用背景颜色为浅灰色的视图(名为“pdView”)覆盖tableView。该视图是场景的一部分,tableView也是场景的一部分(在IB中设计),但处于隐藏状态,直到调用服务器之前,在服务器上使用 pdView.hidden = false 应用程序获取数据并填充tableview后,使用 dispatch_async(dispatch_get_main_queue(),

我的应用程序从MySql服务器读取数据,并将其显示在tableview中。在对服务器的调用开始时,应用程序用背景颜色为浅灰色的视图(名为“pdView”)覆盖tableView。该视图是场景的一部分,tableView也是场景的一部分(在IB中设计),但处于隐藏状态,直到调用服务器之前,在服务器上使用

    pdView.hidden = false
应用程序获取数据并填充tableview后,使用

     dispatch_async(dispatch_get_main_queue(), { () -> Void in
         tableview.reloadData()
     })
您可以在灰色显示下看到tableView中显示的数据。 然后,我尝试使用

    pdView.hidden = true
但该应用程序需要大约44秒的时间,灰色才会消失。在此期间,我的应用程序运行正常,我可以上下滚动表格

我尝试将代码隐藏在dispatch_async()中,但没有效果


需要做些什么来修复此问题,以便pdView在返回隐藏状态后立即消失?

听起来您正试图从单独的线程更新UI。您需要为您的
pdView.hidden=true
提供一些上下文。你可以试试

dispatch_async(dispatch_get_main_queue(), { () -> Void in
    tableview.reloadData()
    self.pdView.hidden = true
})
注意
self.pdView.hidden.


希望能有所帮助。

所有的用户界面代码都需要来自主线程。这包括更改视图的
隐藏
标志的状态等

您是否将该代码包装在对的调用中

dispatch_async(dispatch_get_main_queue() 

还有?

如果在调用
reloadData()
后立即隐藏它会怎么样?我也尝试过-没有帮助我想知道为什么有人在没有解释的情况下否决了这个问题。我试图在一个简单的小应用程序上复制这个问题。我发现,如果我尝试在dispatch_sync()中不执行'pdView.hidden=true',我确实会得到延迟,但调试窗口中也会出现一条错误消息,上面说:“此应用程序正在从后台线程修改autolayout引擎,这可能导致引擎损坏和奇怪的崩溃。这将在将来的版本中导致异常。”。但在我的应用程序中,我没有收到此消息,这意味着我在dispatch_sync()中执行此操作函数。是的,正如我在描述中提到的那样。您的描述没有提供有关执行
pdView.hidden=false
pdView.hidden=true
语句的上下文的任何信息。您需要编辑您的问题,以提供方法的完整代码以及更多上下文。