二元运算符 += 不能应用于 'UnsafeMutablePointer<UInt8>?' 和 'Int' 类型的操作数

binary operator += cannot be applied to operands of type 'UnsafeMutablePointer<UInt8>?' and 'Int'

在进行 Swift 转换时,出现错误:

binary operator += cannot be applied to operands of type 'UnsafeMutablePointer?' and 'Int'

我的代码:

var avpkt = AVPacket()
var p : UnsafeMutablePointer<UInt8>? = nil
avpkt.data = UnsafeMutablePointer<UInt8>(mutating: inbuf)

p = avpkt.data
p += Int(avpkt.size) // error at this line

p 是一个 可选值 。您应该以安全的方式增加它。

正如 所建议的那样,您可以简单地执行以下操作:

p = p.map { [=10=] + Int(avpkt.size) }