我有一个用Swift 1.2开发的老iOS应用程序。其中使用调度队列来加快运行时间。

dispatch_async(dispatch_get_main_queue()) {

}

在斯威夫特4中,我尝试过如下改变
DispatchQueue.main.async { [weak self] in
        if let strongSelf = self {
            strongSelf.imapFetchFoldersOp?.start({ (error, folders) -> Void in
                    if let error = error {
                        #if DEBUG
                            print("\(String(describing: error._userInfo))")
                        #endif
                    } else {
                        strongSelf.folders = folders! as NSArray
                        strongSelf.fetchInfoForBoxes()
                        print("Floders :\(folders!)")
                    }
                })
            }
        }

我做得对吗?还是需要修改?

最佳答案

你不需要直接发送到后台队列吗?还是需要在主线程上运行?

    DispatchQueue.global().async {…}

关于ios - 在Swift 4中异步使用dispatchQueue加速,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48543011/

10-12 00:10