ios – 具有多个原型单元格的TableView

我有一个简单的问题,关于表视图与3种不同种类的原型单元格.前两次只发生一次,而第三次发生4次.现在我很困惑的是如何在我的cellforRowatindexpath中指定哪个单元格原型用于哪一行.所以,我想要像第0行一样,使用原型1,第1行,使用原型2,行3,4,5和6使用原型3.最好的方法是什么?我给每个原型一个标识符,然后使用dequeueReusableCellWithIdentifier:CellIdentifier?
你能提供一些示例代码吗?

编辑:

还是行不通.这是我现在的代码. (我只有一个案例用于开关状态,因为我只想测试并看看单元格是否在第一行生成,但当前的表视图为空)

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
     switch(indexPath.row)
{          
 case 0: {static Nsstring *CellIdentifier = @"ACell";
                   UITableViewCell *cell = [tableView
                                           dequeueReusableCellWithIdentifier:@"ACell"];
  if(cell==nil) {
    cell=[[UITableViewCell alloc]
          initWithStyle:(UITableViewCellStyleDefault) reuseIdentifier:@"ACell"];

                        }
  return cell;
  break;
    }
  }
}

Acell是我创建的单元格原型的标识符.一世

解决方法

如果您使用三个原型,则使用三个标识符.因为只有一个标识符会导致问题.你会得到错误的结果.所以这样的代码.
if(indexPath.row==0){
 // Create first cell
}

if(indexPath.row==1){
 // Create second cell
}

else{
 // Create all others
}

您也可以在这里使用开关盒,以获得最佳性能.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...