负载< T>从内存读取原始字节并构造一个类型T的值:
let ptr = ... // Unsafe[Mutable]RawPointer let i16 = ptr.load(as: UInt16.self)
可选地以字节偏移:
let i16 = ptr.load(fromByteOffset: 4,as: UInt16.self)
还假设MemoryBound()将Unsafe [Mutable] RawPointer转换为Unsafe [Mutable]指针T,假设指向存储器包含类型T的值:
let i16 = ptr.assumingMemoryBound(to: UInt16.self).pointee
对于一组值,您可以创建一个“缓冲区指针”:
let i16bufptr = UnsafeBufferPointer(start: ptr.assumingMemoryBound(to: UInt16.self),count: count)
缓冲区指针可能已经足够用于您的目的了
是可以下载的,可以类似于数组枚举.
如有必要,请从缓冲区指针创建一个数组:
let i16array = Array(i16bufptr)
正如@Hamish所说,更多的信息和细节可以在那里找到