找不到接受提供的参数的 init 重载

Posted

技术标签:

【中文标题】找不到接受提供的参数的 init 重载【英文标题】:could not find an overload for init that accepts supplied arguments 【发布时间】:2014-07-01 05:57:38 【问题描述】:
        let r:Int = Int( CGFloat(y - (Int(_gridLowerLeftCorner.y) + _margin)) / CGFloat (_gridHeight) * (_numRows))
        let c:Int = Int( CGFloat(x - (Int(_gridLowerLeftCorner.x) + _margin)) / CGFloat (_gridWidth) * (_numCols))

我,有人知道为什么吗?

【问题讨论】:

【参考方案1】:

1) 可能是因为 constant(let) 改成 var

2) 可能是 Int 和 CGFloat 之间的类型不匹配。

【讨论】:

【参考方案2】:

我相信你输入的是Int而不是CGFloat

let r:Int = Int( CGFloat(y - (Int(_gridLowerLeftCorner.y) + _margin)) / CGFloat (_gridHeight) * (_numRows))

let c:Int = Int( CGFloat(x - (Int(_gridLowerLeftCorner.x) + _margin)) / CGFloat (_gridWidth) * (_numCols))

应该是

let r:Int = Int( CGFloat(y - (CGFloat(_gridLowerLeftCorner.y) + _margin)) / CGFloat (_gridHeight) * (_numRows))

let c:Int = Int( CGFloat(x - (CGFloat(_gridLowerLeftCorner.x) + _margin)) / CGFloat (_gridWidth) * (_numCols))

【讨论】:

以上是关于找不到接受提供的参数的 init 重载的主要内容,如果未能解决你的问题,请参考以下文章

找不到接受提供的参数的“/”的重载

Swift:找不到“|”的重载接受提供的参数

Swift 找不到接受提供的参数的“+=”的重载

找不到接受提供的参数的“logInWithPermissions”的重载

错误:找不到接受提供的参数的“标题”的重载

找不到接受类型参数列表的 XCTAssertEqual 的重载 ([String : AnyObject], [String : AnyObject])