Вы хотите преобразовать указатель в удвоенный в массив двойных ??
Вы не должны приводить указатель на удвоение к массиву double в swift, так как массив в swift не обязательно совпадает с массивом C. Вместо этого вы копируете содержимое в новый массив. «Низкоуровневый» способ сделать это -
var pointerToDoubles = UnsafeMutablePointer<Double>.allocate(capacity: 10)
var newArray = Array<Double>(repeating: 0, count: 10)
_ = newArray.withContiguousMutableStorageIfAvailable {
UnsafeMutableRawPointer($0.baseAddress!).copyMemory(from: x, byteCount: MemoryLayout<double>.size * 10)
}
Пожалуйста, имейте в виду, что это не безопасно, и произойдет сбой, если вы допустили некоторые ошибки, например, ваш новый массив слишком мал или если ваш указатель не содержит столько ожидаемых элементов.