符合协议或项目列表的项目的Swift泛型

时间:2018-04-07 14:24:00

标签: swift generics swift4

我正在写一个带有泛型的类。

我需要它符合协议或符合该协议的项目列表

我的班级拒绝:

class LiveData<T> where T: Actor

现在它只接受符合Actor的单个项目,我希望能够选择传递符合Actor的项目数组

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以使用2个初始值设定项来解决问题。您可以使用单个Actor或Actors数组初始化LiveData。

class LiveData<T> where T: Actor {
    var actors: [T]

    init(actor: T) {
        self.actors = [actor]
    }

    init(actors: [T]) {
        self.actors = actors
    }
}