Wenn ich c
-a
gesetztWie Wert auf [any] zuweisen
var a: [Any]
var c: Array<PostCategory>
Fehler angezeigt:
nicht Wert vom Typ 'Array' zu erwarten Argument Typ umwandeln kann [jeder]
wie das Problem zu lösen?
Wenn ich c
-a
gesetztWie Wert auf [any] zuweisen
var a: [Any]
var c: Array<PostCategory>
Fehler angezeigt:
nicht Wert vom Typ 'Array' zu erwarten Argument Typ umwandeln kann [jeder]
wie das Problem zu lösen?
Die Fehlermeldung ist ein wenig irreführend, sondern versuchen, das Array zu initialisieren, bevor es die Zuordnung:
var c: Array<PostCategory> = []
... oder ...
var c = Array<PostCategory>()
Ich wette, Ihr PostCategory
ein struct
ist. Offenbar sind struct-Arrays nicht in ein Any-Array konvertierbar. Das ist komisch, weil alle Typen dem Any-Protokoll entsprechen.
Wenn Sie stattdessen die PostCategory
in eine class
ändern, sollte es gut funktionieren. Möglicherweise müssen Sie jedoch einen neuen Initialisierer für die Klasse erstellen, da Klassen nicht denselben Standardinitialisierer wie eine Struktur bereitstellen.
Ja , PostCategory ist eine Struktur, gibt es irgendwas Äquivalent von Any für struct –
Wo findet die eigentliche Aufgabe statt? – Alexander
Mögliches Duplikat von [Warum nicht \ [SomeStruct \] in \ [Beliebige \] umwandelbar?] (Http://stackoverflow.com/questions/37188580/why-arent-somestruct-convertible-to-any) – Hamish