withUnsafeBytes与Swift 3.1和iOS 9.3

时间:2017-03-29 16:50:42

标签: swift swift3

我在代码中使用一种方法将原始字节转换为Int s。 我之前使用的代码是:

func convert(from data: Data) -> Int? {
  return data.withUnsafeBytes { $0.pointee }
}

这曾经正常工作,直到带有Swift 3.1支持的XCode 8.3出现。现在,相同的方法在iOS 10设备上正常工作,但在运行iOS 9.3的设备(和模拟器)上失败(返回荒谬的大数字)。

示例代码:Data(bytes: [0]).withUnsafeBytes { $0.pointee } as Int返回-4611686018427387903

遇到同样问题的人?

0 个答案:

没有答案