Преобразовать метод Objective C в Swift для NSInputStream (преобразовать байты в двойной)

У меня есть следующий код в Objective-C:

- (double)readDouble
{
    double value = 0.0;

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

    return value;
}

Оно работает. Но я не знаю, как преобразовать его в Swift. Вот мой код:

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 {

    }
}

Сообщение об ошибке:

Невозможно вызвать '&' со списком аргументов типа '($ T4, maxLength: IntegerLiteralConvertible)'

Кто-нибудь может помочь? Спасибо

Данные тестирования, которые я использую (1.25):

14 AE 47 E1 7A 14 F4 3F

ОБНОВИТЬ:

Простое решение c, но как это сделать в Swift?

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

memcpy(&d, buf, sizeof d);

Ответы на вопрос(3)

Ваш ответ на вопрос