实例方法
store
storeBytes(of:toByteOffset:as:)
将给定值的字节存储到指定偏移量的原始内存中。
声明
func storeBytes<T>(
of value: T,
toByteOffset offset: Int = 0,
as type: T.Type
)
参数
value要存储为原始字节的值。
offset此指针的偏移量,以字节为单位。
offset必须为非负数。默认为零。typevalue的类型。
详述
要存储的类型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:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
