假设我有这样的结构:
Any
现在我有一个GenericStruct
数组,并希望从这个数组获得所有let arrayOfGenericStructs = arrayOfAny.flatMap { $0 as? GenericStruct<Any> }
,无论泛型类型是什么。我原以为这会起作用:
GenericStruct
但事实并非如此。
我需要做些什么来获取所有B
的数组?
答案 0 :(得分:0)
我找到了一种丑陋的解决方案:
我定义了GenericStructProtocol
符合的协议GenericStruct
。现在我可以像这样创建一个GenericStruct
的数组:
let arrayOfContainers = arrayOfAny.flatMap { $0 as? GenericStructProtocol }
仍然想知道这样做的正确方法是什么。