Swift CGPoint 参数标签 '(_:, _:)' 不匹配任何可用的重载

Posted

技术标签:

【中文标题】Swift CGPoint 参数标签 \'(_:, _:)\' 不匹配任何可用的重载【英文标题】:Swift CGPoint Argument labels '(_:, _:)' do not match any available overloadsSwift CGPoint 参数标签 '(_:, _:)' 不匹配任何可用的重载 【发布时间】:2016-10-10 14:21:29 【问题描述】:
private var sockets: [CGPoint] 
    let buttonSize = button.bounds.size
    let rect = view.bounds.insetBy(dx: 4 + buttonSize.width / 2, dy: 4 + buttonSize.height / 2)
    let sockets: [CGPoint] = [
        CGPoint(rect.minX, rect.maxY),
        CGPoint(rect.minX, rect.maxY),
        CGPoint(rect.maxX, rect.minY),
        CGPoint(rect.maxX, rect.maxY),
        CGPoint(rect.midX, rect.midY)
    ]
    return sockets

我收到了错误:

参数标签 '(_:, _:)' 不匹配任何可用的重载

在第一个CGPoint(rect.minX, rect.maxY)。我认为这是从 Swift 2 更新到 Swift 3 的问题。

【问题讨论】:

您是否查找了引用 developer.apple.com/reference/coregraphics/cgpoint 或尝试了自动补全? 投票结束这个问题作为一个错字。 @JAL 我不同意这是一个错字。刚才我在addCurve(to:control1:control2:transform:) 中有 3 个 CGPoints。我收到了这个错误。我以为我用的是addCurve 错了不是CGPoint。我仍然不相信 CGPoint 初始化参数标签没有被限制。我的意思是CGPoint(2,13) 看起来好多了!框架作者在想什么?我的观点是,我认为这是我们这些习惯于使用 C 语言 CGPointMake 的人的常见错误。 【参考方案1】:

请参阅CGPoint 的文档。您需要指定 xy 参数标签:

CGPoint(x: rect.minX, y: rect.MaxY)

【讨论】:

以上是关于Swift CGPoint 参数标签 '(_:, _:)' 不匹配任何可用的重载的主要内容,如果未能解决你的问题,请参考以下文章

Swift、SpriteKit 和带有 CGPoint 的多维数组

Swift 3.0:参数标签 '(_:) 不匹配任何可用的重载

Swift 参数标签 '(_:, destination:)' 不匹配任何可用的重载

swift 3 错误:参数标签 '(_:)' 与 UICollectionViewLayout 上的任何可用重载都不匹配(旋转轮)

Swift 3 错误:“参数标签 '(named:_:,_:,)' 不匹配任何可用的重载”,同时尝试将 UIImage 数组加载到 UITableView

如何在swift中准备矩形标签栏?