如何在 Swift 中使用 Realm 获取特定 parent 的所有子孙?
How to get all childs+grandchilds of a specific parent using Realm in Swift?
我有一个像这样的 3 个数据库设置 Parent->Child->Grandchild,到目前为止我可以设法获得特定的 child parent,但无法更深入。
class Parent : Object {
@objc dynamic var name : String = ""
let childs = List<Child>()
}
class Child : Object {
@objc dynamic var name : String = ""
let grandchilds = List<Grandchild>()
var giveBirth = LinkingObjects(fromType: Parent.self, property: "childs")
}
class Grandchild : Object {
@objc dynamic var name : String = ""
var giveBirth = LinkingObjects(fromType: Child.self, property: "grandchilds")
}
我用这条线来计算 childs:
if let parent = itemsFromParentList?[indexPath.row] {
cell.detailTextLabel?.text = "\(parent.childs.count)"
}
但我想获得特定 parent 的所有 childs+grandchilds 的总数,例如 "How many childs and grandchilds do you have?".
非常感谢!!!
注意"child"的复数是"children"
如果我没理解错的话,你需要把parent的grandchildren平面映射,然后计数,然后加上children的计数[=11] =]
let childrenPlusGrandchildrenCount = parent.childs.flatMap { [=10=].grandchilds }.count + parent.childs.count
我有一个像这样的 3 个数据库设置 Parent->Child->Grandchild,到目前为止我可以设法获得特定的 child parent,但无法更深入。
class Parent : Object {
@objc dynamic var name : String = ""
let childs = List<Child>()
}
class Child : Object {
@objc dynamic var name : String = ""
let grandchilds = List<Grandchild>()
var giveBirth = LinkingObjects(fromType: Parent.self, property: "childs")
}
class Grandchild : Object {
@objc dynamic var name : String = ""
var giveBirth = LinkingObjects(fromType: Child.self, property: "grandchilds")
}
我用这条线来计算 childs:
if let parent = itemsFromParentList?[indexPath.row] {
cell.detailTextLabel?.text = "\(parent.childs.count)"
}
但我想获得特定 parent 的所有 childs+grandchilds 的总数,例如 "How many childs and grandchilds do you have?".
非常感谢!!!
注意"child"的复数是"children"
如果我没理解错的话,你需要把parent的grandchildren平面映射,然后计数,然后加上children的计数[=11] =]
let childrenPlusGrandchildrenCount = parent.childs.flatMap { [=10=].grandchilds }.count + parent.childs.count