コントローラには、おそらく "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を再度呼び出します。