Ich versuche, ein Array von struct Instanzen wie diese zu erstellen:Ist es möglich, ein Array von Strukturinstanzen zu erstellen?
let installers: [AnyObject] = [Homebrew(), Ls()]
Aber ich bekomme diese Fehlermeldung:
value of type 'Homebrew' does not conform to expected element type 'AnyObject'
Als ich dem Array keine Art geben, erhalte ich einen mehrdeutigen Typfehler und dass es mehr Kontext benötigt.
Ist es möglich zu erreichen, was ich versuche zu tun?
Ich googelte überall, aber ich kann nichts finden.
Beachten Sie, dass, obwohl Adam in der Syntax korrekt ist, dies fast immer das falsche Design ist. Es sollte ein Protokoll geben, dem sowohl Homebrew als auch Ls entsprechen, und Sie sollten Ihr Array dieses Protokolls eher als "Any" machen. 'Any 'bricht Swifts Typ Sicherheit und schafft viele knifflige Fälle und subtile Bugs (besonders wenn Generika oder Optionals jemals involviert sind). Es sollte vermieden werden, außer wenn es absolut notwendig ist. (Das gleiche gilt auch für "AnyObject".) –
@RobNapier Vereinbarte. – Adam