Wann wird ein Delegat in Swift initiert?

8

Ich habe eine grundlegende Frage. Ich arbeite an einem Projekt mit vielen Delegatenmustern und möchte auf den besten Weg, sie zu initialisieren, verweisen.

Hier sind einige Ideen mit einem Testdelegierten, den ich gemacht habe:

Option 1:

Es schlägt fehl, weil ich den Delegierten vor super.init ()

initiiere %Vor%

Option 2:

Es funktioniert, aber dann riskiere ich, dass der Delegierte null ist. Müsste ich jedes Mal, wenn ich eine Methode aufrufen möchte, eine 'if delegate! = nil' Prüfung durchführen? Gibt es einen Weg dahin? Ist es eine gute Praxis, den Delegierten auf diese Weise zu initiieren?

%Vor%

Das waren nur ein paar Ideen. Ich versuche nur den besten Weg zu lernen. Ich bin offen für alle Vorschläge.

Danke !!

    
JoeBayLD 14.09.2015, 21:14
quelle

1 Antwort

3

Option 2 sieht besser aus. In diesem Fall ist es jedoch ratsam, einen optionalen Delegattyp zu verwenden. Auf diese Weise müssen Sie "if delegate! = Nil" nicht jedes Mal überprüfen, wenn Sie eine Aufgabe damit ausführen möchten. Sie können einfach die optionale Verkettung verwenden, die speziell für solche Fälle entwickelt wurde, in denen Sie eine Aufgabe nur dann auf einem optionalen ausführen möchten, wenn sie einen Wert enthält.

%Vor%     
vinn 01.03.2016 20:49
quelle

Tags und Links