当前位置:  开发笔记 > IOS > 正文

RealmSwift + Multiple Predicate

如何解决《RealmSwift+MultiplePredicate》经验,为你挑选了1个好方法。



1> jpsim..:

您不应动态制作NSPredicate查询字符串.以NSCompoundPredicate编程方式创建更容易(也更安全).您可以将NSPredicates 传递给Realm的RealmCollectionType.filter(...)方法.这是一个让所有Person拥有Xbox或Playstation 4的人的例子:

// could use .AndPredicateType here too, depending on what you want
let query = NSCompoundPredicate(type: .OrPredicateType, subpredicates: [NSPredicate(format: "console = 'Xbox'"), NSPredicate(format: "console = 'Playstation 4')])
let player = realm.objects(Person).filter(query)

虽然在您的情况下,IN如果您需要OR语义,最好使用查询:

let selectedConsoles = ["Xbox", "Playstation 4"]
let player = realm.objects(Person).filter("console IN %@", selectedConsoles)

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有