UITableView独立加载部分

时间:2016-08-23 17:25:58

标签: ios objective-c uitableview

我目前有一个表格视图,需要花费时间加载并选择了一个tableviewcell。我想在整个tableview加载之前在单独的部分中显示预先选择的单元格。我有要添加到单元格的数据。我能想到的一个丑陋的解决方案是拥有两个单独的表视图,但这不是一个干净的解决方案。任何建议,我怎样才能更好地处理这种情况?

1 个答案:

答案 0 :(得分:0)

在控制器中存储BOOL值,可能名为“dataLoaded”。然后,更新表视图数据源方法:

- (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