我正在开发一个主细节应用程序。这里主表视图包含一个列表和一个添加按钮。当我点击添加按钮时,它会要求用户输入以下信息
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;
}
这里我在主视图中获取了两行。 为什么我无法在详细视图中显示两个单元格。任何人都可以帮我解决这个问题吗?
提前致谢。