我想在最后创建的部分中添加Sections并添加行。
但是当我添加一个部分并添加一行之后,它会为所有部分添加行,而我只想要最后创建的部分。
我这样做:
@interface SectionTestViewController ()
{
NSMutableArray *sectionsArray;
NSMutableArray *rowsInSectionsArray;
NSInteger currentSection;
}
@end
@implementation SectionTestViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.myTableView.delegate = self;
self.myTableView.dataSource = self;
sectionsArray = [[NSMutableArray alloc]init];
rowsInSectionsArray = [[NSMutableArray alloc]init];
currentSection = 0;
}
#pragma tableview delegate and datasource methods
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return sectionsArray.count;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return rowsInSectionsArray.count;
}
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
return [sectionsArray objectAtIndex:section];
}
添加章节的按钮的操作:
- (IBAction)addSectionButton:(id)sender {
[sectionsArray addObject:[NSString stringWithFormat:@"Section %lu", (unsigned long)sectionsArray.count]];
currentSection++;
[self.myTableView reloadData];
}
添加行的按钮的操作:
- (IBAction)addRowButton:(id)sender {
[rowsInSectionsArray addObject:[NSString stringWithFormat:@"Ligne %lu", (unsigned long)rowsInSectionsArray.count]];
[self.myTableView reloadData];
}
感谢您的帮助
答案 0 :(得分:1)
你应该做这样的事情:
@interface SectionTestViewController ()
{
NSMutableArray *sectionsArrays;
NSMutableArray *rowsInSectionsArray;
NSInteger currentSection;
}
@end
@implementation SectionTestViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.myTableView.delegate = self;
self.myTableView.dataSource = self;
sectionsArray = [[NSMutableArray alloc]init];
rowsInSectionsArray = [[NSMutableArray alloc]init];
currentSection = 0;
}
#pragma tableview delegate and datasource methods
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return sectionsArray.count;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [rowsInSectionsArrays objectAtIndex:section].count;
}
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
return [sectionsArray objectAtIndex:section];
}
添加章节按钮的操作:
- (IBAction)addSectionButton:(id)sender {
[sectionsArray addObject:[NSString stringWithFormat:@"Section %lu", (unsigned long)sectionsArray.count]];
[rowsInSectionsArrays addObject:[[NSMutableArray alloc] init]];
currentSection++;
[self.myTableView reloadData];
}
在最后一节添加Row的按钮操作:
- (IBAction)addRowButton:(id)sender {
[[rowsInSectionsArray objectAtIndex:currentSection] addObject:[NSString stringWithFormat:@"Ligne %lu", (unsigned long)[rowsInSectionsArray objectAtIndex:currentSection].count]];
[self.myTableView reloadData];
}
我刚刚将rowsInSectionsArray转换为数组数组。它包含的每个数组都包含一个部分的行。
请务必在tableView:cellForRowAtIndexPath:
处执行相同操作。