- Как определить, что Swift Generi c - это массив?
- Как создать экземпляр массива определенных c элементов?
Думаю, я закончил решения. Спасибо за любую помощь.
В аналогичной ситуации:
var value: Any?
func get() -> T? {
switch T.self {
case is Int:
return Int(self.value) as? T
case let MT as MyProtocol.Type:
return MT.init(self.value) as? T // Perfectly
case let MTA as Array<MyProtocol>.Type: // <== Never case, why?
let values = self.valueAsEEArray()
return values?.map { TMA.Element.init($0) } as? T
// ^ Protocol type 'Array<MyProtocol>.Element' (aka 'MyProtocol') cannot be instantiated
protocol MyProtocol {
init(_ value: EE)
}