3
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {


    data_web *current_data ;
    current_data = [[structured_question data_webs] objectAtIndex:indexPath.row];
    NSString *is_submited = [NSString stringWithFormat:@"%@",[current_data content_2]];

    if ([is_submited compare:@"Y"] == NSOrderedSame)
        cell.accessoryType = UITableViewCellAccessoryCheckmark;
    else
        cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;


}

以上是我的脚本。我的脚本有问题,我找不到解决方案。

4

1 回答 1

3

在评论中,您为您的numberOfRowsInSection方法提供了如下代码:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    if(section == 0)
        return [[testM data_webs] count];
    else
        return [[testS data_webs] count];
}

但是,当您willDisplayCell访问. 当显示具有更多行的部分中的单元格时,您的代码将崩溃。indexPath.sectioncurrent_data

您应该将代码更改为以下内容:

NSArray *data_webs;
// This part mimics your "numberOfRowsInSection'
if (indexPath.section == 0) {
    data_webs = [testM data_webs];
} else {
    data_webs = [testS data_webs];
}
data_web *current_data ;
current_data = [data_webs objectAtIndex:indexPath.row];

我不知道structured_question你的代码是什么,以及你为什么使用它,但上面应该消除objectAtIndex:方法中的崩溃。

于 2013-08-27T09:38:13.907 回答