Der folgende Code verwendet, um in Swift 2.2, nicht mehr in Swift 3.0 kompilieren zu können. Wie können wir das beheben?Binärer Operator '===' kann nicht auf Operanden vom Typ 'Beliebig' angewendet werden. und 'UIBarButtonItem!'
Error: Binary operator '===' cannot be applied to operands of type 'Any?' and 'UIBarButtonItem!'
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if sender === saveButton { // Error!
// ...
} else if sender === closeButton { // Error!
// ...
}
}
Warum Sie nicht einfach vergleichen mit '=='? –
Hallo @EvgenyKarkan, weil ich den Wert dieser beiden Objekte nicht vergleichen möchte. Aber stattdessen muss ich wissen, ob sie die gleiche Instanz sind. Weitere Informationen hierzu finden Sie in [Swift enthält außerdem zwei Identitätsoperatoren (=== und! ==), mit denen Sie testen können, ob sich zwei Objektreferenzen auf dieselbe Objektinstanz beziehen.] (Https://developer.apple. com/bibliothek/inhalt/dokumentation/Swift/Conceptual/Swift_Programming_Language/BasicOperators.html) –