【问题标题】:Two UIPickerViews with Large Data Set两个大数据集的 UIPickerViews
【发布时间】:2021-09-08 10:45:04
【问题描述】:

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

【问题讨论】:

  • 嗨 - 你最后一句中的“How”是什么意思?你不明白的部分是什么?是不是第二个轮子的内容必须根据用户在第一个轮子中的选择而改变?
  • 使用UIPickerview,可以轻松处理很多数组数据。首先只启用第一个选择器视图,然后选择第一个后,您可以启用第二个。如果用户更改了第一个选择器视图,那么只需重置第二个选择器视图。

标签: ios iphone xcode uipickerview


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多