gpt4 book ai didi

ios - 使用 UISegmentedControl 改变 Table View 的数据

转载 作者:行者123 更新时间:2023-11-28 19:47:22 24 4
gpt4 key购买 nike

在我的应用程序中,实际上会有两个 TableView ,但它们彼此之间并没有真正的不同。两个 View 之间的唯一区别是它们具有的 URL,因为我使用来自 URL 的数据更新了我的表。除 URL 之外的所有内容都保持不变。我曾经有 2 个不同的 View Controller 并在它们之间切换,但后来我认为拥有一个 TableView Controller 并仅更改 URL 并使用给定的 URL 更新表是一个更好的主意。

我想到了这个:

enter image description here

下面是表格中我的 viewDidLoad 函数的一部分,我从 URL 中获取数据(我正在使用 AFNetworking):

enter image description here

我在这里遇到的问题是,它不会重新加载数据;虽然我使用表的 reloadData 方法。不久,我切换但没有任何反应。

你觉得我错过了什么?还是我一开始的想法就错了?

为了方便起见,这是我的 Storyboard,很简单:)

enter image description here

最佳答案

您可以尝试使用 UITableViewDataSource 协议(protocol)。默认情况下,UITableViewControllerdataSource 设置为self(即UITableViewController 是数据源,它是为什么它有所有这些 tableView:cellForRowAtIndexPath: 方法)。

您可以做的是将所有这些方法移动到您自己的类 MyDataSource,然后在 init 上:

self.dovizDataSource = [[MyDataSource alloc] initWithURL:<dovizURL>];
self.altinDataSource = [[MyDataSource alloc] initWithURL:<altinURL>];

想切换的时候设置

self.tableView.dataSource = self.dovizDataSource;

self.tableView.dataSource = self.altinDataSource; 

然后

self.tableView reloadData;

参见 UITableView文档,UITableViewDataSource协议(protocol)引用。

关于ios - 使用 UISegmentedControl 改变 Table View 的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31291837/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com