问题描述
假设我有这些对象
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 (将#修改为@)