當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Swift UnsafeMutableRawBufferPointer load(fromByteOffset:as:)用法及代碼示例

實例方法

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+

相關用法


注:本文由純淨天空篩選整理自apple.com大神的英文原創作品 UnsafeMutableRawBufferPointer load(fromByteOffset:as:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。