Swift 编译器错误:"表达式太复杂"在数学方程上



当我添加这个等式时

colViewHeight = (colItemSize * CGFloat(Counts)) + (colLineSpace * 
CGFloat(Counts)) + (colViewTopSpace+colViewBottomSpace) as CGFloat

我收到下面提到的错误。

编译器无法合理地对此表达式进行类型检查 时间;尝试将表达式分解为不同的子表达式

如何解决这个问题?我正在使用 xcode 10.01 版本

将其拆分为多个子表达式并检查类型转换是否正常工作

如:

let first = (colItemSize * CGFloat(Counts))
let second = (colViewTopSpace + colViewBottomSpace) as CGFloat
colViewHeight = first + second

只需删除冗余网桥转换as CGFloat和冗余括号

colViewHeight = colItemSize * CGFloat(Counts) + colLineSpace * CGFloat(Counts) + colViewTopSpace + colViewBottomSpace

最新更新