我是iOS新手。我有一个表格视图,我想加载不同的自定义单元格。
以下是tableViewCellForRowAtIndexPath
的代码:
if (self.mainTableView .tag==SEARCH)
{
static NSString *cellId=@"Cella";
CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:cellId];
if (cell == nil)
{
NSArray *topLevelOjects= [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil];
cell=[topLevelOjects objectAtIndex:0];
}
//code goes here
return cell;
}
else
{
static NSString *mCell = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:mCell];
if(cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
}
//code goes here
return cell;
}
在方法n umberOfRowsInSections:(UITableView *) tableview
中,我有:
if (tableView.tag==SEARCH)
{
return [firstList count];
}
else
{
return [secondList count];
}
我遇到的问题是每次执行ELSE时,tableview都包含第一个和第二个CustomCell。为什么?
答案 0 :(得分:0)
我终于找到了这个问题。 else分支上使用的标识符实际上是用于CustomCell * cell = ..(如果是分支)的标识符。没有Cella标识符:)。