1
我想在一個UITableViewController中有兩個不同的UITableViews,並且一次只顯示其中的一個。父視圖控制器作爲他們的數據源。當VC第一次加載時,我加載兩個表的數據,以便用戶在切換表時不必等待。在一個UITableViewController中有兩個UITableViews
我以編程方式添加第二個表視圖,但之後我失去了爲第一個表視圖實現的所有樣式,這是我在故事板中所做的。更重要的是,我沒有用於第二個表格視圖的原型單元格。
問題:如何克隆第一個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];
您不需要兩個數據源。只需基於兩種模式中的一種,將一組數據源和委託方法基於兩個陣列之一。 – rmaddy
我想要兩個單獨的UITableViews的原因是我不希望用戶等待渲染新的表格單元格。如果我簡單地爲相同的tableview交換數據源,每當我更改源時tableview都會被重新渲染,不是嗎? –
如果數據仍然在內存中,那麼它只會刷新單元格;沒什麼大不了的。就像@ rmdaddy所說的,你可以把它歸結爲兩個數組,並且只是對這兩個數組保持引用,以便數據保留在內存中。 – keithbhunter