二元运算符+ =不能应用于类型&#39; UnsafeMutablePointer <uint8>的操作数?&#39;和&#39; Int&#39;

时间:2017-12-13 06:51:03

标签: ios swift3 migration

在进行Swift转换时,我收到了一个错误:

  

二元运算符+ =不能应用于&#39; UnsafeMutablePointer类型的操作数?&#39;和&#39; Int&#39;

我的代码:

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

1 个答案:

答案 0 :(得分:0)

p可选值。你应该以安全的方式增加它。

this answer所示,您可以这样做:

p = p.map { $0 + Int(avpkt.size) }