Jac*_*b R 6 casting compiler-warnings cgcolor ios anyobject
你好StackOverflow :)
自从升级到Swift 2.0以来,我一直遇到一个奇怪的问题
我正在尝试设置边框颜色,所以我正在写self.layer.borderColor = borderColor as! CGColorborderColor是一个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中的错误。
干杯!
雅各布
xcode还给我以下提示:
在演员表周围加上括号以使此警告静音
好...当xcode这么说...
layer.borderColor = (borderColor as! CGColor)
Run Code Online (Sandbox Code Playgroud)
您正在使用作为核心图形的图层颜色,您需要使用属性cgColor设置核心图形颜色
layer.borderColor = UIColor.red.cgColor
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2018 次 |
| 最近记录: |