【发布时间】:2017-06-07 04:56:10
【问题描述】:
我正在尝试访问函数中的数组,据我了解,Swift 中没有 Arraylist,因此我尝试使用常规列表:
func findNearsetPoints(pointsArray: [Point] , myPoint: Point )-> Array <Point>{
var twoPoint = [Point]()
var minDist1:Double = DBL_MAX;
var minDist2:Double = DBL_MAX;
var distance:Double = 0
for element in pointsArray{
distance = getDistanceBetweenTwoPoints(pointsArray[element], Point); //error 0
if (distance < minDist1) {
minDist1 = distance;
twoPoint[1] = twoPoint[0];
twoPoint[0] = pointsArray[element]; // error 1
}
else if (distance < minDist2) {
minDist2 = distance;
twoPoint[1] = pointsArray[element]; //error 1
}
}
return twoPoint;
}
func getDistanceBetweenTwoPoints(point1:Point , point2:Point )->Double{
return 5; //TODO
}
错误0:
/Users/user/Desktop/proj/ViewController.swift:145:38:无法使用“ViewController.Point”类型的索引为“[ViewController.Point]”类型的值下标
错误 1:
/Users/user/Desktop/proj/ViewController.swift:149:38:无法使用“ViewController.Point”类型的索引为“[ViewController.Point]”类型的值下标
代码有什么问题? 谢谢!
【问题讨论】:
-
你想使用
pointsArray.enumerated()来获取索引、值的元组 -
没错,但对于他的用例,他不需要索引
标签: ios arrays swift xcode swift3