你好 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
and container.layer.borderColor = borderColor
这两个都给出了以下错误:
“AnyObject”无法转换为“CGColor”;您的意思是使用“as!”吗?逼沮丧?
只是运行时使用 XCode 时给出的警告as!
并不是那么糟糕,但我宁愿让我的代码没有警告。为了确保我真的需要你的帮助。这是我不理解的事情,还是它只是 Swift 2.0 中的一个错误,我应该报告。
Cheers!
Jacob
您使用的是图层颜色,即核心图形,您需要使用属性 cgColor 设置核心图形颜色
layer.borderColor = UIColor.red.cgColor
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)