如何在Swift </mkmappoint>中设置CMutablePointer <mkmappoint>的值

时间:2014-06-25 17:41:39

标签: objective-c swift

我试图在MKMapView上的2个坐标之间画线,我有数组用于保持所有的poi, 所以我有这个代码

var pointArr: CMutablePointer<MKMapPoint> = nil

我的问题是如何向pointArr添加值?

1 个答案:

答案 0 :(得分:2)

您应该能够创建一个MKMapPoint的数组并将其分配给您的指针:

let lax = MKMapPointForCoordinate(CLLocation(latitude: 33.9424955, longitude: -118.4080684).coordinate)
let jfk = MKMapPointForCoordinate(CLLocation(latitude: 40.6397511, longitude: -73.7789256).coordinate)
var points: MKMapPoint[] = [lax, jfk]
let line = MKPolyline(points: &points, count: points.count)

请注意,CMutablePointer期望指向可变的内容 - 如果使用points而不是let声明var,则将其分配给可变指针(或传递它)到一个可变的指针参数)将无法正常工作。

有关详细信息,请参阅使用Swift with Cocoa和Objective-C 中的Pointers