Real Realm是否写了级联?

时间:2016-06-22 10:48:26

标签: swift realm

我目前正在使用Realm Swift 1.0.1。

假设你有一个领域Object,它有另一个领域Object作为属性,如下所示:

import RealmSwift

class Car: Object {

    dynamic var id = 0
    override static func primaryKey() -> String? {
        return "id"
    }

    dynamic var model = ""
}

class Garage: Object {

    dynamic var id = 0
    override static func primaryKey() -> String? {
        return "id"
    }

    dynamic var carStored: Car?
}

如果您随后创建了新的CarGarage个对象,Car属于Garage的属性...但只能编写新的Garage } Realm,就像这样......

let teslaCar = Car()
teslaCar.id = 1
teslaCar.model = "Tesla"

let myGarage = Garage()
myGarage.id = 1
myGarage.carStored = teslaCar

let realm = try! Realm()

try! realm.write {
    realm.add(myGarage, update: true)
}

...会写入级联,还会将teslaCar保存到Realm以及myGarage吗?

Realm Swift写文档:https://realm.io/docs/swift/latest/#writes

1 个答案:

答案 0 :(得分:2)

我刚刚在其中一个Realm示例应用程序中对其进行了测试,以确保无误。是的,如果将对象设置为另一个Realm对象的链接对象,则在下一个写入事务中都将这两个对象添加到Realm中。