你好 StackOverflow :)
自从我升级到 swift 2.0 后,我遇到了一个奇怪的问题
我正在尝试设置边框颜色,所以我正在编写 self.layer.borderColor = borderColor as! CGColor
其中 borderColor 是一个 AnyObject
,而 self.layer.borderColor 是一个 CGColor?
如果我写 self.layer.borderColor = borderColor as! CGColor
我收到警告
Treating a forced downcast to 'CGColor' as optional will never produce 'nil'
并建议改用 as?
如果我改写 self.layer.borderColor = borderColor as? CGColor
我得到错误
Conditional downcast to CoreFoundation type 'CGColor' will always succeed
为了确保我没有遗漏任何东西,我还尝试编写 container.layer.borderColor = borderColor as CGColor
和 container.layer.borderColor = borderColor
两者这些给出了以下错误:
'AnyObject' is not convertible to 'CGColor'; did you mean to use 'as!' to force downcast?
当使用 as!
时,只是在 XCode 给出的警告下运行并没有那么糟糕,但我更愿意让我的代码没有警告。为了确保我真的需要你的帮助。这是我不理解的东西,还是我应该报告的 Swift 2.0 中的一个错误。
干杯!
雅各布
最佳答案
你使用的图层颜色是核心图形,你需要通过属性cgColor设置核心图形颜色
layer.borderColor = UIColor.red.cgColor
关于ios - 从 AnyObject 转换为 CGColor?没有错误或警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33589203/