2016-10-10 56 views
-1
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)斯威夫特CGPoint參數標籤 '(_ _ :, :)' 不匹配任何可用的重載

Argument labels '(_:, _:)' do not match any available overloads

。我認爲這是從Swift 2升級到Swift 3的問題。

+4

你查找參考https://developer.apple.com/reference/coregraphics/cgpoint或試圖自動完成? –

+1

投票結束這個問題作爲一個錯字。 – JAL

+0

@JAL我不同意這是一個錯字。剛纔我在'addCurve(to:control1:control2:transform:)'中有3個CGPoint。我得到這個錯誤。我以爲我使用'addCurve'錯誤而不是CGPoint。我仍然不相信CGPoint初始參數標籤沒有被禁止。我的意思是'CGPoint(2,13)'看起來好多了!框架作者在想什麼?我的觀點是,我認爲這是我們之前在C語言中用於CGPointMake的常見錯誤。 – Jeff

回答

11

請參閱CGPoint的文檔。你需要指定xy參數標籤:

CGPoint(x: rect.minX, y: rect.MaxY) 
相關問題