Konvertieren Sie eine Objective-C-Methode in Swift für NSInputStream (konvertieren Sie Bytes in Double)

Ich habe den folgenden Code in Objective-C:

- (double)readDouble
{
    double value = 0.0;

    if ([self read:(uint8_t *)&value maxLength:8] != 8)
    {
        NSLog(@"***** Couldn't read double");
    }

    return value;
}

Es klappt. Aber ich weiß nicht, wie ich es in Swift umwandeln soll. Hier ist mein Code:

public func readDouble() -> Double {

    var value : Double = 0.0

    var num = self.read((uint8_t *)&value, maxLength:8) // got compiling error here!
    if num != 8 {

    }
}

Die Fehlermeldung lautet:

Kann '&' nicht mit einer Argumentliste vom Typ '($ T4, maxLength: IntegerLiteralConvertible)' aufrufen

Kann jemand helfen? Vielen Dan

Die Testdaten, die ich verwende (1.25):

14 AE 47 E1 7A 14 F4 3F

AKTUALISIEREN

Eine einfache c-Lösung, aber wie geht das in Swift?

double d = 0;
unsigned char buf[sizeof d] = {0};

memcpy(&d, buf, sizeof d);

Antworten auf die Frage(3)

Ihre Antwort auf die Frage