gpt4 book ai didi

arrays - 如何使 Array 相等?

转载 作者:搜寻专家 更新时间:2023-11-01 06:54:46 26 4
gpt4 key购买 nike

我有以下可解码类:

class Sample: Decodable {
var something: Array<Any>?
}

extension Sample: Equatable {
static func == (lhs: Sample, rhs: Sample) -> Bool {
return rhs.something ?? [] == lhs.something ?? []
}
}

给我错误类型 Any 不符合协议(protocol)。

请注意,Array 中的对象类型只有在我收到响应后才会在运行时确定。

需要帮助。

最佳答案

你不能制作Array<Any>作为EquatableDecodable因为protocols将需要 Array's Element输入 EquatableDecodableAny不满足这个要求。

您可以做的是,创建您自己的自定义 class满足以下要求,

class MyAny: Equatable, Decodable {

static func == (lhs: MyAny, rhs: MyAny) -> Bool {
return lhs.id == rhs.id
}

var id: Int
}

class Sample: Decodable {

var something: Array<MyAny>?
}

关于arrays - 如何使 Array<Any> 相等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54272977/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com