iOS Swiftmultidimensional array – 编译需要很长时间。 我应该改变什么?

我是新来的。 以前不要在ObjC中编程。 我有一个iOS应用程序的问题,通过select器非常简单的查询数组。

我有4个像这样的multidimensional array:

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乘2),那么在应用程序中一切正常。 当我把它放在适当的位置时,它会一直执行“索引”。 以100%运行我的CPU

当我尝试运行时 – 即使在10个小时之后,它也不会编译。 只是停留在“编译swift源文件。

我search了不同的数据存储,但我需要这些数字在确切的地方。 数字之间只有很小的联系,所以不能变成等式。

我能做些什么来编译这个应用程序?

Swift很难试图推导出数组types。 你只需要告诉Swift它是一个Ints数组Array:

 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惯例,你应该把你的variables命名为小写字母。