在 Swift 中将 Int 更改为 CGFloat 以返回 heightForRowAtIndexPath table



我确定我错过了一些非常简单的东西,但我就是无法让它工作。

我会尝试更好地解释我正在做什么来帮助其他人,如果他们有同样的问题。

这是我的职能:

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    return (count * 40 + 75) as CGFloat
}

上述功能不起作用。感谢我得到的帮助,我发现这就是这样做的方法:

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    return CGFloat(count * 40 + 75)
}

谢谢!

是的,这很简单:

let i = 123 // an Int
let f = CGFloat(i) // a CGFloat

如果按住 Command 键单击CGFloat则会看到其所有初始值设定项:

init(_ value: Float)
init(_ value: Double)
// ... many more, and finally:
init(_ value: UInt)
init(_ value: Int)

Swift 5,有一个方便的构造函数来实现此目的,init(integerLiteral:)

let cgFloat = CGFloat(integerLiteral: intVar)

最新更新