Nehmen wir an, dass bestimmte Elemente in Feed
vorkommen können, solange sie die erforderlichen Eigenschaften implementieren, die vom Protokoll Feedable
definiert werden. Lassen Sie uns auch sagen, dass das Photo
-Objekt Feed-würdig ist:
Kann man sagen, dass ein Array
dieser Fotos auch Feedable
ist?
Oder brauche ich immer eine Art Wrapper-Objekt, zB PhotoAlbum
, um Feedable
?
Bearbeiten
Um erneut zu iterieren, war ich neugierig, ob ich nur Arrays von Photo
objects Feedable
erstellen kann. % Co_de% eines beliebigen Inhaltstyps Array
nicht machen, kein Array von Feedable
s selbst machen Feedable
(beide werden unten als Lösungen angeboten, wenn Sie das brauchen).
Mit anderen Worten, eine Lösung (die ich bezweifle, existiert) würde mir erlauben, eine Variable vom Typ Feedable
mit den folgenden Endpunkten zu definieren:
Vielleicht dieser Kern (der natürlich nicht kompiliert wird) zeigt die Absicht deutlicher.
Ich denke, das ist derzeit nicht möglich. In meinem Projekt habe ich das gleiche Problem mit einem ModelProducer.
%Vor% Ich verwende ModelType
als Ghost-Protokoll. Das Problem ist, dass ich keinen Modellproduzenten erstellen kann, der mehrere ModelType
s erzeugt, aus demselben Grund, den Sie entdeckt haben. Die Lösung in diesem Fall war die folgende:
Dies ist von Anfang an flexibler. Ich werde die optionalen Variablen loslassen und Einzelmodellhersteller haben nur ein Element im Array. Vielleicht können Sie einen ähnlichen Ansatz verwenden.
Ich habe es nicht auf dem Spielplatz versucht, aber vielleicht kannst du einfach ein Array von Feedable machen:
%Vor%Dann wäre alles, was das Feedable-Protokoll implementiert, im Array erlaubt. Wenn Sie nur ein Foto-Array möchten, können Sie Ihr Photo-Objekt immer noch zu einem FeedablePhoto-Objekt ableiten.
Probieren Sie dies in Playground aus, anstatt es zu deaktivieren, ohne es zu testen. Ernsthaft 3 Downvotes ohne irgendwelche Gründe und Erklärungen ...
%Vor%