【发布时间】:2016-09-26 03:56:27
【问题描述】:
刚开始使用Realm的swift框架,不知道有没有漏掉什么,但是我觉得通过realm的API查询数据的方式比较麻烦,所以想写一个辅助函数给它。
但是当我使用它的泛型函数时,我遇到了一些问题。
所以这里是辅助函数:
static func queryFromRealm<T: Object>(object: T, query: String) -> Results<T> {
let realm = try! Realm()
return realm.objects(T.self).filter(query)
}
realm.objects(type:) 是 Realm 的函数,它接受一个泛型类型参数:
public func objects<T: Object>(_ type: T.Type) -> Results<T> {
return Results<T>(RLMGetObjects(rlmRealm, (type as Object.Type).className(), nil))
}
但是当我调用这个辅助方法时:
let currentUser = STHelpers.queryFromRealm(object: STUser, query: "uid = 'xxxxx'")
我有这个错误:无法将类型“STUser.Type”的值转换为预期的参数类型“Object”,其中 STUser 继承自 Realm 的 Object 类。
我不确定哪一步是错误的,我非常感谢它的建议和帮助!提前致谢!
【问题讨论】: