繁体   English   中英

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编译器不喜欢庞大的文字。 您将不得不在代码中汇编该值。 (在早期的日子里,我能得到同样的问题,只是写一个表达式串联十几文本字符串。解决的办法是写了十几个字符串变量和拼接 。)

您可以提交一个错误报告,也许应该提交,但是它可能会重复出现,因为我非常确定Apple知道这一点。

如果您有1000个数组,为什么不将其放到一个属性列表文件中并在运行时读取它们? 您真的一直都需要内存中的所有该级别数据吗?

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
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM