在一个视图上使用不同数据填充多个表的最佳方法是啥? [关闭]

Posted

技术标签:

【中文标题】在一个视图上使用不同数据填充多个表的最佳方法是啥? [关闭]【英文标题】:what is the BEST way to populate several tables with different data on one view? [closed]在一个视图上使用不同数据填充多个表的最佳方法是什么? [关闭] 【发布时间】:2013-09-13 12:12:17 【问题描述】:

我正在构建一个 iPad 应用。我想让其中一个视图 (xib) 显示几个表,在运行时将不同的数据填充到每个表中,即,当视图加载时,我想为每个表运行查询并将查询结果作为行返回到相关表格。所以对于tableA,我会运行queryA并返回datasetA、tableB、queryB、datasetB等等。我怎样才能做到这一点?你能给出示例代码吗?我还希望能够与表格进行交互,例如,选择一行并将信息传递到另一个屏幕。

【问题讨论】:

【参考方案1】:

比 BalaChandra 的答案更简单的方法(它是正确的):

我想你的 UITableViews 是实例变量(甚至是属性)。因此,如果您已经实例化了您的表视图,例如:

UITableView *tableViewA = [[UITableView alloc] init...];
UITableView *tableViewB = [[UITableView alloc] init...];

例如,您不需要将标签设置为表格视图。 在 UITableViewDelegate/UITableViewDataSource 方法中,您可以检查哪个 tableView 是这样的:

if (tableView == tableViewA) 
    // Do something with tableA... 

else if (tableView == tableViewB) 
    // Do something with tableB...

...

【讨论】:

【参考方案2】:

只需创建四个表并将它们放在视图上,将 tableview 委托和数据源设置为 self。给每个表一个特定的标签。在数据源或委托方法中,在执行操作之前检查该特定表视图的标签并运行与其相关的查询。 例如:

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section 
// The header for the section is the region name -- get this from the region at the section index.
if (tableView.tag ==12) 
    return @"comments:";

else

return sectiontitle;


其中一个表的tag=12,如果tag为12,则执行与该表相关的操作,否则执行与其他表相关的操作。

【讨论】:

好的,我会试试的,听起来合乎逻辑。这是将委托和数据源设置为 self 的正确方法(从保存表的 ViewController 实现文件中吗?)'mytable = [[UITableView alloc] init]; [mytable setDelegate:self]; [mytable setDataSource.self];' 可以直接赋值 mytable.datasoucre = self;为什么要为这一切烦恼 感谢 BalaChandra,您能扩展您的评论吗? 您指定的方法也是正确的,我只是说创建表之后。您可以使用 setter 直接分配数据源和委托。 mytable.datasource = self 和 mytable.delegate = self.确保在头文件中实现它们 嗨@BalaChandra,你能给我指点关于如何遵循你的建议的更详细说明吗?

以上是关于在一个视图上使用不同数据填充多个表的最佳方法是啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

快速使用 JSON 数据填充选择器视图的最佳方法是啥?

在 QT 中实现具有多个小部件的视图的最佳方法是啥?

使用以下数据库布局在 mysql 中创建视图的最佳方法是啥?

在 Android 中创建 UI 表的最佳方法

连接由公共事实表连接的多个维度表的记录的最佳方法是啥

在 Java 中读取精灵表的最佳方法是啥?