【发布时间】:2016-03-20 07:01:45
【问题描述】:
问题 如何创建包含 Realm 对象的对象数组?
代码
let realm = try! Realm()
let data: [A] = realm.objects(A)
错误
无法使用类型为“(Object.type)”的参数列表调用“对象”
【问题讨论】:
标签: arrays swift type-conversion realm
问题 如何创建包含 Realm 对象的对象数组?
代码
let realm = try! Realm()
let data: [A] = realm.objects(A)
错误
无法使用类型为“(Object.type)”的参数列表调用“对象”
【问题讨论】:
标签: arrays swift type-conversion realm
如何创建包含 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 更改通知时更新。
【讨论】: