Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 数组文字在Xcode中导致大量构建时间_Arrays_Swift_Xcode_Tuples - Fatal编程技术网

Arrays 数组文字在Xcode中导致大量构建时间

Arrays 数组文字在Xcode中导致大量构建时间,arrays,swift,xcode,tuples,Arrays,Swift,Xcode,Tuples,我有一个SwiftUI/SpriteKit游戏,其中每个关卡都由数组文本中的元组属性描述。到目前为止,大约有150个元组,每个元组包含大约20个属性 问题是,这个大数组文字导致Xcode构建非常缓慢。构建我的项目大约需要5分钟以上的时间。如果我不使用数组,构建时间几乎是瞬间的 我认为这是由于类型推断——但是,我显式地设置了类型,如下所示: class MainData: ObservableObject { private var levels: [(firstKey: Int, sec

我有一个SwiftUI/SpriteKit游戏,其中每个关卡都由数组文本中的元组属性描述。到目前为止,大约有150个元组,每个元组包含大约20个属性

问题是,这个大数组文字导致Xcode构建非常缓慢。构建我的项目大约需要5分钟以上的时间。如果我不使用数组,构建时间几乎是瞬间的

我认为这是由于类型推断——但是,我显式地设置了类型,如下所示:

class MainData: ObservableObject {
    private var levels: [(firstKey: Int, secondKey: String)] = [
        (
           firstKey: 0,
           secondKey: "something"
        ),
        (
           firstKey: 0,
           secondKey: "something"
        )
    ]
}
我做错什么了吗?我可以对这个阵列做些什么来加快构建时间吗

谢谢大家!


更新:在添加更多元组后,Xcode实际上将停止响应,我的(全新的桌面)Mac将耗尽应用程序内存。

您可以尝试将其移动到专用模块中,该模块将保持应用程序其余部分的快速构建时间(直到再次触摸游戏数据):首先尝试,但我相信它与类型检查器有关。swift编译器似乎更容易进行类型检查,例如[SomeStruct],而不是检查[(Int,String)],例如,特别是当元组变大时,可能存在一个大O问题,元组中的字段越多,解决问题的方法越多…将json文件放入你的应用程序包中:向包中添加文件,例如Swift有性能问题,并且会有一段时间。您可能对这个步骤感兴趣,请考虑在快速Bug跟踪器中提交您的脚本。尝试添加类型别名,即“Type Ayas ListListFoType =(int,string,int,string)”