将Int复制到UnsafeMutablePointer

时间:2017-02-27 15:58:14

标签: swift unsafe-pointers

我有Int我要复制到UnsafeMutablePointer<Int32>?

类型的指针

我尝试将其强制转换为Data然后复制它,但复制函数param的类型为UnsafeMutablePointer<UInt8>

这是我尝试过的:

var sizePointer: UnsafeMutablePointer<Int32>?
var numOfBytes = 100
var sizeData = Data(bytes: &(numOfBytes), count: MemoryLayout<Int>.size)
//What's now? How to copy it to the pointer?
//sizeData.copyBytes(to: size, count: MemoryLayout<Int>.size) not working

编辑:

我有以下函数,它获取一个指针。我需要将int复制到该地址。

func f(pointer: UnsafeMutablePointer<Int32>?) {
    var numOfBytes = 100
    //copy numOfBytes  to the pointer's address
}

1 个答案:

答案 0 :(得分:1)

如果你只是试图调用一个期望类型为UnsafeMutablePointer<Int32>的参数的函数,那么它就像这样简单:

func f(_ i: UnsafeMutablePointer<Int32>) {
    print(i.pointee)
}

var x = Int32()
f(&x)