如何跟踪领域中List对象的上一个父级

问题描述

假设我有这些对象

class Person {
  @objc dynamic var personID = ""

  var pets = List<Pet>()

  override class func primaryKey() -> String?
     return "personID"
  }
}

class Pet {
  @objc dynamic var petID = ""

  private let owners = LinkingObjects(fromType: Person.self,property: "pets")
  var owner: Person? { return owners.first }

  override class func primaryKey() -> String?
     return "petID"
  }
}

我实例化了一些对象

let john = Person()
john.personID = "abc"

let dog = Pet()
dog.petID = "dog"

let cat = Pet()
cat.petID = "cat"

let bird = Pet()
cat.petID = "bird"

然后用同一个人的不同宠物做2项任务

分配1

john.pets = [dog,cat]

这意味着

dog.owner = john
cat.owner = john
bird.owner = nil 

分配2

john.pets = [cat,bird]

这意味着

dog.owner = nil
cat.owner = john
bird.owner = john

狗现在变成孤儿。有没有一种方法可以追踪那只狗是约翰拥有的

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)