ios 在 Swift 中将 void* 传递给 UISaveVideoAtPathToSavedPhotosAlbum

标签 ios objective-c swift void-pointers

我是 Swift 的新手。我正在尝试在我的类中使用方法签名:

func UISaveVideoAtPathToSavedPhotosAlbum(_ videoPath: String!,
                                   _ completionTarget: AnyObject!,
                                   _ completionSelector: Selector,
                                   _ contextInfo: CMutableVoidPointer)

最后一个参数 contextInfo 在 obj-c 中是一个 void *。

如果我在 Swift 中传递字典,我会得到一个 NSDictionary not a subtype of CMutableVoidPointer 错误。对此有任何帮助将不胜感激。我不知道如何在 Swift 中传递一个 void * 等效参数而不会出现该错误。

最佳答案

Objective-C - 虚空*

Swift - UnsafeMutablePointer

..例子

//将视频保存到相册

UISaveVideoAtPathToSavedPhotosAlbum(yourVideoPath, self, "video:didFinishSavingWithError:contextInfo:", nil)

//视频保存后的 Completion Handler

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

}

关于ios 在 Swift 中将 void* 传递给 UISaveVideoAtPathToSavedPhotosAlbum,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24471744/

相关文章:

ios - 分发证书和私钥

objective-c - 为什么静态库有一个带有 init 方法的类?

objective-c - 托管对象上下文仅保存托管对象循环的最后一条记录

ios - 手动动画纹理时 SKSpriteNode 拉伸(stretch)

ios - 我可以使用 AVCaptureSession 从文件中读取视频吗?

IOS 未知类型名称 appdelegate

ios - 返回前台时导航栏位置重置

swift - 如何使用 Swift 将 tableview 单元格选定的索引数据存储到 Userdefault 中并在上一页 tableview 单元格中使用它?

swift - .map 似乎没有作用于单个项目

macos - 在 Swift 中从 IKImageView 获取 CGImageRef