将NSData UnsafePointer操作转换为Swift 3

将NSData UnsafePointer操作转换为Swift 3,swift,nsdata,swift3,Swift,Nsdata,Swift3,我花了很长时间将我的NSData swift 2.2代码转换成3 我在一个文件中有很多相似的错误,我无法编译它来检查我的转换。以下是原文: let dataPtr = UnsafePointer<UInt8>(bytes).advancedBy(f_offset) let retVal = UnsafePointer<T>(dataPtr).memory 我不知道如何转换第二行,因为内存不是UnsafeRawPointer的成员,而swift3似乎需要UnsafeRa

我花了很长时间将我的NSData swift 2.2代码转换成3

我在一个文件中有很多相似的错误,我无法编译它来检查我的转换。以下是原文:

let dataPtr = UnsafePointer<UInt8>(bytes).advancedBy(f_offset)

let retVal = UnsafePointer<T>(dataPtr).memory
我不知道如何转换第二行,因为内存不是UnsafeRawPointer的成员,而swift3似乎需要UnsafeRawPointer

如何转换这两行


如果我得到更具体的错误,我会发布它们。

假设您的
字节
是从一些
NSData
字节
属性中获取的:

let bytes = nsData.bytes
那么您就不需要使用
UnsafeRawPointer(:)

并且可以使用
UnsafeRawPointer
的方法:

let retVal = dataPtr.load(as: T.self)

这可能会有帮助:谢谢。在其他几行上有点帮助,但在我的主要问题上没有。我正在更新一个问题。
let dataPtr = bytes.advanced(by: f_offset)
let retVal = dataPtr.load(as: T.self)