实例方法
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:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。