實例方法
load(from
load(fromByteOffset:as:)
返回給定類型的新實例,從緩衝區指針的原始內存中以指定的字節偏移量讀取。
聲明
func load<T>(
fromByteOffset offset: Int = 0,
as type: T.Type
) -> T
返回值
T
類型的新實例,從緩衝區指針的內存中複製。
參數
offset
開始讀取新實例數據的緩衝區指針內存的偏移量(以字節為單位)。緩衝區指針加上
offset
必須正確對齊才能訪問類型為T
的實例。默認為零。type
用於新構造實例的類型。內存必須初始化為與
type
布局兼容的類型的值。
詳述
您可以使用此方法從緩衝區指針的底層字節創建新值。以下示例從緩衝區指針 someBytes
引用的內存中創建兩個新的 Int32
實例。 a
的字節是從 someBytes
的前四個字節複製的,而 b
的字節是從接下來的四個字節複製的。
let a = someBytes.load(as: Int32.self)
let b = someBytes.load(fromByteOffset: 4, as: Int32.self)
為新實例讀取的內存不得超出緩衝區指針的內存區域,即 offset + MemoryLayout<T>.size
必須小於或等於緩衝區指針的 count
。
可用版本
iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+
相關用法
- Swift UnsafeRawBufferPointer last用法及代碼示例
- Swift UnsafeRawBufferPointer lastIndex(of:)用法及代碼示例
- Swift UnsafeRawBufferPointer lexicographicallyPrecedes(_:)用法及代碼示例
- Swift UnsafeRawBufferPointer lastIndex(where:)用法及代碼示例
- Swift UnsafeRawBufferPointer last(where:)用法及代碼示例
- Swift UnsafeRawBufferPointer shuffled(using:)用法及代碼示例
- Swift UnsafeRawBufferPointer isEmpty用法及代碼示例
- Swift UnsafeRawBufferPointer enumerated()用法及代碼示例
- Swift UnsafeRawBufferPointer subscript(_:)用法及代碼示例
- Swift UnsafeRawBufferPointer starts(with:)用法及代碼示例
- Swift UnsafeRawBufferPointer firstIndex(where:)用法及代碼示例
- Swift UnsafeRawBufferPointer contains(where:)用法及代碼示例
- Swift UnsafeRawBufferPointer first(where:)用法及代碼示例
- Swift UnsafeRawBufferPointer allSatisfy(_:)用法及代碼示例
- Swift UnsafeRawBufferPointer suffix(_:)用法及代碼示例
- Swift UnsafeRawBufferPointer randomElement(using:)用法及代碼示例
- Swift UnsafeRawBufferPointer sorted()用法及代碼示例
- Swift UnsafeRawBufferPointer indices用法及代碼示例
- Swift UnsafeRawBufferPointer compactMap(_:)用法及代碼示例
- Swift UnsafeRawBufferPointer init(rebasing:)用法及代碼示例
- Swift UnsafeRawBufferPointer elementsEqual(_:)用法及代碼示例
- Swift UnsafeRawBufferPointer reduce(into:_:)用法及代碼示例
- Swift UnsafeRawBufferPointer filter(_:)用法及代碼示例
- Swift UnsafeRawBufferPointer flatMap(_:)用法及代碼示例
- Swift UnsafeRawBufferPointer randomElement()用法及代碼示例
注:本文由純淨天空篩選整理自apple.com大神的英文原創作品 UnsafeRawBufferPointer load(fromByteOffset:as:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。