如何在Swift </unsafemutablepointer>中循环遍历<unsafemutablepointer>数组的元素

时间:2014-12-14 22:38:46

标签: arrays swift

我是Swift的新手,想要通过调用myPoly.points()从MKPolygon中获取MKMapPoints数组。 但是,我仍然坚持如何循环遍历C指针数组的每个元素。

 for element in myPointsArray {} 

不起作用,我不知道如何确定Swift中此类数组的元素数量。有任何想法吗?谢谢你的帮助!

2 个答案:

答案 0 :(得分:12)

UnsafeBufferPointer提供了一个不安全的指针和一个计数作为集合,因此您可以在...上面,安全地下标,将其传递给处理集合等的算法:

for point in UnsafeBufferPointer(start: poly.points(), count: poly.pointCount) {
    println("\(point.x),\(point.y)")
}

答案 1 :(得分:2)

您可以从MKPolygon.pointCount属性获取积分数。并使用传统的points循环迭代for ; ; {}

let myPointsArray = myPoly.points()

for var i = 0, len = myPoly.pointCount; i < len; i++ {
    let point = myPointsArray[i]
    println(point)
}