我不断收到警告,该警告不会破坏我的代码,但我想解决该问题。
asset.loadValuesAsynchronously(forKeys: keys) {
DispatchQueue.main.async {
var error: NSError?
let status = asset.statusOfValue(forKey: "playable", error: &error)
错误:
“loadValuesAsynchronously(forKeys:completionHandler:)”在 iOS 16.0 中已弃用:请改用 load(_:)。对于没有 AVAsyncProperty 等效项的未弃用属性,请继续同步查询这些属性
“statusOfValue(forKey:error:)”在 iOS 16.0 中已弃用:改用 status(of:)
尝试重命名但不知道如何。
您的代码是这样的:
asset.loadValuesAsynchronously(forKeys: keys) {
DispatchQueue.main.async {
var error: NSError?
let status = asset.statusOfValue(forKey: "playable", error: &error)
正如警告所述,
loadValuesAsynchronously
已已弃用,建议使用 load(_:)
。请注意,它接受 AVAsyncProperty 作为参数。
因此,如果我们修改上面的代码片段,我们会得到(例如):
let isPlayable = try await asset.load(.isPlayable)
还可以传入多个属性。