【发布时间】:2018-01-06 13:22:11
【问题描述】:
这个问题与RealmSwift Cannot cast Results<SomeOjbect> to Results<Object>结合在一起
我有一个像这样的领域对象:
import RealmSwift
class SomeObject: Object
{
@objc dynamic var datetime = ""
@objc dynamic var city = 0
convenience init(city: Int, datetime: String)
{
self.init()
self.city = city
self.datetime = datetime
}
}
有一个框架:https://github.com/danielgindi/ChartsRealm,它从 Realm 中拉取数据并绘制图表。该框架是用 Swift 编写的,也可以在 Objc 中使用,因此它结合了 RLMObject 和 Object 类型。
它的功能如下:
public convenience init(results: Results<Object>?, xValueField: String?, yValueField: String, label: String?)
这需要Results<Object>?,但是我无法将我的过滤结果设为Results<Object> 类型。例如
realm.objects(SomeObject.self).filter("city=0")
它是Results<SomeObject>,不能转换成Results<Object>,在RealmSwift Cannot cast Results<SomeOjbect> to Results<Object>中描述
我该如何解决?
由于ChartsRealm框架中的demo,它只是简单的从+ (RLMResults *)allObjectsInRealm:(RLMRealm *)realm;的Realm中读取所有对象,但在现实世界中,我们通常需要先过滤结果。
如果我真的无能为力,我可以接受修改框架功能参数,为框架提交拉取请求,只是为了让它工作。
【问题讨论】: