有很多消息来源解释如何在 Swift 2 中作出基础:
var value: Int = 0
let data: NSData = ...;
data.getBytes(&value, length: sizeof(Int))
然后我更新了 Swift 3 :
的语法/命名var value: Int = 0
let data: NSData = ...;
data.copyBytes(to: &value, count: MemoryLayout<Int>.size)
然而它不起作用。编译器不喜欢value
的类型,它说它应该是UInt8
。但我想要Int
。有谁知道我怎么能实现这个目标?
答案 0 :(得分:6)
也许尝试这样:
var src: Int = 12345678
var num: Int = 0 // initialize
let data = NSData(bytes: &src, length: MemoryLayout<Int>.size)
data.getBytes(&num, length: MemoryLayout<Int>.size)
print(num) // 12345678