如何在第一部分中显示我的数组的第一项,并在tableview中显示下一部分中的剩余部分?

时间:2013-03-26 07:58:49

标签: iphone ios ipad

我有一个Iphone应用程序,其中我正在显示NSMutableArray的表视图。所有工作正常。现在我需要它在分组表视图中的两个部分中显示。所以第一个元素我的数组总是在第一部分和第二部分中的reming元素。当我在我的cellforrowatindexpath中这样做时,我的第一个单元格在第二部分变空了。

NSMutableDictionary *dicttable=[self.array objectAtIndex:indexPath.row];
   NSString *head=[[dicttable objectForKey:@"message"] description];

 if(indexPath.section==0)
 {
    if([head isEqualToString:@"ddd"])
    {
        label.textAlignment = UITextAlignmentLeft;
        label.textColor =[UIColor darkGrayColor];
        label.font = [UIFont fontWithName:@"Helvetica" size:16];

        label.text = head;
        label.tag=100;
        [cell.contentView addSubview:label];
     }
  }
  else
  {
     if(![head isEqualToString:@"ddd"])
     {
        label.textAlignment = UITextAlignmentLeft;
        label.textColor =[UIColor darkGrayColor];
        label.font = [UIFont fontWithName:@"Helvetica" size:16];

        label.text = head;
        label.tag=100;
        [cell.contentView addSubview:label];

     }      

 }

我需要第一部分中的ddd和下一部分中的剩余元素。我想继续使用sinle数组。

2 个答案:

答案 0 :(得分:2)

试试这个

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

       NSInteger row = indexPath.section!=0?indexPath.row+1:indexPath.row;
       NSMutableDictionary *dicttable=[self.array objectAtIndex:row];
       NSString *head=[[dicttable objectForKey:@"message"] description];
        if(indexPath.section==0)
     {
        if([head isEqualToString:@"ddd"])
        {
            label.textAlignment = UITextAlignmentLeft;
            label.textColor =[UIColor darkGrayColor];
            label.font = [UIFont fontWithName:@"Helvetica" size:16];

            label.text = head;
            label.tag=100;
            [cell.contentView addSubview:label];
         }
      }
      else
      {
         if(![head isEqualToString:@"ddd"])
         {
            label.textAlignment = UITextAlignmentLeft;
            label.textColor =[UIColor darkGrayColor];
            label.font = [UIFont fontWithName:@"Helvetica" size:16];

            label.text = head;
            label.tag=100;
            [cell.contentView addSubview:label];

         }      

     }

  }

答案 1 :(得分:1)

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 2;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    if (section == 0)
              return 1;
    return [yourArray count] - 1;
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    if (section == 0) {
              // Your first section

        }
    else {
           // Your second section
        }

}