从 UITableViewCell 转换到另一个视图控制器冻结应用程序 - iOS 11

Transition to another View Controller from UITableViewCell Freezes the app - iOS 11

我有一个包含各种帖子的 UITableView,用户可以对其发表评论。一旦用户点击单元格中的评论按钮,就会加载评论视图控制器,并调用 viewwillappear 但在呈现视图之前,应用程序会冻结。我正在调用 API 以获取 viewDidLoad 中的评论,并在 API 调用完成后重新加载 table。我无法弄清楚 iOS 11 在哪里做不同的事情。任何帮助将不胜感激。

在后台线程中调用 API

let dispatchTime: DispatchTime = DispatchTime.now() + Double(Int64(0.1 * Double(NSEC_PER_SEC))) / Double(NSEC_PER_SEC)
        DispatchQueue.main.asyncAfter(deadline: dispatchTime, execute: {
            DispatchQueue.main.async{

               //Call API function here
            }
        })

问题似乎出在导航控制器上,就像 iOS 11 转换中的大多数问题一样。

我正在为 viewDidLoad 中的 viewcontroller 设置右栏按钮。评论了那行代码并将其移至 viewDidAppear 并且该应用程序没有冻结。

但是 当用户点击后退按钮时,这会引起另一次冻结。所以我在 XCode 9 中重新创建了 segues 并且 根本没有 在导航项上设置右栏按钮。这似乎解决了这个问题,现在没有任何冻结。希望这对其他人有帮助。