【问题标题】: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 的人的常见错误。

标签: swift swift3


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-19
    • 2020-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多