我最近更新到Xcode 6.1以便能够使用iOS 8.1,但现在我的最新项目面临一个错误。
我收到的错误是" CFString!不符合协议Hashable",对于以下行:
let attributes = [kCTForegroundColorAttributeName:UIColor.blackColor().CGColor, kCTFontAttributeName: font]
运行Xcode 6.0.1时,我没有收到此错误。而且,Xcode 6.1非常慢。我的意思是,它实际上并没有完成加载任何东西。索引需要几分钟,而且建设需要很长时间以至于我无法安装......它也会崩溃。
我的主要问题是Hashable协议。那是什么?
答案 0 :(得分:6)
这似乎是包含CF对象的词典的类型推断错误。
编译器(显然)使用第一个键/值对来推断类型为[CFStringRef:CGColorRef]
的词典,然后无法编译,因为CFStringRef
不符合{{1} }。
您可以通过明确声明字典类型来解决此问题:
Hashable