我正在努力将新部分插入 UITableView。基本上我想要实现的是:-我正在尝试创建每个部分对应于每年的日历。每个部分有 30 个单元格。
第一部分加载得很好,但是当我转到第一部分的第 8 个单元格时,我尝试插入新部分
sectionNo =1; //in viewDidLoad method
-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *) cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
if(indexPath.row == 10 && indexPath.section == sectionNo-1)
{
sectionNo = sectionNo+1;
[mainTable insertSections:[NSIndexSet indexSetWithIndex:sectionNo-1] withRowAnimation:UITableViewRowAnimationNone]; //APPLICATION CRASHES HERE ERROR IS "Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 1 beyond bounds [0 .. 0]'
"
}
}
//节数读作
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return sectionNo; //count of section
}
//每节的行数
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 12;
}
//行方法的CEll读作
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *MyIdentifier = @"MyIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:nil];
if (cell == nil)
{
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:MyIdentifier] autorelease];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
cell.textLabel.text = @"Hello";
return cell;
}
有趣的是,有时当我不快速滚动它时它不会崩溃。但是如果我从第 10 行慢慢滚动到第 11 行,那么有时它不会崩溃我在这里做错了什么