我在一个Controller中有2个UITableViews。每个表都有自己的单元原型,具有UITableViewCell的不同子类:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if(tableView == self.commentsTable){
CommentCell *cell = [tableView dequeueReusableCellWithIdentifier:@"CommentCell"];
cell.message.text = @"test";
}else if(tableView == self.paramsTableView){
RealtyParamCell *cell = [tableView dequeueReusableCellWithIdentifier:@"RealtyParamCell"];
cell.label.text = @"test2";
}
return cell;
}
如果我这样做,我在最后一行return cell;
收到错误:“使用未定义的标识符单元格”但我无法定义cell
在开始时:
UItableViewCell *cell;
if(tableView == self.commentsTable){
<...>
}
因为我需要精确的单元格 - CommentCell
或RealtyParamCell
答案 0 :(得分:5)
好吧,你仍然可以在开头
定义cell
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UItableViewCell *cell;
if(tableView == self.commentsTable){
CommentCell *commentCell= [tableView dequeueReusableCellWithIdentifier:@"CommentCell"];
commentCell.message.text = @"test";
cell = commentCell;
}else if(tableView == self.paramsTableView){
RealtyParamCell *realtyParamCell = [tableView dequeueReusableCellWithIdentifier:@"RealtyParamCell"];
realtyParamCell.label.text = @"test2";
cell = realtyParamCell;
}
return cell;
答案 1 :(得分:3)
试试这个: -
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if(tableView == self.commentsTable){
CommentCell *cell = [tableView dequeueReusableCellWithIdentifier:@"CommentCell"];
cell.message.text = @"test";
return cell;
}else if(tableView == self.paramsTableView){
RealtyParamCell *cell = [tableView dequeueReusableCellWithIdentifier:@"RealtyParamCell"];
cell.label.text = @"test2";
return cell;
}else{
return nil;
}
}