无法使用类型为([[T.T])'的参数列表调用'append''>>

问题描述 投票:0回答:1
protocol UtimesListResponseProtocol:HandyJSON{
    associatedtype T
    var slide: Int {get set}
    var top: String {get set}
    var bottom: String {get set}
    var hasMore: Bool {get set}
    var list: [T] {get set}

    func add<M:UtimesListResponseProtocol>(data:M)
}
extension UtimesListResponseProtocol{
    mutating func add<T:UtimesListResponseProtocol>(data:T){
        slide = data.slide
        top = data.top
        bottom = data.bottom
        hasMore = data.hasMore
        list.append(data.list)
    }
}

我想在协议中添加一种添加数组的方法,但这似乎不起作用。我该怎么办,主要是因为数组中的数据类型也是泛型,我该怎么办

协议UtimesListResponseProtocol:HandyJSON {relatedtype T var slide:Int {get set} var top:String {get set} var bottom:String {get set} var hasMore:Bool {get set} var ...

arrays swift list types append
1个回答
0
投票
您有2个问题:首先,如果要将append(contentsOf:)追加到另一个,则需要调用Array。其次,您需要确保通用类型参数匹配,因为Swift中的Array只能包含相同类型的元素。
© www.soinside.com 2019 - 2024. All rights reserved.