CFString不符合协议Hashable?

时间:2014-10-23 06:48:50

标签: xcode swift ios8 xcode6.1 hashable

我最近更新到Xcode 6.1以便能够使用iOS 8.1,但现在我的最新项目面临一个错误。

我收到的错误是" CFString!不符合协议Hashable",对于以下行:

let attributes = [kCTForegroundColorAttributeName:UIColor.blackColor().CGColor, kCTFontAttributeName: font]

运行Xcode 6.0.1时,我没有收到此错误。而且,Xcode 6.1非常慢。我的意思是,它实际上并没有完成加载任何东西。索引需要几分钟,而且建设需要很长时间以至于我无法安装......它也会崩溃。

我的主要问题是Hashable协议。那是什么?

1 个答案:

答案 0 :(得分:6)

这似乎是包含CF对象的词典的类型推断错误。

编译器(显然)使用第一个键/值对来推断类型为[CFStringRef:CGColorRef]的词典,然后无法编译,因为CFStringRef不符合{{1} }。

您可以通过明确声明字典类型来解决此问题:

Hashable