UITableView прокрутка сбой приложение - PullRequest
0 голосов
/ 30 августа 2011

Когда я прокручиваю UITableView, приложение вылетает.Вот код.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSDictionary *tempDict = [albums objectAtIndex:indexPath.row];

static NSString *CellIdentifier = @"ImageCell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
   cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; 
} else {
    AsyncImageView *oldImage = (AsyncImageView *)[cell.contentView viewWithTag:999];
    [oldImage removeFromSuperview];
}

Я установил точки останова, и они остановились на строке

NSDictionary *tempDict = [albums objectAtIndex:indexPath.row];

Что я делаю не так?Заранее спасибо.

Ответы [ 5 ]

1 голос
/ 30 августа 2011

Я не уверен, прежде всего, проверьте общее количество строк и количество ваших массивов.Они должны быть одинаковыми.Если все еще это терпит крах, тогда поместите эту строку

NSDictionary *tempDict = [[albums objectAtIndex:indexPath.row] copy];
0 голосов
/ 05 сентября 2011

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

Спасибо всем за помощь.

0 голосов
/ 31 августа 2011

Наиболее вероятной причиной сбоя в этой строке является то, что в вашем табличном представлении содержится больше строк, чем элементов в массиве альбомов.Обычно в такой конфигурации у вас будет ровно столько же строк в вашей таблице, и ваша реализация –tableView: numberOfRowsInSection: будет выглядеть следующим образом

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    // assuming that there is only one section
    return [albums count];
}
0 голосов
/ 30 августа 2011

Убедитесь, что вы не читаете за пределами вашего NSdictionary.

Проверьте возвращаемое значение в методе tableView:numberOfRowsInSection: dataSource.

0 голосов
/ 30 августа 2011

Проверка размера массива альбомов .Может быть, он меньше indexPath.row или был выпущен где-то.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...