我正在使用UIBezierPath處理Swift中的一些表情符號。 以下函數在類中調用 - 因此被視爲方法。 由「pathForEye」調用的函數「getEyeCenter」需要「eye:eye」作爲輸入參數。我不明白爲什麼。在我看來,「眼睛」應該足夠了?!缺失參數標籤
當我在Swift中將其更改爲「eye:eye」時,下一行出現錯誤,需要「pathForCircleCenteredAtPoint(midPoint:eyeCenter,...)」。 爲什麼程序需要此函數的第一個參數的語法?
private enum Eye {
case Left
case Right
}
private func getEyeCenter (eye:Eye) -> CGPoint
{
let eyeOffset = skullRadius/Ratios.SkullRadiusToEyeOffset
var eyeCenter = skullCenter
eyeCenter.y -= eyeOffset
switch eye {
case .Left: eyeCenter.x -= eyeOffset
case .Right: eyeCenter.x += eyeOffset
}
return eyeCenter
}
private func pathForEye (eye: Eye) -> UIBezierPath
{
let eyeRadius = skullRadius/Ratios.SkullRadiusToEyeRadius
let eyeCenter = getEyeCenter(eye) // **here Swift wants "eye: eye "**
return pathForCircleCenteredAtPoint(eyeCenter, withRadius: eyeRadius)
}
我希望有人對我的問題有一個解釋/解決方案。
謝謝,盧卡斯