UITableView падает, когда источник данных подключен в Интерфейсном Разработчике - PullRequest
0 голосов
/ 04 марта 2011
- (NSInteger)numberOfSectionsInTableView:(UITableView *)cijferTableView{
return 1;
}
- (NSInteger)cijferTableView:(UITableView *)cijferTableView numberOfRowsInSection:(NSInteger)section {
    return [marksArray count];
}
- (UITableViewCell *)cijferTableView:(UITableView *)theTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [theTableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
}
cell.textLabel.text = [marksArray objectAtIndex:indexPath.row];

return cell;
}

У меня есть markArray, заполненный строками.Код работал нормально до четверти часа назад, но с тех пор он зависал, когда я загружал представление, в котором находится этот код, и я ничего не менял.

Когда я в конструкторе интерфейса отключаю источник данных, однако, представление загружается правильно без сбоя.Но, конечно, это не заполнит таблицу в этом случае.

Что я сделал не так?


Обновление:

Ошибка, выдаваемая консолью, вызывается после завершения вызова экземпляра 'NSException'

Кроме того, я пока что точно не добавил ничего в marksArray.Чтобы проверить, у меня просто есть это:

 //.h

NSMutableArray *marksArray;

и

//.m

marksArray = [NSMutableArray arrayWithObjects:@"1", @"2", nil;

Ответы [ 3 ]

3 голосов
/ 04 марта 2011

Похоже, вы выполнили поиск и заменили «tableView» на cijferTableView, и при этом вы переименовали методы, что приведет к его поломке.Например:

- (NSInteger)cijferTableView:(UITableView *)cijferTableView numberOfRowsInSection:(NSInteger)section {
    return [marksArray count];
}

должно быть ...

- (NSInteger)tableView:(UITableView *)cijferTableView numberOfRowsInSection:(NSInteger)section {
    return [marksArray count];
}
1 голос
/ 04 марта 2011

1) Вы забыли сохранить отметки Array

2) Странные имена для методов источника данных («cijfer» вместо tableView: numberOfRowsInSection: и tableView: cellForRowAtIndexPath :). Они не будут работать.

0 голосов
/ 04 марта 2011

Почему вы переименовываете свои методы делегата? Может быть, это вызывает у вас некоторые проблемы?

...