Come posso interagire con le funzioni in rapido utilizzate per acquisire array C di dimensioni?UnsafeMutablePointer in rapido come sostituto per C Array di dimensioni corrette in Obj-C
Ho letto tramite Interacting with C APIS e ancora non riesco a capirlo.
La documentazione per il parametro coords of func getCoordinates(_ coords:UnsafeMutablePointer<CLLocationCoordinate2D>,range range: NSRange)
afferma: "All'ingresso, è necessario fornire un array C di strutture abbastanza grandi da contenere il numero di coordinate desiderato. In uscita, questa struttura contiene i dati di coordinate richiesti."
ho provato diverse cose, più di recente:
var coordinates: UnsafeMutablePointer<CLLocationCoordinate2D> = nil
polyline.getCoordinates(&coordinates, range: NSMakeRange(0, polyline.pointCount))
avrei dovuto usare qualcosa come:
var coordinates = UnsafeMutablePointer<CLLocationCoordinate2D>(calloc(1, UInt(polyline.pointCount)))
Tirando fuori i miei capelli qui ... tutti i pensieri?
Hai provato: 'var coordinate = UnsafeMutablePointer()'? –
Purtroppo, sì. Risultati in: ''UnsafeMutablePointer' non è identico a 'CLLocationCoordinate2D'' Che non ha alcun senso per me dato che dovrebbe essere' UnsafeMutablePointer ' nella funzione. –
Non ho un errore del compilatore con 'var coordinates = [CLLocationCoordinate2D]()', ma la funzione 'getCoordinates' non restituisce nulla a' & coordinate' –