无法将不可变值作为 inout 参数传递:来自 'UnsafePointer<UInt8> 的隐式转换?到 'UnsafePointer<UInt8>?' 需要一个临时的

Cannot pass immutable value as inout argument: implicit conversion from 'UnsafePointer<UInt8>? to 'UnsafePointer<UInt8>?' require a temporary

我已经在 Swift2.3 中编写了一个方法来解析 InAppPurchase 的收据,现在我将其转换为 Swift3。所以我收到这个错误。任何人都有想法,如何解决这个问题?

这样试试,

var p: UnsafePointer<UInt8>? = (data as NSData).bytes.bindMemory(to: UInt8.self, capacity: data.count)