gpt4 book ai didi

swift - (Swift)如何从元组数组 [(Date, MyClass)] 中获取元组元素 (Date, MyClass) 的索引?

转载 作者:行者123 更新时间:2023-11-30 12:04:59 25 4
gpt4 key购买 nike

我有一个类型元组(Date,MyOwnClass)的数组,并尝试从元组数组中查找等于我的目标元组的特定元组的索引。当我尝试使用“.indexOf({ $0 == targetTuple })”时,XCode 给出错误消息“二元运算符 == 不能...”

提前致谢!

最佳答案

如果元组的所有元素都遵循 Equatable 协议(protocol),则元组会自动遵循 Equatable 协议(protocol),因此您只需确保您的类实现 Equatable 协议(protocol)即可:

class MyClass {
var name : String
init(_ _name : String) {
name = _name
}
}

extension MyClass: Equatable {
public static func ==(lhs: MyClass, rhs: MyClass) -> Bool {
return lhs.name == rhs.name
}
}

let ar : [(Int, MyClass)] = [
(1, MyClass("A")),
(2, MyClass("B")),
(1, MyClass("A"))
]

if let ix = ar.index(where:{$0 == (1, MyClass("A"))}) {
print(ix)
} else {
print("not found")
}

// 0 is printed

关于swift - (Swift)如何从元组数组 [(Date, MyClass)] 中获取元组元素 (Date, MyClass) 的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46776480/

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