2016-08-23 13 views
0

現在、読み込みに時間がかかり、1つのtableviewcellが選択されているテーブルビューがあります。テーブルビュー全体が読み込まれる前に、そのあらかじめ選択されたセルを別のセクションに表示する必要があります。私はセルに追加するデータを持っています。私が考えることができる1つの醜い解決策は、2つの別々のテーブルビューを持っているが、それはきれいな解決策ではないだろう。任意の提案、どのように私はこのシナリオをより適切に処理できますか?UITableView独立したセクションをロードする

答えて

0

コントローラには、おそらく "dataLoaded"という名前のBOOL値を格納します。その後、テーブルビューのデータソースメソッドを更新します。

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 
    if (self.dataLoaded) { 
     return 1; //Just the pre-selected cell 
    } 
    return 2; //However many sections for when data loaded 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
    if (section==0) { 
     return 1; //Your pre-selected cell 
    else 
     return self.numberOfData; //Number of cells in other section after data loaded 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    if (indexPath.section==0) { 
     //Return your pre-selected cell 
    } else { 
     //Data cells (after loaded) 
    } 
} 

ここで、viewDidLoadで[tableView reloadData]を呼び出します。その後、データのロードが完了したらreloadDataを再度呼び出します。

関連する問題