Прокрутка табличного представления вызывает проблемы при использовании динамических данных - PullRequest
1 голос
/ 24 февраля 2011

Когда я использую статические данные, это не проблема, но я использую динамические данные с Web-сервисами, поэтому есть проблема (прокрутка табличного представления вызывает сбой программы), почему?Если я прокомментирую эти строки добавить статические данные, это работает;

//tempCs is NSDictionary
tempDc = [arrHaberler objectAtIndex:indexPath.row];
cell.textLabel.text = [tempDc valueForKey:@"short_header"];

NSData *imgData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:[tempDc valueForKey:@"iphone_src"]]];
UIImage *myImage = [[[UIImage alloc] initWithData:imgData] autorelease];
cell.imageView.image = myImage;

Ответы [ 4 ]

1 голос
/ 24 февраля 2011

Вы не выпускаете imgData.Вы захотите сделать это после создания UIImage.

Кроме этого, из вашего описания, может быть, у метода numbersOfRowsInSection есть ошибка?


EDIT (после обсуждения):

(сбой из-за нераспознанного селектора (т. Е. Метода из NSArray), отправленного на экземпляр NSString)

Есть много способов перейти в это состояние, включая доступ к некоторой памяти, которая была освобождена и повторно использованат. е. пропущено сохранение), или перезаписывает массив строкой из-за некоторого синтаксического анализа, дающего неправильный результат.

1 голос
/ 24 февраля 2011

Я пытаюсь что-то комментировать с другой строкой, и проблема в этой строке:

tempDc = [arrHaberler objectAtIndex: indexPath.row];

Я изменяю "indexPath.row" на "0", все еще вызываю сбой ... Проблема о том, когда назначать данные для NSDictionary

0 голосов
/ 24 февраля 2011

@ VNevzatR Я просто спрашиваю вас, что вы называете множество изображений откуда-то .... потому что это не проблема, вы UITableView, как вы сказали, работает нормально со статическими данными, проблема в том, что где-то еще, так что если вы вызываете множество изображений одновременно ... Попробуйте сделать это ... освободите этот пул.

-(void) parseImages
{
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

    //Fetch your images here

    [self performSelectorOnMainThread:@selector(Done) withObject:nil waitUntilDone:YES];
    [pool release];
}

-(void) Done {
    [self.tableView reloadData];
}

Надеюсь, это решит вашу проблему ... Удачи

0 голосов
/ 24 февраля 2011

Нет проверки нуля (настройка NSData *imgData и настройка UIImage *myImage), и существует синхронный вызов на сервер.fmpov, проблема там.

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