UID用于快速对象

时间:2014-12-22 19:24:11

标签: xcode macos swift uid

是否有任何简单的内置方法可以为任何应用内对象生成唯一的idenitfiers?(哈希是不可接受的,因为在我的情况下,拥有相同数据的对象是可以的) ID可接受为字符串或整数,仅需要本地唯一性。 谷歌没有帮助

1 个答案:

答案 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>

我没有声称使用它的可行性。它甚至可能不会像您认为的那样工作,这取决于编译器提取的写时复制诡计。