我有一个名为FlowerCategory的结构,如下所示:
struct FlowerCategory {
var id :Int?
var title :String
var imageURL :String
}
extension FlowerCategory {
init?(node :Node) {
// do something here
}
}
我正在Node类上创建一个扩展,它将节点转换为强类型类数组。问题是我无法调用T.init初始值设定项,如下所示:
extension Node {
func toArray<T>() -> [T]? {
guard let nodes = self.nodeArray else {
return nil
}
return nodes.flatMap(T.init) // This will NOT work
}
}
无论如何要做我想要达到的目标吗?
更新: