swift – Do Realm是否写了级联?

我目前正在使用Realm
Swift 1.0.1.

假设你有一个Realm对象,它有另一个Realm对象作为属性,如下所示:

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?
}

如果你然后创建新的Car和Garage对象,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

最佳答案 我只是在其中一个Realm示例应用程序中测试它是绝对肯定的.是的,如果将对象设置为另一个Realm对象的链接对象,则在下一个写入事务中将两者都添加到Realm.

点赞