そのカスタムクラス内のカスタムクラスの等価(==)演算子をオーバーロードすることは可能ですか?ただし、この演算子がクラススコープ外でオーバーロードされる可能性があることはわかっています。サンプルコードに感謝します。前もって感謝します。
グローバル関数を追加します。例えば:
class CustomClass {
var id = "my id"
}
func ==(lhs: CustomClass, rhs: CustomClass) -> Bool {
return lhs == rhs
}
func !=(lhs: CustomClass, rhs: CustomClass) -> Bool {
return !(lhs == rhs)
}
class CustomClass: Equatable {
var id = "my id"
}
func ==(left: CustomClass, right: CustomClass) -> Bool {
return left.id == right.id
}
class CustomClass {
var id = "my id"
}
extension CustomClass: Equatable {
static func ==(lhs: CustomClass, rhs: CustomClass) -> Bool {
return lhs.id == rhs.id
}
}
いいえ、演算子はグローバル関数を使用してオーバーロードされます。