【问题标题】:Using a UIPicker for selecting data from a relational database?使用 UIPicker 从关系数据库中选择数据?
【发布时间】:2016-10-28 23:19:44
【问题描述】:

在我的基于运动的应用程序中,我有一个关系数据库,其中包含三个链接的单独表;国家 > 部门 > 团队。

我正在考虑为此使用 UIPicker。首先用户选择国家,然后是部门,然后是团队。

这是否需要 3 个单独的选择器,每个选择器都被隐藏,然后在选择每个选择器时显示,并在每次选择后对数据库进行 API 调用以检索下一个选择的值?

或者我应该看看其他选择方法吗?

【问题讨论】:

  • 自然地表示此层次结构的一种方法是使用 3 个单独的视图控制器和表视图来处理每个级别的数据。将第一个放在导航控制器中,然后将每个后续视图控制器推入堆栈。
  • 这种向下钻取的常见模型是使用表格视图。想想你可能会去的音乐应用程序,艺术家、专辑歌曲。使用选择器执行此操作可能很奇怪。

标签: ios swift uipickerview


【解决方案1】:

我在国家、州/省和学校做过类似的事情

struct Location {

    let countries: [Country]
    let states: [Country: [State]]
    let schools: [State: [School]]
}

基本上,我查询 API 来创建这个 struct 然后有三个 UITextFields 和一个 inputView 到一个 UIPicker 然后在我的每个 UIPickerViewDelegate 方法中,我有 switch 语句将 pickerView 类型转换为合适的,在那里做了我的逻辑。

基于此struct,您可以看到CountryState 结构数组的键,StateSchools 数组的键。

注意:你必须让你的自定义结构符合 Hashable 才能获得这种功能

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-18
    • 2017-03-19
    • 2017-02-04
    • 1970-01-01
    • 2017-08-15
    • 2014-05-06
    相关资源
    最近更新 更多