
[code]

    class Foo<T> {}
    
    class Bar {
        var foos = [Foo]()
    }
    
[/code]

上記のようにすると "Generic parameter 'T' could not be inferred" というエラーが出てコンパイルが通りません。

[code]

    var foos = [Foo<String>]()
    
[/code]

のようにGenericパラメーターを定めればコンパイルは通りますが、Tの型に関わらずFooを保持することはできないでしょうか？  
（Javaのワイルドカード指定、Foo<*>のような扱い方）

別途プロトコルを作ってFooに実装するしかないでしょうか？


CC BY-SA 3.0
2018-02-09T07:37:42.027
41609
2018-02-09T07:37:42.027
8148
question
swift
Genericパラメーターが不定のクラスの配列の作り方