我想比较两个 Swift 对象的地址,例如:
let a: AnyObject
let b: AnyObject
a < b
Run Code Online (Sandbox Code Playgroud)
当然,这是不可能的,但我找不到任何方法来实现这一目标。
我可以只实现一个 C 函数来做到这一点
bool compare(NSObject *a, NSObject *b){
return a < b;
}
Run Code Online (Sandbox Code Playgroud)
然后称之为
compare(a, b)
Run Code Online (Sandbox Code Playgroud)
但这限制了我使用NSObjects.
所以我的问题是:有什么办法可以完全在 Swift 中实现这一点?
您可以使用返回值的unsafeAddressOf函数UnsafePointer。
let elm0 = "hello world"
let elm1 = UIButton()
let address0 = unsafeAddressOf(elm0)
let address1 = unsafeAddressOf(elm1)
let compare = address0 > address1
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
2267 次 |
| 最近记录: |