Обратите внимание, что это предполагает, что данные находятся в исходном формате. Если вы знаете, что данные являются большими или маленькими, тогда вам может потребоваться сначала поменять байты.
Ответ 2
Вы также можете сделать это так (кроме ответа Адама Розенфилда).
Это будет работать только в том случае, если данные кодируются UTF8.
Если данные в формате endian используют один из соответствующих форматов кодировки из NSUTF16BigEndianStringEncoding, NSUTF16LittleEndianStringEncoding.
Примечание. Данные должны содержать двойное значение. В противном случае вы получите неожиданные результаты.
Ответ 3
Решение с меньшими затратами
const double *double_ptr = [data bytes];
Примеры использования просто:
double val = double_ptr[0]; // the first double value in array