【发布时间】:2016-01-15 23:37:59
【问题描述】:
在 Realm 中,有没有办法为存储在数据库中的每个对象设置一个唯一的 ID?我不一定需要它每次都自动递增。我只是想知道有没有办法在 iOS 8 或更高版本的 Swift 2 中做到这一点?我知道你可以在 objC 中做到这一点。
【问题讨论】:
标签: swift ios8 swift2 ios9 realm
在 Realm 中,有没有办法为存储在数据库中的每个对象设置一个唯一的 ID?我不一定需要它每次都自动递增。我只是想知道有没有办法在 iOS 8 或更高版本的 Swift 2 中做到这一点?我知道你可以在 objC 中做到这一点。
【问题讨论】:
标签: swift ios8 swift2 ios9 realm
要为 Realm 中的所有对象生成 UUID,您可以创建一个生成 UUID 的超类:
class IdentifiableObject : Object {
private(set) dynamic var uuid = NSUUID().UUIDString
}
虽然这可行,但它确实带来了一个重大问题,至少在领域支持只读属性之前是这样。更新对象时,您必须先获取存储的对象,然后再保存。
【讨论】: