我想比较两个 Swift 对象的地址,例如:
let a: AnyObject
let b: AnyObject
a < b
当然这是不可能的,但我找不到任何方法来实现这一目标。
我可以实现一个 C 函数来做到这一点
bool compare(NSObject *a, NSObject *b){
return a < b;
}
然后像这样调用它
compare(a, b)
但这限制了我使用 NSObjects
。
所以我的问题是:有什么方法可以完全在 Swift 中实现这一点?
最佳答案
您可以使用 unsafeAddressOf返回一个 UnsafePointer
值的函数。
let elm0 = "hello world"
let elm1 = UIButton()
let address0 = unsafeAddressOf(elm0)
let address1 = unsafeAddressOf(elm1)
let compare = address0 > address1
希望这对您有所帮助。
关于Swift 比较内存地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32286319/