我正在實現一個TableView(類ListeExercice),顯示自定義單元格的列表。這些單元格在另一個類(類ExerciceTableCell)中定義。TableView索引和NSArray對象之間的衝突Atldex
在類ListeExercice,我創建一個NSArray作爲跟隨在viewDidLoad方法:
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];
顯然還有就是2 「objectAtIndex」 之間的衝突。 我沒有任何警告,只是一個應用程序崩潰,並且一個線程說:「主題1:EXC_BAD_ACCESS什麼我可以做(代碼= 1 ....)
任何意見
你是什麼意思與衝突? –
請發佈完整的錯誤。 – tarmes
通過沖突,我的意思是它接縫編譯器有問題的方法「objectAtIndex」,當我爲它調用兩次不同的對象。例如,我刪除行「cell.Label1.text = [table1 objectAtIndex:indexPath.row];」,一切工作正常,但我沒有填充單元格的標籤。 「線程1:EXC_BAD_ACCESS(代碼= 1,地址0x8)」是完整的錯誤。 – tvincent