【问题标题】:Realm object in array?数组中的领域对象?
【发布时间】:2016-03-20 07:01:45
【问题描述】:

问题 如何创建包含 Realm 对象的对象数组?

代码

let realm = try! Realm()
let data: [A] = realm.objects(A)

错误

无法使用类型为“(Object.type)”的参数列表调用“对象”

【问题讨论】:

    标签: arrays swift type-conversion realm


    【解决方案1】:

    如何创建包含 Realm 对象的对象数组?

    从您的代码示例中,我将进一步假设您希望从领域 Results 创建一个数组,而不仅仅是“独立”领域对象。

    由于Results符合SequenceType,所以可以使用SequenceType.map()将其转换为数组:

    let arrayFromResults = results.map({ $0 })
    

    但是请注意,这几乎总是使用错误的模式。

    来自your tweet 的同一主题,最好的方法是将您想要在屏幕上显示的内容编码为领域查询:

    self.results = realm.objects(A).filter("poppedOff == NO")
    

    并且“弹出”一个对象(无论这意味着什么)将更新该对象的poppedOff 属性。

    由于 Realm Results 是自动更新的,因此不会有与 Realm 内容不同步的风险,这与数组转换方法不同,后者必须在每次 Realm 更改通知时更新。

    【讨论】:

    • 你是对的。我已将问题编辑为我需要的内容。
    猜你喜欢
    • 2017-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多