我有一些看起来像这样的Realm类:
class Friends: Object {
dynamic var name = true
dynamic var role = true
dynamic var type = true
dynamic var owner: Profile?
}
class Profile: Object {
dynamic var uuid = NSUUID().UUIDString
dynamic var name = ""
dynamic var date = NSDate(timeIntervalSinceNow: 1)
dynamic var section = 0
dynamic var code = ""
dynamic var gender = 0
dynamic var type = ""
let friends = List<Friends>()
override static func primaryKey() -> String? {
return "uuid"
}
}
class Sub: Profile {
dynamic var owner: Master?
}
class Master: Object {
dynamic var type = ""
dynamic var name = ""
dynamic var date = ""
let subs = List<Sub>()
}
我明白要从领域中检索对象,我必须这样做:
var master = try! Realm().objects(Master)
let profile = master[indexPath.row]
let date = profile.date
let name = profile.name
let type = profile.type
问题是:如何从&#39; subs&#39;(列表)中检索对象?
答案 0 :(得分:7)
检索主对象时,您可以像访问任何其他属性一样访问其子列表:
let subs = profile.subs
这为您提供了一个可以迭代的列表:
for sub in profile.subs {
// do something with the sub object
}
或者您可以过滤子查找特定对象:
if let subjectWithId = profile.subs.filter("uuid == '7382a8d83'").first {
// do something with the subject
}
或者您可以使用下标按索引访问元素:
let secondProfile = profile.subs[1]