我正在使用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)
}
我希望有人对我的问题有一个解释/解决方案。
谢谢,卢卡斯