Wie kann ich interagieren mit Funktionen in Swift, die Größe C-Arrays zu nehmen?UnsafeMutablePointer in swift als Ersatz für C-Array der richtigen Größe in Obj-C
Ich lese durch Interacting with C APIS und kann immer noch nicht herausfinden.
Die Dokumentation für den Parameter coords von func getCoordinates(_ coords:UnsafeMutablePointer<CLLocationCoordinate2D>,range range: NSRange)
besagt: "Bei der Eingabe müssen Sie ein C-Array mit Strukturen bereitstellen, die groß genug sind, um die gewünschte Anzahl an Koordinaten zu enthalten. Bei Ausgabe enthält diese Struktur die angeforderten Koordinatendaten."
Ich habe versucht, einige Dinge, die zuletzt:
var coordinates = UnsafeMutablePointer<CLLocationCoordinate2D>(calloc(1, UInt(polyline.pointCount)))
Ziehen meine Haare hier ... irgendwelche Gedanken:
var coordinates: UnsafeMutablePointer<CLLocationCoordinate2D> = nil
polyline.getCoordinates(&coordinates, range: NSMakeRange(0, polyline.pointCount))
Würde ich so etwas wie verwenden?
Haben Sie versucht: 'var coordinates = UnsafeMutablePointer()'? –
Leider ja. Ergebnisse in: ''UnsafeMutablePointer' ist nicht identisch mit 'CLLocationCoordinate2D'' was für mich eigentlich keinen Sinn ergibt, da es auch' UnsafeMutablePointer ' in der Funktion sein sollte. –
Ich bekomme keinen Compilerfehler mit 'var coordinates = [CLLocationCoordinate2D]()', aber die 'getCoordinates' Funktion gibt nichts an' & coordinates' zurück. –