gpt4 book ai didi

ios - 在 Swift 中为自定义类重载等价 (==) 运算符

转载 作者:IT王子 更新时间:2023-10-29 05:16:47 44 4
gpt4 key购买 nike

是否可以在自定义类中重载自定义类的等价 (==) 运算符。但是我知道可以让这个运算符在类范围之外重载。感谢任何示例代码。提前致谢。

最佳答案

添加全局函数。例如:

class CustomClass {
var id = "my id"
}

func ==(lhs: CustomClass, rhs: CustomClass) -> Bool {
return lhs == rhs
}
func !=(lhs: CustomClass, rhs: CustomClass) -> Bool {
return !(lhs == rhs)
}

在 Swift 2 中遵循 Equatable 协议(protocol)

class CustomClass: Equatable {
var id = "my id"
}

func ==(left: CustomClass, right: CustomClass) -> Bool {
return left.id == right.id
}

在 Swift 3 中遵循 Equatable 协议(protocol)

class CustomClass {
var id = "my id"
}

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

关于ios - 在 Swift 中为自定义类重载等价 (==) 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28848119/

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