Ios 在xib的每一行中使用uitableview自定义多个单元格

Ios 在xib的每一行中使用uitableview自定义多个单元格,ios,objective-c,iphone,uitableview,Ios,Objective C,Iphone,Uitableview,朋友们, 我想在xib文件的表视图中添加多个自定义单元格。 详细地说,我想为表中的每一行添加不同的单元格。我尝试了下面的代码,但似乎不起作用。我只能为表中的所有行自定义一个单元格。查看代码如下:我尝试了两个代码 代码1如下所示 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { NSString *identifier;

朋友们, 我想在xib文件的表视图中添加多个自定义单元格。 详细地说,我想为表中的每一行添加不同的单元格。我尝试了下面的代码,但似乎不起作用。我只能为表中的所有行自定义一个单元格。查看代码如下:我尝试了两个代码 代码1如下所示

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{
    NSString *identifier;

    identifier=@"tablecell";
    tablecell *cell = (tablecell*)[tableView dequeueReusableCellWithIdentifier:identifier];
    if (cell==nil)
    {
        NSArray *nib=[[NSBundle mainBundle]loadNibNamed:@"tablecell" owner:self options:nil];
        cell=[nib objectAtIndex:0];
    }
    cell.name.text=@"gopi";
    return cell;


    if (indexPath.row==1)
    {
        NSString *identifier1;
        identifier1=@"gopicell";
        gopicell *cell1=(gopicell*)[tableView dequeueReusableCellWithIdentifier:identifier]; 
        if (cell1==nil)
        {
            NSArray *nib=[[NSBundle mainBundle]loadNibNamed:@"gopicell" owner:self options:nil];
            cell1=[nib objectAtIndex:0];
        }

        cell1.gopilabel.text=@"sabari";
        return cell1;
    }
}
它只显示一个自定义单元格,所以我尝试了代码2

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{
    NSString *identifier;
    if (indexPath.row==0)
    {
        identifier=@"tablecell";
        tablecell *cell = (tablecell*)[tableView dequeueReusableCellWithIdentifier:identifier];
        if (cell==nil)
        {
            NSArray *nib=[[NSBundle mainBundle]loadNibNamed:@"tablecell" owner:self options:nil];
            cell=[nib objectAtIndex:0];
        }
        cell.name.text=@"gopi";
        return cell;
    }
    else if(indexPath.row==1)
   {
       identifier=@"gopicell";
       gopicell *cell1=(gopicell*)[tableView dequeueReusableCellWithIdentifier:identifier]; 
       if (cell1==nil)
       {
           NSArray *nib=[[NSBundle mainBundle]loadNibNamed:@"gopicell" owner:self options:nil];
           cell1=[nib objectAtIndex:0];
       }

       cell1.gopilabel.text=@"sabari";
       return cell1;
   }
    return nil;
}

我知道这句话是错误的,但我不知道在这里返回什么,如果我有,是否可以为每行自定义多个单元格

如下更新您的代码。检查偶数和奇数单元格,并将自定义单元格放入表视图中

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{
    NSString *identifier;
    if (indexPath.row %2 == 0)
    {
        identifier=@"tablecell";
        tablecell *cell = (tablecell*)[tableView dequeueReusableCellWithIdentifier:identifier];
        if (cell==nil)
        {
            NSArray *nib=[[NSBundle mainBundle]loadNibNamed:@"tablecell" owner:self options:nil];
            cell=[nib objectAtIndex:0];
        }
        cell.name.text=@"gopi";
        return cell;
    }
    else if(indexPath.row %2 == 1)
   {
       identifier=@"gopicell";
       gopicell *cell1=(gopicell*)[tableView dequeueReusableCellWithIdentifier:identifier]; 
       if (cell1==nil)
       {
           NSArray *nib=[[NSBundle mainBundle]loadNibNamed:@"gopicell" owner:self options:nil];
           cell1=[nib objectAtIndex:0];
       }

       cell1.gopilabel.text=@"sabari";
       return cell1;
   }
    return nil;
}

查看此处的链接说明][1]希望对您有所帮助。[1] :你能附上一张图片吗。您到底想要什么?x%2表示x/2的剩余部分,即1或0