首页 > 解决方案 > “表达式太复杂”从数组文字初始化 Set

问题描述

我在这里阅读了一堆关于“表达式太复杂而无法在合理时间内解决;考虑将表达式分解为不同的子表达式”错误的问题,它们归结为重载运算符(尤其是 +)和类型推断需要编译时间长。答案通常是确实将有问题的表达式分解成碎片或明确使用类型。我的问题似乎不同。

let someSet: Set<String> = [
    "aardvark",
    "aardvarks",
    "abaci",
    "aback",
// ... 81,000 more words ...
    "zygote",
    "zygotes",
    "zygotic",
    "zymurgies",
    "zymurgy",
]

我想在编译时而不是运行时预填充一个 Set 以节省加载时间,而且这似乎是一种将大量数据导入我的应用程序的简单方法。在出现上述错误之前,此文件编译 10 分钟(有 3 个进程使用 100% CPU)。我没有看到任何要分手的表达方式,而且我对类型很明确。建议?

标签: iosswift

解决方案


将单词放在 JSON 文件中,并在应用启动时将其导入集合中。


推荐阅读