在一个UITableViewController

时间:2015-09-26 19:26:09

标签: ios objective-c

我希望在一个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];

1 个答案:

答案 0 :(得分:1)

听起来你实际上并不想要2 UITableViews,而是2 UITableViewDataSources。创建两个类,每个类以您要使单独的表视图行为的方式实现UITableViewDataSource方法。然后,当您想要在表视图和#34;之间切换时,只需将2个数据源中的一个分配给self.tableView.dataSource