【发布时间】:2015-01-06 19:48:52
【问题描述】:
我创建了一个汽车的核心数据模型,我想选择一种车辆类型加上几种不同颜色中的任何一种,这是我的设想:
选择视图控制器
1) 选择汽车类型(轿车、轿跑车、SUV、混合动力车)(我设想使用分段控件将其设置为谓词)
2) 选择车辆类型后,我希望从颜色列表中选择并仅显示满足我在第一步中选择的车辆类型的车辆。例如,我想只显示(红色、绿色和蓝色)的 SUV 或只显示黑色和白色的混合动力车。
结果 TableViewController
3) 一旦选择了这些,我想将它们转储到另一个 TVC 上。
这篇文章有点帮助,但提出问题的人试图找到不同的项目(例如:A、B 和 C)。我试图仅在 A 中找到 X、Y 和 Z。 Can I apply multiple predicates to an NSFetchRequest? Would it be better to manually parse my results?
当我尝试检索一种类型的车辆以及所选颜色的列表时遇到了麻烦
let vehiclePredicate = NSPredicate(format: "type == %@", "(one of sedan/coupe/SUV/hybrid)")
并且满足以下任一条件
let colorRedPredicate = NSPredicate(format: "color == %@", "red")
let colorGreenPredicate = NSPredicate(format: "color == %@", "green")
let colorBluePredicate = NSPredicate(format: "color == %@", "red")
let colorBlackPredicate = NSPredicate(format: "color == %@", "black")
let colorWhitePredicate = NSPredicate(format: "color == %@", "white")
let colorPredicates: NSArray = [**add colors here when they're selected**]
我正在尝试找出最简洁的方法来执行此操作,但我发现的示例仅检索不同的项目。
我遇到的另一个障碍是如何将结果从我的 SelectionVC 获取到 ResultsTVC。我知道我需要一个代表,但我需要什么?对此的任何帮助将不胜感激。
【问题讨论】:
-
您的意思是对颜色进行“与”还是“对”?
-
vehicleType AND [colorPredicates] 示例:混合动力 AND [白色]、轿车 AND [红色 AND 蓝色]
标签: core-data swift ios8 nspredicate