Mam 2 funkcje o tej samej nazwie, ale o różnych parametrach.Swift 1.2 nie działa z tą samą nazwą funkcji i innym parametrem
Pierwszy przyjmuje jako parametr funkcję, która akceptuje 2 podwójne i zwraca jedną.
Drugi przyjmuje jako parametr funkcję, która przyjmuje 1 podwójną wartość i zwraca jedną. Działa to w Swift 1.1, testowane na Xcode 6.1.1, jednak w Swift 1.2, testowany na Xcode 6.4 (beta), to nie działa i daje mi ten błąd:
Method 'performOperation' with Objective-C selector 'performOperation:' conflicts with previous declaration with the same Objective-C selector
Co mogę zrobić, że ta może działać i dlaczego tak się dzieje? Wiem, że mogę zrobić pierwiastek kwadratowy inaczej niż to jest tutaj, ale chcę wiedzieć, jaki jest problem.
Edit
@IBAction func operate(sender: UIButton) {
let operation = sender.currentTitle!
if userIsInMiddleOfTypingANumber{
enter()
}
switch operation{
case "×" : performOperation {$0 * $1}
case "÷" : performOperation {$1/$0}
case "+" : performOperation {$0 + $1}
case "−" : performOperation {$1 - $0}
case "√" : performOperation {sqrt($0)}
default : break
}
}
func performOperation(operation : (Double,Double) -> Double){
if operandStack.count >= 2{
displayValue = operation(operandStack.removeLast(),operandStack.removeLast())
enter()
}
}
func performOperation(operation : Double -> Double) {
if operandStack.count >= 1{
displayValue = operation(operandStack.removeLast())
enter()
}
}
metody post i linia Wystąpił błąd, aby ludzie mogli odpowiedzieć na –
@ WillM.It wystarczy? –