Swift 2 的领域唯一 ID

Realm Unique ID with Swift 2

在 Realm 中有没有办法为存储在数据库中的每个对象设置一个唯一的 ID?我不一定需要它每次都自动递增。我只是想知道在 iOS 8 或更高版本的 Swift 2 中是否有办法做到这一点?我知道你可以在 objC 中做到这一点。

要为您的领域中的所有对象生成 UUID,您可以创建一个生成 UUID 的超类:

class IdentifiableObject : Object {
    private(set) dynamic var uuid = NSUUID().UUIDString
}

斯威夫特5

class IdentifiableObject : Object {
    private(set) dynamic var uuid = NSUUID().uuidString
}

虽然这可行,但它确实有一个主要问题,至少在 realm 支持只读属性之前是这样。更新对象时,需要先获取存储的对象再保存。