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

时间:2017-09-28 07:54:14

标签: objective-c iphone uitableview ios11 xcode9

我有一个带有各种帖子的UITableView,用户可以评论。一旦用户点击单元格中的注释按钮,就会加载注释视图控制器,并且会调用viewwillappear,但在呈现视图之前,应用程序会冻结。我正在进行API调用以获取viewDidLoad中的注释,并在API调用完成后重新加载表。我无法确定iOS 11在哪些方面做得与众不同。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

在后台线程中调用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
            }
        })

答案 1 :(得分:0)

问题似乎与导航控制器有关,就像iOS 11过渡时的大多数问题一样。

我在viewDidLoad中为viewcontroller设置了正确的条形按钮。评论了一行代码并将其移至viewDidAppear并且应用程序并未冻结。

但是 当用户点击后退按钮时,这会导致另一次冻结。所以我在XCode 9中重新创建了segues, 没有 在导航项上设置了正确的条形按钮。这似乎解决了这个问题,现在还没有任何冻结。希望这有助于其他人。