UITableView在heightForRowAtIndexPath和cellForRowAtIndexPath之间挂起5秒钟

问题描述:

我在这里有一个非常奇怪的行为。我正在使用RSSKit来下载和解析XML-Feed。到现在为止还挺好。这在几毫秒内发生。在完成之后,我在我的TableView上调用reloadData。此后立即调用numberOfRowsInSection和heightForRowAtIndexPath,然后在约5秒内没有发生任何事情。只有在5秒后cellForRowAtIndexPath被调用。UITableView在heightForRowAtIndexPath和cellForRowAtIndexPath之间挂起5秒钟

它变得更奇怪!在此期间什么都没有发生,tableView已经完全响应。与UI进行交互时,会立即调用cellForRowAtIndexPath。

在reloadData没有改变任何东西之后,直接在tableview上放置一个setNeedsDisplay。我认为这个问题似乎与iOS的Window-Server连接?

一个小小的总结现在看起来如何:UI的更新过程似乎没有反应约5秒,而手机什么都不做。

任何人都知道这可以跟踪到一个原因?

我的失败! dispatch_sync(dispatch_get_main_queue()...回到主线程中,一切正常...