Changing an Int to a CGFloat in Swift to return he

2019-08-11 02:42发布

I am sure that I am missing something really simple, but I just can't get it to work.

I will try to explain better what I am doing to try to help others if they have this same issue.

This was my function:

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

The above function doesn't work. Thanks to the help I received, I found that this is the way to do it:

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

Thanks!

1条回答
SAY GOODBYE
2楼-- · 2019-08-11 03:15

Yes, it is simple:

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

If you command-click on CGFloat then you'll see all its initializers:

init(_ value: Float)
init(_ value: Double)
// ... many more, and finally:
init(_ value: UInt)
init(_ value: Int)
查看更多
登录 后发表回答