ios - 在 Xcode 8.2 中编译大型数组文字

标签 ios arrays swift xcode multidimensional-array

使用 Swift 存储大型多维数组的最佳方法是什么?

我有一个 4D 整数数组,它似乎已经减慢了在 Xcode 8.2 中的编译速度,现在它大约有 200 组 9 个整数(总共 1800 个)。第一个数组由 12 个数组组成,然后每个数组有 8 个数组,然后每个数组有 2 个或更多数组,每个数组由 9 个整数组成。问题是我计划可能将数据量增加 5 或 6 倍。

我昨晚无法编译我的应用程序,今天早上它终于可以运行了,但速度仍然很慢。我认为当我添加到数组中时问题会变得更糟。

有些人说只需将每个数组附加到 viewDidLoad 中,有些人提到为 txt 文件加载数组,但我不知道该怎么做。

最佳答案

我很抱歉继续开同样的玩笑,但你需要像超人穿裤子一样做这件事:一次一条腿。从整体结构入手。然后继续制作最里面的数组并将它们附加到外部数组中以构建最外面的数组。这将使您入门:

var level1 : [[[[Int]]]] = []
var level2 : [[[Int]]] = []
var level3 : [[Int]] = []
// -----
level3 = []
let innermost1 = [1,2,3,4,5,6,7,8,9]
let innermost2 = [11,12,13,14,15,16,17,18,19]
level3.append(innermost1)
level3.append(innermost2)
level2.append(level3)
level1.append(level2)
// ... keep going ...

通过这种方式,我们永远不需要任何大/深数组字面量,并且该项目将很容易编译。

另请注意,每一层的数组类型都是显式声明。这让 Swift 比不得不去推断它更快乐。

关于ios - 在 Xcode 8.2 中编译大型数组文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42768971/

相关文章:

javascript - 我有几个文本值数组,我想选择其中一个数组用作 HTML 数据列表

java - 在 ArrayList() 中查找最常见的 String

arrays - 使用没有 segues 的协议(protocol)将数组从 appDelegate 传递到 Viewcontroller

swift - 如何从结构中获取单个变量名称

ios - linphone 编译问题(刚从 git 下载)

ios - 在 swift 中,有什么方法可以调用 super.methodname 吗?

iphone - NSURLConnection 在文件下载时收到 'False'

ios - Xcode 无法识别已经定义的 Sprite ?

ios - 如何使用 SWIFT 4 创建 HMAC MD5 十六进制签名?

swift - 将 Swift 字典转换为 CFDictionary