我希望在一个UITableViewController中有两个不同的UITableView,并且一次只显示其中一个。父视图控制器用作其数据源。我首先加载VC时为两个表加载数据,以便用户在表之间切换时不必等待。
我以编程方式添加第二个表视图,但后来我丢失了我为第一个表视图实现的所有样式,我在storyboard中做了。更重要的是,我没有第二个表视图的原型单元格。
问题:如何克隆第一个tableView以制作第二个tableView?
CurrentCode:
// Set up Recent Posts Table
[self.recentPostsTable setDelegate:self];
[self.recentPostsTable setDataSource:self];
[self.recentPostsTable setTag:0];
// Set up hot Posts Table
UITableView *hotPostsTable = [[UITableView alloc] initWithFrame:self.recentPostsTable.frame style:self.recentPostsTable.style];
[hotPostsTable setDelegate:self];
[hotPostsTable setDataSource:self];
[hotPostsTable setTag:1];
self.hotPostsTable = hotPostsTable;
[self fetchPosts:RECENT_POSTS_TABLE_TAG limit:[NSNumber numberWithInteger:NUM_RECENT_POSTS_IN_ONE_BATCH] skip:@0];
[self fetchPosts:HOT_POSTS_TABLE_TAG limit:[NSNumber numberWithInteger:NUM_HOT_POSTS_IN_ONE_BATCH] skip:@0];
答案 0 :(得分:1)
听起来你实际上并不想要2 UITableViews
,而是2 UITableViewDataSources
。创建两个类,每个类以您要使单独的表视图行为的方式实现UITableViewDataSource
方法。然后,当您想要在表视图和#34;之间切换时,只需将2个数据源中的一个分配给self.tableView.dataSource
。