你好 StackOverflow :)
自从升级到 swift 2.0 以来,我一直遇到一个奇怪的问题
我正在尝试设置边框颜色,所以我在写self.layer.borderColor = borderColor as! CGColor
borderColor是一个AnyObject
,而self.layer.borderColor是一个CGColor?
如果我写self.layer.borderColor = borderColor as! CGColor
,我会收到警告
将强制向下转换为“CGColor”作为可选将永远不会产生“nil”
并建议改为使用as?
如果我改为写self.layer.borderColor = borderColor as? CGColor
,我会收到错误
有条件地向下转换为 CoreFoundation 类型“CGColor”将始终成功
只是为了确保我没有遗漏一些东西,我也尝试过写container.layer.borderColor = borderColor as CGColor
,container.layer.borderColor = borderColor
这两个都给出了以下错误:
'AnyObject' 不能转换为 'CGColor';你的意思是用'as!' 强迫沮丧?
只是在使用时使用 XCode 给出的警告运行as!
并不是那么糟糕,但我更愿意让我的代码警告免费。为了实现我真的需要你的帮助。这是我不理解的事情,还是只是我应该报告的 Swift 2.0 中的一个错误。
干杯!
雅各布