我试图在 swift 中做一些简单的 UIView 布局数学并尝试了下面的代码行......
var offset: CGFloat = (bounds.width / 2.0) - ((sortedSymptoms.count * bounds.height) / 2.0)
并从编译器得到以下错误:
cannot invoke '-' with an argument list of type '(($T6), ($T17))'
var offset: CGFloat = (bounds.width / 2.0) - ((sortedSymptoms.count * bounds.height) / 2.0)
~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
编译器错误并不是那么有用,但看起来 Double、Int 和 CGFloat 之间存在某种类型的类型冲突。我能够通过添加一些明确的 CGFloats 创建来编译该行,但我无法相信这是正确的方法。
var offset: CGFloat = (bounds.width / CGFloat(2.0)) - ((CGFloat(sortedSymptoms.count) * bounds.height) / CGFloat(2.0))
什么是正确的方法?