2017-02-27 40 views
-1

我有一个Int我想要复制到类型的指针UnsafeMutablePointer<Int32>?复制诠释到UnsafeMutablePointer

我试图将其转换为数据,然后将其复制,但复制功能参数是类型的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 
} 
+0

我编辑的问题 – Roee84

回答

1

如果你只是想打电话给其预计UnsafeMutablePointer<Int32>类型的参数的函数,那么它就是这么简单:

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

var x = Int32() 
f(&x) 
+0

在那个例子中可以说我想将x复制到我指向的地址(其中我已经在其他地方进行了连接)。 – Roee84

+0

那么相当于C代码'* i = x;'?在Swift中,这将是'i.pointee = x' – Alexander

+0

是的,但我想要复制该值(因为它在本地函数中定义)。 – Roee84