0

Swift 5.0 通常将 NSValue 转换为 CMTimeRange 类型,它在 swift 5.3 中不支持?例如,这在 Xcode 11.7 (Swift 5.0) 中可以正常工作

let nsValue = NSValue(timeRange: CMTimeRange(start: CMTime(seconds: 12, preferredTimescale: 1), duration: CMTime(seconds: 22, preferredTimescale: 1)))
let value = nsValue as? CMTimeRange

但在 Xcode 12 (Swift 5&) 中失败并显示警告:

Cast from 'NSValue' to unrelated type 'CMTimeRange' always fails
4

2 回答 2

1

NSValue具有timeRangeValue,它返回 CMTimeRange 而无需显式强制转换。

于 2020-09-24T18:20:43.167 回答
0

达蒙是正确的:

iOS13:让 value = nsValue as?CM时间范围

iOS14:让值 = nsValue.timeRangeValue

于 2020-09-28T22:05:20.597 回答