Verwendung von withMemoryRebound mit Apples Swift 3 Beta 6

Ich habe das folgende Problem. Ich möchte meine alte Funktion konvertieren (funktionierte bis Swift 3 Beta 5):

func binarytotype <T> (_ value: [UInt8], _: T.Type) -> T
{
    return value.withUnsafeBufferPointer
    {
        return UnsafePointer<T>($0.baseAddress!).pointee
    }
}

Um Swift 3 Beta 6 Syntax. Diese Funktion konvertiert ein Array von UInt8 in einen anderen Typ, zum Beispiel:

let b: [UInt8] = [1,2,3,4,5,6,7,8]
var number: Double = binarytotype(b, Double.self)

Aber im Moment funktioniert dies in Beta 6 nicht mehr und ich muss withMemoryRebound verwenden, aber ich weiß wirklich nicht, wie ich es zum Laufen bringen soll. Kann mir jemand helfen

Die umgekehrte Funktion war:

func typetobinary <T> (_ value: T) -> [UInt8]
{
    var v: T = value
    return withUnsafePointer(to: &v)
    {
        Array(UnsafeBufferPointer(start: UnsafePointer<UInt8>($0), count: MemoryLayout<T>.size))
    }
}

Das funktioniert auch nicht mehr. Gleiches Problem. Beides wird für einige meiner Projekte benötigt. Diese Umkehrfunktion wurde aufgerufen als:

var binary: [UInt8] = typetobinary(number)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage