0

我有一个分组样式的 UITableView,旨在显示固定数量的部分,每个部分又具有一组固定的单元格,类似于设置应用程序。一些单元格是自定义的并且它们之间是不同的:其中一些有一个文本字段,另一个有一个开关,另一个有一个按钮。我也有UITableViewCellStyleDefault细胞。

自定义单元格是从文件中加载的nib,我已经strong为整个表格视图中的每个单元格定义了一个属性。我的cellForRowAtIndexPath:方法如下所示:

- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
   UITableViewCell *cell = [tv dequeueReusableCellWithIdentifier:@"cell"];

   if (cell == nil) {

      if (indexPath.section == 0) {

         if (indexPath.row == 2) {
            NSArray* views = [[NSBundle mainBundle] loadNibNamed:@"TypeACell" owner:nil options:nil];
            for (UIView *view in views) {
               if ([view isKindOfClass:[UITableViewCell class]])
               {
                   cell = (TypeACell *)view;
               }
            }

            // set property
            self.typeARow = cell;
         }

        else {
           NSArray* views = [[NSBundle mainBundle] loadNibNamed:@"TypeBCell" owner:nil options:nil];
           for (UIView *view in views) {
              if ([view isKindOfClass:[UITableViewCell class]])
              {
                 cell = (TypeBCell *)view;
              }
           }

           // set properties
           if (indexPath.row == 0) {
              self.typeBRow0 = cell;
           }
           else {
              self.typeBRow1 = cell;
           } 
        }
     }

     else {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];

        // set property
        self.defaultCell = cell;
     }
  }

  return cell;
}

对于自定义单元格,我还在他们的nib文件中将重用标识符设置为“单元格”。当您事先知道代表表单或菜单(如设置应用程序)的表格的单元格集时,这是正确的方法吗?所有单元格的重用标识符是否相同,或者每个不同的单元格是否应该具有其唯一标识符?

谢谢!

4

0 回答 0