Frage

Ich weiß, dass UicollectionViewDelegateFlowlaWayout ein Protokoll ist, während UCollectionViewFlAWLAYOUT eine Klasse ist, und ich kenne den Unterschied zwischen einem Protokoll und einer Klasse. Aus meinem Verständnis kann ich eine Klasse haben, um dem UCollectionViewDelegateFlowlayout-Protokoll zu folgen, um die genaue Wirkung wie eine von UCollectionViewFlAwlAut vererbte Klasse zu erreichen. Ich erreiche diese Schlussfolgerung, indem ich solche Beziehungen zwischen dem Protokoll und der Klasse finde: UCollectionViewDelegateFlAWLAYOUT -------------- UcollektionViewFlAwlAutout. KollektionView: Layout: SIZEFORITEMATINDEXPATH: ---- Objekte KollektionView: Layout: InsetforssectatIndex: ---- SektionInset - KollektionView: Layout: ReferenzenInsForHeaderInsEction: - HeadreferenceSize - KollektionView: Layout: ReferenzenZorfooterInsEction: - Federatreferenzen

Ich lese auch im Referenz des Protokolls Folgendes: "Alle Methoden in diesem Protokoll sind optional. Wenn Sie keine bestimmte Methode implementieren, verwendet das Delegat der Durchflusslayout Werte in eigenen Eigenschaften für die entsprechenden Abstandsinformationen" Mein Verständnis ist also: Wenn ein Kollektionsview über ein Layout-Eigenschaft und ein DelegateFlAwlayOut verfügt, kann das DelegateFlowAutout möglicherweise etwas überschreiben. Mit anderen Worten, ich kann beide haben und das Protokoll wird eine höhere Priorität dauern. Richtig?

Also, was ist die Logik hinter einem Protokoll und einer Klasse, die dasselbe tun?

War es hilfreich?

Lösung

Die Strömungslayout-Klasse ist eine Art "Standard" -Flas-Layout, das in vielen, wenn nicht die meisten Umstände, funktioniert. Wenn Sie etwas benötigen, das UCollectionViewFlAWLAYOUT nicht verarbeiten kann, können Sie UCollectionViewLayout unterklappen, um die zusätzliche Funktionalität bereitzustellen.

Die Delegatenmethoden bieten nur eine begrenzte Anpassung über die Delegatenanrufe für den Standard-UCollectionViewFlAWLAYOUT.

aus den docs ", definiert das UCollectionViewDelegateFlowlawlaWoutout-Protokoll Methoden, mit denen Sie mit einem UCollectionViewFlAWLAYOUT-Objekt koordinieren können, um ein gitterbasiertes Layout zu implementieren. Die Methoden dieses Protokolls definieren die Größe der Elemente und den Abstand zwischen Elementen im Gitter". < / p>

Sie tun nicht dasselbe; Das Protokoll wird bereitgestellt, damit Sie etwas extra dabei machen können, dass das Flow-Layout ohne die Delegierten-Methoden nicht standardmäßig ausführt. Das Protokoll, in dem Sie wirksam sind, gibt Ihnen mehr "Kontrolle". Sie müssen die Delegierten-Methoden nicht verwenden, wenn Sie sie nicht benötigen.

Es gibt keine "Priorität"; Das Protokoll ist optional. Also verwenden Sie das Protokoll nicht, wenn Sie kein UCollectionViewFlAWLAYOUT verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top