在主表视图上单击单元格时,如何在详细表视图中显示多个单元格

时间:2014-09-22 18:08:49

标签: ios objective-c uitableview master-detail

我正在开发一个主细节应用程序。这里主表视图包含一个列表和一个添加按钮。当我点击添加按钮时,它会要求用户输入以下信息

   Name:
   Month entered: 

例如,如果我输入以下内容:

   Name: John
   Month entered: January

现在在主表视图中,第一行将显示为:

     Name: John
     Month entered:January

当用户点击此行时,详细信息视图将显示为:

Name: John
Month's entered so far:January

如果我再次按下添加按钮并输入与2月相同的名称和月份,那么主视图上的第一行将是:

Name:John
Month entered:February

,详细视图将包含两个单元格:

Name:John
Month's entered so far:January
---------------
Name:John
Month's entered so far:February

问题是,在详细视图中,即使我添加两个月,我也无法获得两个单元格。两个单元格显示在主视图中,我不想这样做。我想在主视图中显示一个单元格,在详细视图中显示两个单元格。这是我的代码

MYObject.h     @interface MasDetailApp:NSObject

@property (nonatomic, copy) NSString *name;
@property (nonatomic, copy) NSString *monthentered;
@property (nonatomic, copy) NSString *monthsEnteredSoFar;
@end;

MasterView.m

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


    static NSString *CellIdentifier = @"Cell";

    MYTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[MYTableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
    }

    //use for loop to get all the data using one instance of nsobject


    _dataArray=[[NSMutableArray alloc]init];

        for (int i=0; i<list.count; i=i+2) {

             MYObject *data1=[MyObject new];            //everytime loop starts creates a new instance of nsobject class

    //here the array "list" contains the data entered by the user        

            data1.name=[list objectAtIndex:i];
            data1.monthentered=[list objectAtIndex:i+1];
            data1.monthsEnteredSoFar=[list objectAtIndex:i+1];

           [_dataArray addObject:data1];

    }


    MyObject *firstData=[MyObject new];
    firstData= _dataArray[indexPath.row];

    cell.Name.text=firstData.name;
    cell.monthentered.text=firstData.monthentered;

    return cell;


}

DetailView.m

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


    static NSString *CellIdentifier = @"Cell";

    MYDetailTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[MYDetailTableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
    }

    //use for loop to get all the data using one instance of nsobject



    MyObject *firstData=[MyObject new];

    cell.Name.text=firstData.name;
    cell.monthenteredSoFar.text=firstData.monthentered;

    return cell;


}

这里我在主视图中获取了两行。 为什么我无法在详细视图中显示两个单元格。任何人都可以帮我解决这个问题吗?

提前致谢。

0 个答案:

没有答案