我正在实现一个 TableView(ListeExercice 类),显示自定义单元格的列表。这些单元格在另一个类(ExerciceTableCell 类)中定义。
在 ListeExercice 类中,我在 viewDidLoad 方法中创建了一个 NSArray,如下所示:
table1 = [NSArray arrayWithObjects:@"exo1", @"exo2", nil];
table2 = [NSArray arrayWithObjects:@"10:00", @"10:00", nil];
然后在同一个班级,我做所有事情都是为了显示表格中的单元格
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection(NSInteger)section
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView
我遇到的问题发生在以下方法中,基本上是显示正确单元格的代码所在的位置:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *exerciceTableIdentifier = @"ExerciceTableCell";
ExerciceTableCell *cell = (ExerciceTableCell *)[tableView dequeueReusableCellWithIdentifier:exerciceTableIdentifier];
if (cell == nil)
{
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"ExerciceTableCell" owner:self options:nil];
cell = [nib objectAtIndex:0];
}
//label1 is a label from the cell defined in the ExerciceTableCell class.
cell.label1.text = [tableIntituleExercice objectAtIndex:indexPath.row];
return cell;
}
问题是我在这两行之间发生了冲突:
cell = [nib objectAtIndex:0];
和
cell.Label1.text = [table1 objectAtIndex:indexPath.row];
显然这两个“objectAtIndex”之间存在冲突。我没有任何警告,只是 App 崩溃,还有一个线程说“线程 1:EXC_BAD_ACCESS (code = 1 ....)
关于我能做什么的任何建议?