Swift 2 大型数组字典

Swift 2 Large Dictionary of Arrays

我有以下数组字典:

var Levels = [1:[0,3,1,1,3,2,0,9,5,4,3,1,0,9,8,2],2:[5,2,9,1,3,2,0,8,5,4,3,1,0,9,8,6],3:[5,2,7,1,3,2,0,4,5,4,3,3,0,9,8,3],4:[2,5,1,2,6,2,0,9,5,4,3,1,0,9,8,1]] //...and so on, up to ~900

每个数组都与上一个不同。我生成了大约 1000 个,我确实考虑过在程序中使用生成,但也认为这可能会导致用户在等待新关卡加载时遇到延迟。这是一个数字谜题,并且在编码方面非常简单,但是这个大字典一直在减慢 Xcode 并导致索引变得疯狂。我现在收到此错误,这是我在尝试构建时从未见过的错误:

Command failed due to signal: Segmentation fault 11

有没有更好的方法来排列大约 1000 个这样的数组?我应该如何设置它?我也需要引用一个键或其他东西,而不是为每个级别使用单独的变量。谢谢!! - GG

Swift 编译器不喜欢巨大的文字。您必须在代码中 assemble 这个值。 (在早期,我能够通过编写一个连接十几个文字字符串的单个表达式来解决同样的问题。解决方案是编写一打字符串 variables 并连接 那些.)

您可以提交错误报告,也许应该,但它可能会以重复的形式返回,因为我相当确定 Apple 知道这一点。

如果您有 1000 个数组,为什么不将它们放入 属性 列表 file/files 并在运行时读取它们?您真的需要内存中所有该级别的数据吗?

if let 
path = NSBundle.mainBundle().pathForResource("Level1-10", ofType: "plist"), 
dict = NSDictionary(contentsOfFile: path) as? [String: AnyObject],
level1 = dict["1"] as? Array<Int> {
    // Use level1 array here
}