【问题标题】:2D Arrays in Swift 3Swift 3 中的二维数组
【发布时间】:2016-10-04 13:30:11
【问题描述】:

我正在尝试使用图形坐标 x 和 y 填充数组。目前这就是我所拥有的:

let chartPoints1 = [(1, 1), (2, 2), (3, 3), (4, 4)].map{ChartPoint(x: ChartAxisValueInt($0.0, labelSettings: labelSettings), y: ChartAxisValueInt($0.1))}

但是,我想通过循环遍历该数组来添加另一个数组中的坐标,如下所示:

let tasks = DatabaseManager.getTasks("Tasks")
let count: Int! = tasks?.count
for i in 1...count {
   chartPoints1.append(i, tasks[i].date)
}

但我似乎无法弄清楚 chartPoints1 到底是什么类型的数组以及 map 函数是如何工作的。

【问题讨论】:

    标签: ios swift3


    【解决方案1】:

    您没有二维数组。您首先有一个元组数组,它​​被映射到一个 ChartPoints 数组。所以,在你的追加中,我认为你正在寻找类似的东西

    chartPoints1.append(ChartPoint(...))
    

    为了进一步澄清,二维数组是数组的数组,可能如下所示:

    [[1, 1], [2, 2], [3, 3]]
    

    数组的每个元素都是一个元组。因此,当您调用map 时,$0 代表当前元组(例如,(1, 1))。元组语法使您可以通过$0.0 获取元组中的第一件事,通过$0.1 获取第二件事等等。考虑到这一点,我认为您应该能够看到如何使用每个元素构造 ChartPoint,因此您的新数组的类型为 [ChartPoint]

    【讨论】:

      猜你喜欢
      • 2014-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多