【问题标题】:How to retrieve an object that is in a list in another object using realm swift?如何使用领域 swift 检索另一个对象的列表中的对象?
【发布时间】:2015-10-28 20:48:23
【问题描述】:

我有一些看起来像这样的 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) 中检索对象?

【问题讨论】:

    标签: ios swift object realm realm-list


    【解决方案1】:

    当您检索主对象时,您可以像访问任何其他属性一样访问其子列表:

    let subs = profile.subs
    

    这为您提供了一个可以迭代的列表:

    for sub in profile.subs {
        // do something with the sub object
    }
    

    或者您可以过滤 subs 以找到特定对象:

    if let subjectWithId = profile.subs.filter("uuid == '7382a8d83'").first {
        // do something with the subject
    }
    

    或者你可以使用下标通过索引来访问元素:

    let secondProfile = profile.subs[1]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多