我有一个关键字词典:我用于集合视图的值对,每个button.tag触发一个加载一个数字集合的密钥,一切都可以正常工作,直到大约106号瓷砖。之后我得到一个"命令因信号失败:非法指令:4"错误,我不能做出头或尾。
也许这与瓷砖的存储方式有关?目前我将它存储在一个看起来像这样的快速文件中:
import Foundation
let tiles = [0:[0,11,52,35,54,55,64,70,80,67,54,60,73,162,171,160],
1:[0,11,52,35,54,55,64,70,80,67,54,60,73,162,171,160],
2:[0,11,52,35,54,55,64,70,80,67,54,60,73,162,171,160],
3:[0,11,52,35,54,55,64,70,80,67,54,60,73,162,171,160],
4:[0,11,52,35,54,55,64,70,80,67,54,60,73,162,171,160],
5:[0,11,52,35,54,55,64,70,80,67,54,60,73,162,171,160],
...
一直到175.它正常工作到大约106,之后我得到了错误。这是一个快速的编译器错误 - 我很确定我正在存储我的密钥:价值对也是如此,所以任何建议都是受欢迎的!谢谢你的时间
答案 0 :(得分:1)
而不是单个大字典文字,将字典的构造分解为多个语句。
var tiles = [0:[0,11,52,35,54,55,64,70,80,67,54,60,73,162,171,160]]
tiles[1] = [0,11,52,35,54,55,64,70,80,67,54,60,73,162,171,160]
// and so on
答案 1 :(得分:1)
如果数组相同,您可以尝试
var tiles = [Int:[Int]]()
(0...175).forEach {
tiles[$0] = [0,11,52,35,54,55,64,70,80,67,54,60,73,162,171,160]
}
print(tiles)