Ich habe eine Swift-Klasse, die ich in etwa so sehen möchte:
%Vor% Swift mag jedoch nicht die Tatsache, dass ich self
an den Initiator NSTimer
übergebe. Brich ich hier ein Muster? Wie soll man die Initialisierung so durchführen?
Sie haben den primären Anwendungsfall von Implizit nicht eingewickelt Optional .
self
von init
zugreifen, bevor timer
initialisiert wird. timer
nie gleich Null sein. Sie sollten es also nicht außerhalb von init
überprüfen müssen. Sie sollten also let timer: NSTimer!
deklarieren.
Abgesehen von dem implizit unwrapped optional, fand ich, dass, um den Code zum Laufen zu bringen, ich NSObject ableiten und auch den Timer zur aktuellen Laufschleife hinzufügen musste.
%Vor%Aktualisierter Code basierend auf Kommentaren - Danke an jtbandes und Caroline
%Vor%