Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UITableview根据所选单元格显示不同的数据_Ios_Swift_Uitableview - Fatal编程技术网

Ios UITableview根据所选单元格显示不同的数据

Ios UITableview根据所选单元格显示不同的数据,ios,swift,uitableview,Ios,Swift,Uitableview,在我正在设计的应用程序中,以下是我试图实现的目标: 主视图,只有3项,“待办事项”、“购物清单”、“备注”。 详图视图基于在主视图中选择的项目,显示不同的数据集。这是一个UITableView。 从主视图到局部视图的转换使用segue,更像主视图是前视图,一旦选择了项目,就会调用segue转换到局部视图 我的问题是: 对于主视图,我应该只使用3个单元格的UITableView并禁用滚动吗?还是应该使用带有3个按钮的UIView? 如何根据主视图中的选择在局部视图中显示不同的数据集?例如,如果用户

在我正在设计的应用程序中,以下是我试图实现的目标:

  • 主视图,只有3项,“待办事项”、“购物清单”、“备注”。

  • 详图视图基于在主视图中选择的项目,显示不同的数据集。这是一个UITableView。

  • 从主视图到局部视图的转换使用segue,更像主视图是前视图,一旦选择了项目,就会调用segue转换到局部视图 我的问题是:

  • 对于主视图,我应该只使用3个单元格的UITableView并禁用滚动吗?还是应该使用带有3个按钮的UIView?
  • 如何根据主视图中的选择在局部视图中显示不同的数据集?例如,如果用户选择“待办事项”,则详细视图应显示待办事项列表;如果选择使用“购物清单”,则显示购物清单中的数据。
  • 非常感谢您提供示例或链接。

    更新:

    我计划使用NSUserDefault来存储数据,因为待办事项列表和购物列表的重量相对较轻。在未来,如果需要,我将考虑使用<代码> FiasBase<代码>或<代码> iCloud < /COD>进行备份和同步。

    问题1:您可以做到这一点,但是用3个按钮来制作<代码> UIVIEW/COD>更容易。
    问题2:实现这一点的最佳方法是使用
    当前序列
    。使3
    UITableViewController
    成为主视图中3个按钮的详细视图。然后从每个按钮拖动到相应的
    tableViewController
    ,然后选择
    present
    。给每个
    segue
    一个标识。然后,在主视图中的
    prepareForSegue
    中,执行三个
    if语句
    检查
    segue.identifier==“buttonsgueidentifier”
    。在每个if语句中,执行必要的任务。最后,当单击每个按钮时,调用
    prepareForSegue

    问题1:正如Gabe所说,您可以选择其中一个,但仅使用三个按钮可能更简单

    问题2:处理显示不同数据的视图控制器的最佳方法是使用不同的视图控制器。对每个类别使用一个视图控制器。使用导航控制器在视图控制器之间创建过渡。从按钮到详细视图,创建
    show
    segues。考虑这样一个故事板:


    是我发现的解决问题的解决方案。

    请展示您编写的代码,以及您遇到的问题。请注意,您可以使用段控件-。剩下的您可能需要使用数据库后端(如核心数据或领域)来查看。@AshleyMills此问题不需要任何类型的场外资源。这不是回答这个问题的恰当理由。是的,重读一遍,你是对的。抱歉,@f_qi@AshleyMills没问题。这是正确的答案,但我认为把它分解成一些实际的代码块可能会有帮助。