加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用Swift过滤Realm对象

发布时间:2020-12-14 02:26:58 所属栏目:百科 来源:网络整理
导读:尝试使用NSPredicate过滤我的Realm数据库时,我总是遇到以下错误: Property ‘text’ is not a link in object of type ‘getType’ 我想过滤我的Realm数据库,只显示其中包含特定文本的项目.这就是我尝试过的: let realm = try! Realm()let predicate = NSP
尝试使用NSPredicate过滤我的Realm数据库时,我总是遇到以下错误:

Property ‘text’ is not a link in object of type ‘getType’

我想过滤我的Realm数据库,只显示其中包含特定文本的项目.这就是我尝试过的:

let realm = try! Realm()
let predicate = NSPredicate(format: "typez.text.filter = 'special'")
let filterThis = realm.objects(Publication).filter(predicate)
print(filterThis)

我的模型类的相关部分是:

class Publication: Object,Mappable {
    dynamic var id: Int = 0
    var typez = List<getType>()
    dynamic var url: String?
}

class getType: Object,Mappable {
    dynamic var text: String = ""
}
我通常不直接使用NSPredicate,而是在过滤器参数中进行内联谓词闭包.
let realm = try! Realm()
                     //Array of publications             
    let realmObjects = realm.objects(Publication)
    //any publication where .text property == special will be filtered. and filter out empty array
    let filterThis = realmObjects.filter({ $0.getType.filter({ $0.text == "special" } != [] ) })
    print(filterThis)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读