我正在写一个接受函数作为其参数的函数。当前,该函数为参数的返回元组的未解析标识符给出错误。我目前拥有的代码:

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


我不确定我是否正确地使用函数作为参数。任何帮助,将不胜感激!

最佳答案

您必须更改方法声明以传递元组:

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


或将两个参数传递给您的方法:

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

07-24 09:27