Swift - UnsafePointer

2022-07-11  本文已影响0人  ienos
let ptr = UnsafeBufferPoint(start: &person, count: 1)
let basePtr = ptr.baseAddress // 首地址
basePtr?.pointee
// 取出地址中的值
ptr.load(as: T.Type)
// 地址偏移
ptr.advanced(by: Int)
// 存储
ptr.storeBytes(of: T, toByteOffset: Int, as: T)
let intPointer = UnsafeMutablePointer<Int>.allocate(capacity: 1) 
intPointer.initialize(to: 10) // 初始化
intPointer.pointee = 4 // 赋值
intPointer.deallocate() // 释放
intValue = try! withUnsafeMutablePointer(to: &intValue, { (ptr: UnsafeMutablePointer<Int>) throws -> Int in
    ptr.pointee += 1
    return ptr.pointee
})
上一篇 下一篇

猜你喜欢

热点阅读