ios – swift 3中的dispatchqueue显示为未解析的标识符

参见英文答案 > Swift 3.0 unresolved identifier for DispatchQueue2个
我试图在主线程上异步拍摄/录制视频.但是,当我调用dispatch.main.async时,我总是收到错误
use of unresolved identifier dispatchQueue

从WWDC到Apple的文档我到处都是,但我看不到这种类型被弃用的证据.

这是代码

if !self.cameraEngine.isRecording {
            if let url = CameraEngineFileManager.temporaryPath("video.mp4") {
                self.cameraButton.setTitle("stop recording",forState: [])
                self.cameraEngine.startRecordingVideo(url,blockCompletion: { (url: NSURL?,error: NSError?) -> (Void) in
                    if let url = url {

                        dispatchQueue.main.async {
                            self.cameraButton.setTitle("start recording",for: .normal)
                            CameraEngineFileManager.saveVideo(url,blockCompletion: { (success: Bool,error: Error?) -> (Void) in
                                if success {
                                    let alertController =  UIAlertController(title: "Success,video saved !",message: nil,preferredStyle: .alert)
                                    alertController.addAction(UIAlertAction(title: "Ok",style: .default,handler: nil))
                                    self.present(alertController,animated: true,completion: nil)
                                }
                            })
                        }
                    }
                })
            }
        }
        else {
            self.cameraEngine.stopRecordingVideo()
        }
    }

解决方法

你可以放
import Foundation

要么

import dispatch

代码的开头,开始使用dispatchQueue类没有任何问题.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...