如何将C#的BitConverter.GetBytes(date.ToBinary())转换为Swift

时间:2015-05-20 20:49:36

标签: c# ios swift nsdate

我必须将一些C#-Code移植到Swift。 虽然我可以阅读和转换大部分C#-Code,但我对此有点困惑:

byte[] dateBArr = BitConverter.GetBytes(date.ToBinary());

有没有人应该如何在Swift中使用?

1 个答案:

答案 0 :(得分:0)

是的,我解决了。 这是我的解决方案(如果是IIRC,则为Swift 2.0)

let dateNumber = NSNumber(double: NSDate().timeIntervalSince1970)
let ticks = NSNumber(longLong:dateNumber.longLongValue * 10000000 + 621355968000000000)
let dateDataByteArray:[UInt8] = self.toByteArray(ticks.longLongValue)

并转换为byteArray

func toByteArray<T>(var value: T) -> [UInt8] {
    return withUnsafePointer(&value) {
        Array(UnsafeBufferPointer(start: UnsafePointer<UInt8>($0), count: sizeof(T)))
    }
}