if (carData != "" && carData2 != "" && carData3 != "") {
selectedCar = selectedCar?.filter("(carCountry == %@ && carColor == %@ && carBrand == %@) OR (carCountry == %@ && carBrand == %@ && carColor == %@) OR (carColor == %@ && carCountry == %@ && carBrand == %@)", carData, carData2, carData3, carData, carData3, carData2, carData2, carData, carData3)
}
我想根据“carData”,“carData2”,“carData3”这三个属性过滤realm数据库中的项目。这些属性来自用户在每个三个文本字段上键入的内容。我想让用户可以根据他们使用的文本字段过滤项目。我可以过滤
(carCountry == %@ && carColor == %@ && carBrand == %@)
这一部分,但其他两部分根本不起作用。
答案 0 :(得分:0)
我认为您在搜索参数中存在问题。
如果参数类型为String,则使用contains
示例: -
let someDogs = realm.objects(Dog.self).filter("name contains 'Fido'")
如果参数类型为Int,则使用==
示例: -
let myPuppy = realm.objects(Dog.self).filter("age == 1")
请根据您的参数类型进行尝试。