我有以下可解码的类:
class Sample: Decodable {
var something: Array<Any>?
}
extension Sample: Equatable {
static func == (lhs: Sample, rhs: Sample) -> Bool {
return rhs.something ?? [] == lhs.something ?? []
}
}
给我错误类型Any
不符合协议。
对于所有人的信息,Array
中的对象类型只有在收到响应后才能在运行时确定。
需要帮助。
答案 0 :(得分:2)
您不能将Array<Any>
设为Equatable
或Decodable
,因为两个protocols
都需要Array's
Element
类型为{{1 }}或Equatable
和Decodable
不满足此要求。
您可以做的是创建自己的自定义Any
来满足上述要求,
class