2016-02-04 36 views
0

我在寫一個接受函數作爲其參數的函數。目前,該函數爲參數的返回元組的未解析標識符提供了一個錯誤。代碼我目前有:未解析的函數作爲參數的標識符

func getMidPoints() -> (CGPoint, CGPoint) { 
    // code that calculates midpoint 
    return (mid1, mid2) 
} 

func createSubPath(mid1: CGPoint, mid2: CGPoint) -> CGMutablePathRef { 
    let subpath : CGMutablePathRef = CGPathCreateMutable() 
    CGPathMoveToPoint(subpath, nil, mid1.x, mid1.y) 
    CGPathAddQuadCurveToPoint(subpath, nil, previousPoint.x, previousPoint.y, mid2.x, mid2.y) 
    return subpath 
} 

createSubPath(getMidPoints()) 

// Missing argument for parameter 'mid2' in call 

我不知道我是否正確使用函數作爲參數。任何幫助,將不勝感激!

+0

嘗試'FUNC createSubPath(MID1:CGPoint,MID2:CGPoint) - > CGMutablePathRef {' –

+0

這就是我最初的,但我得到一個缺少的參數錯誤。我已更新代碼 –

+0

'createSubPath(getMidPoints()。0,getMidPoints()。1)'或更改您的聲明以傳遞元組'func createSubPath(midPoints:(mid1:CGPoint,mid2:CGPoint)) - > CGMutablePathRef { ' –

回答

1

你必須改變你的方法聲明中傳遞一個元組:

func createSubPath(midPoints:(mid1: CGPoint, mid2: CGPoint)) -> CGMutablePathRef { 
    // your code 
} 

或傳遞兩個參數,以你的方法:

createSubPath(getMidPoints().0, mid2: getMidPoints().1)