如何在Swift中设置数组

时间:2019-11-09 15:23:32

标签: arrays swift coordinates

我正在努力寻找在二维平面上设置一系列航点的正确方法。例如:

第1点:x = 2.3,y = 4.5

第2点:x = 3.1,y = 5.0

...

第83点:x = 25.3,y = 83.1

我希望能够在点数组中循环(例如:对于点10到25,将x坐标向右移动3),并取消单个点(什么是坐标)点42?)。

这在VisualBasic中很简单(将double的wayPoints(100,2)设为Double),但是经过快速的文档之后,我却一无所获。数组的语法似乎要复杂得多。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以为此使用结构。

struct Point {
    var x: Double = 0.0
    var y: Double = 0.0
}

// Create an instance of the point struct
var myPoint = Point(x: 2.5, y: 6.7)

// You can also create an array of Point structs
var points: [Point] = [Point(x: 3.4, y: 8.5)]

您可以在阵列中循环并进行所需的任何更改。正如Leo Dabus所指出的,您不能直接在struct循环中修改for,因此需要通过索引访问数组。例如:

for index in points.indices {
    points[index].x += 30 // This adds 30 to the x coordinate of each point in the array
}

您可以使用下标索引访问数组中的任何点。

var selectedPoint = points[4] // This returns a single Point object

如果需要,还可以使用范围创建新数组。

var rangeOfPoints = points[0...4] // This returns a new array of Points with 5 items