💬

Swift 同じインスタンスかを確認する

2024/09/14に公開

※公式から引用

ObjectIdentifierを使う

class IntegerRef {
    let value: Int
    init(_ value: Int) {
        self.value = value
    }
}


let x = IntegerRef(10)
let y = x


print(ObjectIdentifier(x) == ObjectIdentifier(y))
// Prints "true"
print(x === y)
// Prints "true"


let z = IntegerRef(10)
print(ObjectIdentifier(x) == ObjectIdentifier(z))
// Prints "false"
print(x === z)
// Prints "false"

Discussion