栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

由于奇怪的原因,Xcode Beta 6.1和Xcode 6 GM卡住了索引

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

由于奇怪的原因,Xcode Beta 6.1和Xcode 6 GM卡住了索引

几次类似的事情发生在我身上,我通过 将长语句分成多行来解决

我在操场上测试了您的代码,立即注意到SourceKitService进程占用了100%的CPU。

在您的代码中,我看到的最长的语句是字典初始化,因此第一种方法是使其可变并以每行较少的项目数进行初始化。

Swift没有

+=
为字典提供运算符,因此我们首先需要一个

func +=<K, V> (inout left: Dictionary<K, V>, right: Dictionary<K, V>) -> Dictionary<K, V> {    for (k, v) in right {        left.updatevalue(v, forKey: k)    }    return left}

使用工具集中的字典,可以按以下方式初始化字典:

var viewBindingsDict = ["a" : a, "b" : b, "c" : c, "d" : d, "e" : e]viewBindingsDict += ["f" : f, "g" : g, "h" : h, "i" : i, "j" : j]viewBindingsDict += ["k" : k, "l" : l, "m" : m, "n" : n, "o" : o]viewBindingsDict += ["p" : p]

每行最多选择5个项目。

但是在您的代码中,您将字典声明为不可变的-swift在声明之后不提供任何语句来初始化不可变的-幸运的是,我们可以使用闭包来实现这一点:

let viewBindingsDict = { () -> [String:UIView] in    var bindings = ["a" : self.a, "b" : self.b, "c" : self.c, "d" : self.d, "e": self.e]    bindings += ["f": self.f, "g" : self.g, "h" : self.h, "i" : self.i, "j" : self.j]    bindings += ["k" : self.k, "l" : self.l, "m" : self.m, "n" : self.n,  "o" : self.o]    bindings += ["p": self.p]    return bindings}()


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/368875.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号