在函数头上指定 Int 的 CGRect

Specifying a CGRect of Int on a function header

CGRect 结构可以包含 Int、Double 或 CGFloat。

如果我创建这个函数头

func doSomething(rect:CGRect) {

然后发送一个 Int 或 Double 值的 CGRect,Xcode 会抱怨我必须发送一个 CGFloats 的 CGRect。

如何让 Xcode 停止抱怨并接受我发送的 Int 的 CGRect。

我知道我可以创建一个包含 Int 值的结构或将值转换为 CGFloat 并解决这个问题,但我想知道是否有办法解决这个问题。

CGRect structure can contain be of Int, Double or CGFloat.

不,不能。

虽然可以使用 Int、Double 或 CGFloat 值初始化 CGRect 结构,但在内部所有结构成员都基于 CGFloat类型。

请参阅documentation