领域上的Swift过滤项目

时间:2018-05-01 05:35:06

标签: swift realm

 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 == %@)

这一部分,但其他两部分根本不起作用。

1 个答案:

答案 0 :(得分:0)

我认为您在搜索参数中存在问题。

如果参数类型为String,则使用contains

示例: -

let someDogs = realm.objects(Dog.self).filter("name contains 'Fido'")

如果参数类型为Int,则使用==

示例: -

let myPuppy = realm.objects(Dog.self).filter("age == 1")

请根据您的参数类型进行尝试。