如何在 Xcode 13 中调用具有异步重载的原始同步方法
How to call original synchronous method that has async overload in Xcode 13
最近切换到 Xcode 13.
我有一个 AVAsset 编写器,正在尝试调用该方法
writer.finishWriting()
现在有异步版本和同步版本。
我想调用原始同步版本,但出现错误:
"'async' call in a function that does not support concurrency.
Add 'async' to function to make it asynchronous"
如何调用原来的synchronous/pre-Xcode13版本?
您似乎忘记添加原始函数所期望的尾随闭包。
您想使用 finishWriting(completionHandler:)
。该定义采用尾随闭包,completionHandler
:
func finishWriting(completionHandler handler: @escaping () -> Void)
如果添加尾随闭包:
writer.finishWriting {
/* do stuff */
}
代码将按预期编译。
最近切换到 Xcode 13.
我有一个 AVAsset 编写器,正在尝试调用该方法
writer.finishWriting()
现在有异步版本和同步版本。
我想调用原始同步版本,但出现错误:
"'async' call in a function that does not support concurrency.
Add 'async' to function to make it asynchronous"
如何调用原来的synchronous/pre-Xcode13版本?
您似乎忘记添加原始函数所期望的尾随闭包。
您想使用 finishWriting(completionHandler:)
。该定义采用尾随闭包,completionHandler
:
func finishWriting(completionHandler handler: @escaping () -> Void)
如果添加尾随闭包:
writer.finishWriting {
/* do stuff */
}
代码将按预期编译。