Ho 2 funzioni con lo stesso nome ma diversi parametri.Swift 1.2 non funziona con lo stesso nome di funzione e diversi parametri
Il primo accetta come parametro una funzione che accetta 2 doppi e ne restituisce uno.
Il secondo accetta come parametro una funzione che accetta 1 doppio e ne restituisce uno. Questo funziona in Swift 1.1, testato su Xcode 6.1.1, ma in Swift 1.2, testato su Xcode 6.4 (beta), questo non funziona e mi dà questo errore:
Method 'performOperation' with Objective-C selector 'performOperation:' conflicts with previous declaration with the same Objective-C selector
Che cosa posso fare che questo può funzionare, e perché sta succedendo? So che posso fare la radice quadrata in un altro modo, quindi è qui, ma voglio sapere qual è il problema.
Modifica
@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()
}
}
metodi postali e linea che l'errore è attivo per aiutare le persone a rispondere a –
@ WillM. È sufficiente? –