是否有任何简单的内置方法可以为任何应用内对象生成唯一的idenitfiers?(哈希是不可接受的,因为在我的情况下,拥有相同数据的对象是可以的) ID可接受为字符串或整数,仅需要本地唯一性。 谷歌没有帮助
答案 0 :(得分:1)
如果你需要做的就是确定两个与==
相等的对象是否不同,你可以使用===
运算符:
let first = MyObject(value: 1)
let second = MyObject(value: 1)
first == second // returns true
first === second // returns false
如果你真的想获得一个唯一的标识符,那么深入了解Swift标准库会显示:
/// Return an UnsafePointer to the storage used for `object`. There's
/// not much you can do with this other than use it to identify the
/// object
func unsafeAddressOf(object: AnyObject) -> UnsafePointer<Void>
我没有声称使用它的可行性。它甚至可能不会像您认为的那样工作,这取决于编译器提取的写时复制诡计。