往返数据的SWIFT编号类型
斯威夫特3倾向于Data
而不是[UInt8]
,我正在尝试找出哪种最有效/惯用的方式将各种数字类型(UInt 8、Double、Float、Int 64等)编码/解码为数据对象。
有这是使用[UInt 8]的答案,但它似乎在使用数据上找不到的各种指针API。
我想基本上是一些自定义扩展,类似于:
let input = 42.13 // implicit Doublelet bytes = input.datalet roundtrip = bytes.to(Double) // --> 42.13
真正让我无法理解的是,我已经看过了一堆文档,我是如何得到某种指针的(OpaquePoter,BufferPoter,还是Unsecurity Poter?)从任何基本结构(所有的数字都是)。在C中,我会在它前面打一个符号,然后你就可以了。