将CGFloat转换为Swift中的CFloat

前端之家收集整理的这篇文章主要介绍了将CGFloat转换为Swift中的CFloat前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我只是想绕过CGRectGetWidth的CGFloat返回值.
override func layoutSubviews()  {
    let roundedWidth = roundf(CGRectGetWidth(self.bounds))
    ...
}

编译器不会让我,给出错误

‘NSNumber’不是’CFloat’的子类型.

我想我有一些基本的东西,我在这里失踪. roundf正在使用CFloat作为参数,那么如何将CGFloat转换为CFloat进行转换?

更新:

现在使用round而不是roundf,但我仍然得到相同的错误.我已经尝试清理项目并重新启动Xcode.

CGRect成员是CGFloats,尽管他们的名字,实际上是CDoubles.因此,您需要使用round(),而不是roundf()
override func layoutSubviews()  {
    let roundedWidth = round(CGRectGetWidth(self.bounds))
    ...
}

猜你在找的Swift相关文章