Abend, meine Frage ist voll von Theorie.iOS-Objekt oder Vertreter zwischen zwei Controllern?
Ich verstand von Apple-Entwickler-Dokumentation zu lesen, die besser ist die Delegierten Muster zu verwenden Spur einiger Objektattribute zu halten. Auf diese Weise können wir auf den Delegaten zugreifen, ohne auf das Objekt zugreifen zu müssen. (Ich wirklich nicht den Grund dieser Wahl)
ich auch verstanden, dass besser ist, zu definieren: protocolDelegate: class
und wenn wir die Delegierten in der Klasse deklarieren ist es besser, das weak
Wort zu verwenden, um einig „Art zu verhindern des Problemzyklus ". (??)
So, während ich ein wenig mit Code zu spielen, habe ich entdeckt, dass Sie keine weak delegate
zwischen zwei view controllers
, weil natürlich passieren kann, wenn Sie den Controller zu ändern, die weak delegate
wird sich gelöscht werden, weil eine weak
Sache ist (oder zumindest das ist, was ich verstanden habe).
Also muß ich zwischen zwei Optionen wählen:
der Delegierten „stark“ machen die
weak
Schlüssel zu löschen.oder übergeben Sie das Objekt im Segment, und behalten Sie den Delegaten als
weak
.
Ich habe viel Verwirrung, können Sie meine Meinung klären? : D
Sie sagen also, dass ich das Objekt in der Überleitung übergeben sollte? –
Ich bin mir nicht sicher, worauf "Objekt" in diesem Fall bezieht. Sie haben das Design Ihrer Apps in dieser Hinsicht nicht detailliert beschrieben, daher ist es schwierig, Ihnen Ratschläge zu geben. Aber ich empfehle Ihnen, Ihre 'delegate'-Eigenschaft' weak' zu machen, da dies eine Konvention ist, der alle folgen (Gründe werden in meiner Antwort erklärt). – DarkDust
Danke! Alles klar! –