2016-04-14 69 views

回答

2

对应的SWIFT代码是

let value = UnsafePointer<Float>(data.bytes).memory 

其中 - 作为Objective-C代码 - 假定NSData 物体具有(至少)4个字节,代表在主机字节顺序的浮点值 。

  • UnsafePointer<Float>(..)对应于(float *)演员。
  • .memory对应于解引用运算符*

另一种方法是

var value : Float = 0 
data.getBytes(&value, length: sizeofValue(value)) 
+0

你救了我的天!谢谢十亿。 – masgar

+0

出于好奇,有没有我们应该注意的内存管理问题?或者裁判计数会照顾这个吗? –

+0

@MauryMarkowitz:你有什么内存管理问题?字节被复制到'value'变量中,'struct Float'是一个值类型,而不是引用类型。 –