實例方法
store
storeBytes(of:toByteOffset:as:)
將給定值的字節存儲到指定偏移量的原始內存中。
聲明
func storeBytes<T>(
of value: T,
toByteOffset offset: Int = 0,
as type: T.Type
)
參數
value
要存儲為原始字節的值。
offset
此指針的偏移量,以字節為單位。
offset
必須為非負數。默認為零。type
value
的類型。
詳述
要存儲的類型T
必須是普通類型。此指針處的內存加上 offset
必須正確對齊才能訪問 T
。內存還必須未初始化,初始化為 T
,或初始化為與 T
布局兼容的另一種普通類型。
調用 storeBytes(of:toByteOffset:as:)
後,內存被初始化為 value
的原始字節。如果內存綁定到與 T
布局兼容的類型 U
,則它包含類型為 U
的值。調用storeBytes(of:toByteOffset:as:)
不會更改內存的綁定類型。
如果您需要將非平凡值的副本存儲到內存中,或將值存儲到包含非平凡值的內存中,則不能使用storeBytes(of:toByteOffset:as:)
方法。相反,您必須知道先前在內存中的值的類型並初始化或分配內存。例如,要替換存儲在原始指針 p
中的值,其中 U
是當前類型,T
是新類型,請使用類型化指針訪問並取消初始化當前值,然後再使用新的值。
let typedPointer = p.bindMemory(to: U.self, capacity: 1)
typedPointer.deinitialize(count: 1)
p.initializeMemory(as: T.self, repeating: newValue, count: 1)
可用版本
iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+
相關用法
- Swift UnsafeMutableRawPointer ..<(_:_:)用法及代碼示例
- Swift UnsafeMutableRawPointer ...(_:_:)用法及代碼示例
- Swift UnsafeMutableRawPointer initializeMemory(as:repeating:count:)用法及代碼示例
- Swift UnsafeMutableRawPointer advanced(by:)用法及代碼示例
- Swift UnsafeMutableRawPointer ..<(_:)用法及代碼示例
- Swift UnsafeMutableRawPointer bindMemory(to:capacity:)用法及代碼示例
- Swift UnsafeMutableRawPointer initializeMemory(as:from:count:)用法及代碼示例
- Swift UnsafeMutableRawPointer ...(_:)用法及代碼示例
- Swift UnsafeMutableRawPointer withMemoryRebound(to:capacity:_:)用法及代碼示例
- Swift UnsafeMutableRawPointer用法及代碼示例
- Swift UnsafeMutableRawBufferPointer shuffle()用法及代碼示例
- Swift UnsafeMutableRawBufferPointer compactMap(_:)用法及代碼示例
- Swift UnsafeMutableRawBufferPointer contains(where:)用法及代碼示例
- Swift UnsafeMutableRawBufferPointer allSatisfy(_:)用法及代碼示例
- Swift UnsafeMutableRawBufferPointer map(_:)用法及代碼示例
- Swift UnsafeMutableRawBufferPointer starts(with:)用法及代碼示例
- Swift UnsafeMutableRawBufferPointer isEmpty用法及代碼示例
- Swift UnsafeMutableRawBufferPointer sorted()用法及代碼示例
- Swift UnsafeMutableRawBufferPointer indices用法及代碼示例
- Swift UnsafeMutableRawBufferPointer randomElement(using:)用法及代碼示例
- Swift UnsafeMutableRawBufferPointer reduce(_:_:)用法及代碼示例
- Swift UnsafeMutableRawBufferPointer split(maxSplits:omittingEmptySubsequences:whereSeparator:)用法及代碼示例
- Swift UnsafeMutableRawBufferPointer sort(by:)用法及代碼示例
- Swift UnsafeMutableRawBufferPointer lexicographicallyPrecedes(_:)用法及代碼示例
- Swift UnsafeMutableRawBufferPointer forEach(_:)用法及代碼示例
注:本文由純淨天空篩選整理自apple.com大神的英文原創作品 UnsafeMutableRawPointer storeBytes(of:toByteOffset:as:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。