2016-02-04 35 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)