如何正确删除Realm子对象?

hyo*_*uuu 4 realm swift

无法在doc或Google中找到有关此内容的具体信息,因此以下是示例:

class Parent: Object {
  let children = List<Child>()
}

class Child: Object {
  weak var parent: Parent?
}
Run Code Online (Sandbox Code Playgroud)

当我想删除特定的Child"child1"时,我应该使用:

Realm().write { realm.delete(child1) }
Run Code Online (Sandbox Code Playgroud)

或者我应该在父母手动删除它(繁琐):

if let parent = child1.parent {
  if let idx = parent.children.indexOf(child1) {
    parent.children.removeAtIndex(idx)
  }
}
Realm().write { realm.delete(child1) }
Run Code Online (Sandbox Code Playgroud)

谢谢!

TiM*_*TiM 7

我只是自己测试一下来确定; 简单地说:

Realm().write { realm.delete(child1) } 
Run Code Online (Sandbox Code Playgroud)

将自动从列表中删除它.您无需自己进入并手动删除列表中的对象.:)