iOS Swift 多维数组 - 编译需要很长时间。我应该改变什么?

标签 ios swift multidimensional-array

我是 swift 的新人。以前从未使用过 ObjC 编程。 我在使用 iOS 应用程序时遇到了问题,通过选择器查询数组非常简单。

我有 4 个像这样的多维数组:

let Setting = [
    [0,0,0,0,0,0,2230],
    [0,0,0,0,0,2230,2157],
    [0,0,0,0,2230,2230,2085],
    [0,0,0,0,2230,2226,2017],
    [0,0,0,2230,2230,2222,1949],
    [0,0,2230,2230,2230,2218,1880],
    [0,0,2230,2230,2230,2135,1807],
    [0,2230,2230,2230,2230,2052,1735],
    [0,2230,2230,2230,2163,1965,1655],
    [2230,2230,2230,2230,2096,1878,1576],
    [2230,2230,2230,2191,2022,1793,1497],
    [2230,2230,2230,2096,1909,1708,1415],
    [2230,2230,2171,2003,1818,1623,1337],
    [2230,2230,2112,1910,1728,1539,1259],
    [2197,2214,2021,1820,1639,1454,1195],
    [2164,2199,1930,1731,1551,1370,1131],
    [2066,2104,1842,1645,1465,1302,1067],
    [1969,2010,1755,1559,1380,1234,1003],
    [1884,1902,1650,1460,1294,1155,0],
    [1799,1794,1546,1362,1209,1077,0],
    [1726,1665,1429,1259,1110,0,0],
    [1654,1537,1312,1157,1012,0,0],
    [1579,1422,1211,1059,0,0,0],
    [1505,1308,1111,961,0,0,0]
]

如果我删除这些数组(或使用较小的数组,例如 2 x 2),应用程序中的一切都会完美运行。当我把一切都放在适当的地方 它会一直执行“索引”。我的 CPU 以 100% 运行

当我尝试运行时 - 它永远不会编译,即使在 10 小时后也是如此。只是停留在“编译 swift 源文件。

我搜索了不同的数据存储,但我需要将这些数字放在确切的位置。 数字之间只有很小的相关性,因此它们不能转化为方程。

我可以做什么来编译这个应用程序?

最佳答案

Swift 很难尝试推断数组类型。你只需告诉 Swift 它是一个 Array of Array of Ints 的数组:

let setting:[[Int]] = [
    [0,0,0,0,0,0,2230],
    [0,0,0,0,0,2230,2157],
    [0,0,0,0,2230,2230,2085],
    [0,0,0,0,2230,2226,2017],
    [0,0,0,2230,2230,2222,1949],
    [0,0,2230,2230,2230,2218,1880],
    [0,0,2230,2230,2230,2135,1807],
    [0,2230,2230,2230,2230,2052,1735],
    [0,2230,2230,2230,2163,1965,1655],
    [2230,2230,2230,2230,2096,1878,1576],
    [2230,2230,2230,2191,2022,1793,1497],
    [2230,2230,2230,2096,1909,1708,1415],
    [2230,2230,2171,2003,1818,1623,1337],
    [2230,2230,2112,1910,1728,1539,1259],
    [2197,2214,2021,1820,1639,1454,1195],
    [2164,2199,1930,1731,1551,1370,1131],
    [2066,2104,1842,1645,1465,1302,1067],
    [1969,2010,1755,1559,1380,1234,1003],
    [1884,1902,1650,1460,1294,1155,0],
    [1799,1794,1546,1362,1209,1077,0],
    [1726,1665,1429,1259,1110,0,0],
    [1654,1537,1312,1157,1012,0,0],
    [1579,1422,1211,1059,0,0,0],
    [1505,1308,1111,961,0,0,0]
]

注意:根据 Swift 约定,您应该以小写字母开头命名您的变量。

关于iOS Swift 多维数组 - 编译需要很长时间。我应该改变什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35856714/

相关文章:

matlab - 如何用三个变量绘制多维数组

ios - CNContactStore 上的电话号码谓词

ios - SWIFT 和 EventKit

c++ - 使用线性搜索为二维数组生成唯一数字

ios - 未检测到 AppID

ios - 如何在表格 View 中添加三个表格 View 单元格作为 subview ?

PHP ArrayAccess 设置多维

php - 使用 API 存储在数据库中的笑脸图标无法正确显示

iphone 6 的 iOS 背景图片

ios - 将 NSData 转换回 NSAttributedString