我想創建結構實例的一個這樣的數組:是否可以創建一個結構實例數組?
let installers: [AnyObject] = [Homebrew(), Ls()]
但我得到這個錯誤:
value of type 'Homebrew' does not conform to expected element type 'AnyObject'
當我給數組沒有類型,我得到一個模棱兩可的錯誤類型和它需要更多的上下文。
是否有可能完成我想要做的事情?
我谷歌搜索了所有,但我找不到任何東西。
請注意,儘管Adam在語法上是正確的,但這幾乎總是錯誤的設計。應該有一些協議,既家釀和Ls符合,你應該使你的協議陣列,而不是'任何'。 「任何」都打破了Swift的類型安全性,並創造了許多棘手的角落案例和微妙的錯誤(特別是涉及泛型或Optionals時)。除非絕對必要,否則應避免使用。 (「AnyObject」同樣如此。) –
@RobNapier同意。 – Adam