【问题标题】:Loading Data in sameTableViewController based on button press Swift基于按钮按下Swift在sameTableViewController中加载数据
【发布时间】:2015-12-06 23:27:47
【问题描述】:

我正在开发一个示例 iOS 应用程序,并希望根据用户在视图顶部按下的按钮加载(在 tableViewController 中)某些数据。例如,当用户加载页面时,默认情况下会从“myPosts”加载数据,但在视图顶部会有两个按钮“我的帖子”、“不是我的帖子”。如果他们随后选择“不是我的帖子”按钮,那么表格视图单元格将重新加载来自“notMyPosts”的数据。有人知道怎么做吗?

【问题讨论】:

  • 你有什么问题?你知道如何用一组数据加载表格视图吗?你知道如何处理按钮按下吗?你知道如何获取这两组数据吗?
  • 我知道如何用一组数据加载表格视图,我知道如何处理按钮按下,我不知道如何获取两组数据。
  • 那么你需要首先关注这一点。达到可以加载一组数据或另一组数据的地步。然后,您可以根据所选按钮获取其中一个。
  • 你想达到类似segmentedControl的目标吗?
  • 我认为分段控制是这种情况下最好的方法:)

标签: ios swift uitableview


【解决方案1】:

因此,这里最好的解决方案是使用分段控件。基本上,每个 TableView 都有一个控制器,SegmentedControl 有一个控制器。

tutorialquestion 给出了有关 segmentedControl 的基本概念以及如何为其设置基本控制器。您基本上将拥有一个容器视图,其中包含您想要显示的每个 tableView 的视图,并根据 SegmentedControl 上的选定段显示/隐藏它。

这就是你的故事板的样子:

【讨论】:

  • 谢谢!很有帮助!
【解决方案2】:

只需为您的表使用两个不同的数据源,具体取决于用户选择的按钮。

因此,当用户点击一个按钮时,设置一个变量来跟踪他们点击了哪个按钮,然后重新加载您的 tableview。

【讨论】:

  • 那么我会使用 if 语句来处理加载了哪些数据?
  • 是的,这是解决问题的一种方法。
  • 或者使用一个变量来存储您的表的当前数据源。然后在点击按钮时更新此变量以指向不同的数据源,然后重新加载表。当然,如果数据源都具有相同的结构/属性,这种方法效果最好。
  • 好的,那会比我提议的 if 语句更好吗?它们将具有完全相同的结构
  • 是的,在这种情况下,您只需要一个 if 语句 - 在决定数据源变量应该指向什么时。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多