如何优化tableView单元格以显示在mothod cellForRowAtIndexPath
中tableView的顶部?
我想在tableView单元格的顶部显示优先级单元格,检查它们是否具有优先级,具体取决于bool
属性的havePriority
值,如果havePriority
为1,它应该是真的,否则应该在优先级列表之后。
我尝试过使用不同的单元格标识符但无法将列表放在顶部。
我的代码:
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
if (havePriority) // if the cell wants priority to be at top, have a value in bool
{
cell.textLabel = sOmeText; //
NSLog(@"%@",sOmeText);
}
return cell;
答案 0 :(得分:0)
您不应该在该方法中设置单元格的顺序。到那时为时已晚。
这确实应该在模型层中完成。要显示的项目列表应该已根据其优先级进行排序,这样它们就会显示在顶部。
其次,这种类型的代码不再是必需的了:
UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
你应该使用更现代的方法:
UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier
forIndexPath:indexPath];
这将从重用池返回一个单元格或创建一个新单元格,因此它总是返回一个单元格,而不需要自己创建一个单元格。