In einer UIView
Unterklasse überschreibe ich BecomeFirstResponder
(was ein Bool
zurückgibt.
Wenn ich diese Methode für ein Objekt der Unterklasse aufruft, erhalte ich eine Warnung Result of call to 'becomeFirstResponder()' is Unused
.
Diese Nachricht ist nicht passiert, wenn ich becomeFirstResponder
nicht überschreibe.
Ich weiß, dass sich mit Swift 3 das Verhalten von Methoden, die Ergebnisse zurückgeben, entwickelt hat (siehe @discardableResult
auf SE-0047 ), aber ich würde erwarten, dass eine Überschreibung dasselbe Verhalten wie die Super-Methode hat.
Habe ich falsch gedacht, oder ist es vielleicht ein Compiler Bug?
Bearbeiten :
Zu Ihrer Information, Ich habe einen Fehler gemeldet .
Ich bin mir nicht sicher, ob es ein Fehler ist. Wenn Sie eine Funktion überschreiben, könnte es durchaus möglich sein, dass der Rückgabewert jetzt nicht ignoriert werden kann. Ich würde einfach @discardableResult
hinzufügen, wenn Sie das wollen: