Я пытаюсь написать некоторые вспомогательные функции и получаю ошибку «Недопустимое исправление» некоторых подобных методов. Если кто-нибудь сможет объяснить, почему эти методы сталкиваются, я был бы очень благодарен.Недопустимое переопределение функции в Swift
func CGRectModify(rect: CGRect, x: CGFloat) -> CGRect {
return CGRectMake(x, rect.origin.y, rect.size.width, rect.size.height)
}
func CGRectModify(rect: CGRect, y: CGFloat) -> CGRect {
return CGRectMake(rect.origin.x, y, rect.size.width, rect.size.height)
}
func CGRectModify(rect: CGRect, width: CGFloat) -> CGRect {
return CGRectMake(rect.origin.x, rect.origin.y, width, rect.size.height)
}
func CGRectModify(rect: CGRect, height: CGFloat) -> CGRect {
return CGRectMake(rect.origin.x, rect.origin.y, rect.size.width, height)
}
Я бы подумал, что, поскольку второй параметр имеет другое внешнее имя, метод будет понимать, что он имеет другую подпись. Кажется, это не так.
Я использую документ Apple для справки, но в разделе Local and External Parameter Names for Methods я не смог найти свой ответ. Любой вход очень ценится.
документа вы упомянули для методов, а не для функций. Для функций см. Это: https://developer.apple.com/library/ios/documentation/swift/conceptual/Swift_Programming_Language/Functions.html#//apple_ref/doc/uid/TP40014097-CH10-XID_255 – rintaro
Эй, очень круто. Это имеет смысл сейчас. Огромное спасибо. (Вы должны сделать ответ) – atreat