UnsafeMutablePointer в быстром как замена для массива C надлежащего размера в Obj-C
Как я могу взаимодействовать с функциями в swift, которые раньше использовали размерные массивы C?
Я прочиталВзаимодействие с C APIS и до сих пор не могу понять это.
Документация для параметра координированияfunc getCoordinates(_ coords:UnsafeMutablePointer<CLLocationCoordinate2D>,range range: NSRange)
гласит: «На входе вы должны предоставить массив структур C, достаточно большой, чтобы вместить желаемое количество координат. На выходе эта структура содержит запрошенные данные координат».
Я попробовал несколько вещей, совсем недавно:
var coordinates: UnsafeMutablePointer<CLLocationCoordinate2D> = nil
polyline.getCoordinates(&coordinates, range: NSMakeRange(0, polyline.pointCount))
Должен ли я использовать что-то вроде:
var coordinates = UnsafeMutablePointer<CLLocationCoordinate2D>(calloc(1, UInt(polyline.pointCount)))
Выдернуть мои волосы здесь ... есть мысли?