两个具有大数据集的 UIPickerViews

问题描述

我想在 Xcode 中创建一个简单的应用程序,其中有两个 UIPickerViews 引用一个数据集,其中第二个 UIPickerView 依赖于第一个。我想创建一个应用程序,用户可以在其中选择车辆制造商;雪佛兰、道奇、福特等。然后,用户可以根据第一选择选择车辆。例如,如果在第一个 UIPickerView 中选择了“福特”,那么第二个中只会显示福特汽车 - F150、福克斯、野马等。 选择这两个值后,用户可以搜索平均价格,其中价格保存在一个数据集。我发现了很多示例,其中有一个 UIPickerView 引用数组,但我想引用一个更大的数据集。我该怎么做呢?我是 Xcode 的新手,但我每天都编写 SAS 和 sql 代码

解决方法

我假设您已将所有记录保存在数据库中。我对 250k+ 记录做了类似的事情。

  1. 不要将所有模型的完整表示提取到内存中,只提取一个带有 DISTINCT 的属性(当前选择器需要的字符串列) - SQLiteCoreData允许这样做。
  2. 您的后续选择器(第 2、第 3 等)将自动看到较少的数据,因为应用了之前的过滤器(仅 Ford 辆车可能的选项)。
  3. 规则 1 适用于您的所有选择器,仅将 String 这样的相关字段通过正确的过滤器拉入内存。

上述方法对我的数据集完全没有问题。不确定您的数据集有多大。