ios将一个void*传递给Swift中的UISaveVideoAtPathToSavedPhotosAlbum

sam*_*ous 2 objective-c void-pointers ios swift

我是Swift的新手.我正在尝试在我的班级中使用方法签名:

func UISaveVideoAtPathToSavedPhotosAlbum(_ videoPath: String!,
                                   _ completionTarget: AnyObject!,
                                   _ completionSelector: Selector,
                                   _ contextInfo: CMutableVoidPointer)
Run Code Online (Sandbox Code Playgroud)

最后一个参数contextInfo是obj-c中的void*.

如果我在Swift中传递字典,我会得到一个NSDictionary不是CMutableVoidPointer错误的子类型.非常感谢任何帮助.我不知道如何void在Swift中传递*等效参数而不会出现该错误.

小智 9

目标C - 无效*

Swift - UnsafeMutablePointer

..例子

//您将视频保存到相机胶卷的调用

UISaveVideoAtPathToSavedPhotosAlbum(yourVideoPath, self, "video:didFinishSavingWithError:contextInfo:", nil)
Run Code Online (Sandbox Code Playgroud)

//保存视频后的完成处理程序

    func video(videoPath: String, didFinishSavingWithError error: NSError, contextInfo info: UnsafeMutablePointer<Void>) {
// your completion code handled here

}
Run Code Online (Sandbox Code Playgroud)