【发布时间】:2018-01-07 13:25:00
【问题描述】:
我知道我需要离开 Swift 2,但我 95% 并且认为我会在转换之前完成。
我正在开发音乐播放器。我有一个持久ID(UInt64)的一维数组,我稍后存储和读取。我可以使用每一个来找到它们对应的专辑标题并将它们存储在一维数组(字符串)中。我的目标是按顺序组合它们,然后按专辑标题对它们进行排序。之后,我想提取现在以不同顺序排列的persistentID。
var array1: [UInt64] = [UInt64]() // Ex: [1, 2, 3, 4, 5]
var array2: [String] = [String]() // Ex: [d, a, e, b, c]
var array2D:[(UInt64, String)] = []
// Unsorted 2D array ex: [[1,d], [2,a], [3,e], [4,b], [5,c]]
// Sorted 2D array ex: [[2,a], [4,b], [5,c], [1,d], [3,e]]
// Final 1D array ex: [2, 4, 5, 1, 3]
我无法创建未排序的二维数组。我在这个网站上找到了以下代码,并认为我可以尝试调整它,但一直收到错误:Expected '{' to start the body of for-each loop
var N: Int
var array: [[Int]] = []
for row in 0..<N {
// Append an empty row.
array.append([Int]())
for _ in 0..<N {
// Populate the row.
array[row].append(Int(arc4random_uniform(100)))
}
}
我花了一天的大部分时间试图弄清楚这一点。
提前谢谢!
【问题讨论】:
-
zip函数在您的 Swift 版本中可用吗?我认为它至少在 Swift 2.2 中可用(不确定),而且我认为你想用它来将两个数组组合成一个元组数组。 -
是的,zip 功能可用。 Xcode 7.3.1。我必须学习元组。非常感谢您的帮助!
标签: swift sorting multidimensional-array