簡體   English   中英

如何使用realm swift檢索另一個對象列表中的對象?

[英]How to retrieve an object that is in a list in another object using realm swift?

我有一些看起來像這樣的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

問題是:如何從'subs'(List)中檢索對象?

檢索主對象時,您可以像訪問任何其他屬性一樣訪問其子列表:

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]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM