我是否还需要在领域中编写所有子对象?

时间:2016-01-14 07:41:55

标签: ios swift realm

按照显示的示例代码:

// Define your models like regular Swift classes
class Dog: Object {
  dynamic var name = ""
  dynamic var age = 0
}
class Person: Object {
  dynamic var name = ""
  dynamic var picture: NSData? = nil // optionals supported
  let dogs = List<Dog>()
}

// Use them like regular Swift objects
let myperson = Person()
let mydog = Dog()
mydog.name = "Rex"
myperson.dogs.append(mydog)

// Persist your data easily
let realm = try! Realm()
try! realm.write {
  // do I need to add this statement??
  realm.add(mydog)
  realm.add(myperson)
}

我是否还需要持久保存mydog对象,或者Realm足够聪明,知道它是myperson的一个新的子对象,它会为我保留它吗?

2 个答案:

答案 0 :(得分:2)

如果您已经持久保存包含它的对象,则不需要保留实际的dog对象。

答案 1 :(得分:1)

对于想知道级联删除的用户,答案是NO

Realm支持级联写入,但NOT删除。对于删除,您可能需要查询所有关系并逐个删除。