Как прочитать этот журнал аварий? - PullRequest
0 голосов
/ 10 октября 2011

Для тех, кто пытается прочитать этот вопрос, между мной и Йонасом велись широкие дискуссии, и этот вопрос несколько раз менялся в ходе дискуссии, поэтому бесполезно повторять все, что мы здесь проходили. Если у вас возникли проблемы с чтением журнала сбоев, см. этот вопрос по stackoverflow! Спасибо за ваше понимание.

Джонас: Вот фрагмент кода, на который я ссылался в своем последнем комментарии:

if ([performance.favorites integerValue] == 1) {
        UIImage *starImage = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"fav-star" ofType:@"png"]];

        cell.favoritesImage.image = starImage;
    }
    else
    {
        cell.favoritesImage.image = nil;
    }

То есть, если выполняется блок else, это вызовет сбой вызова [favoritesImage release], если TableViewCell, который не показывает избранное, освобождается изображение?

Так что я мог бы просто вместо нуля добавить случайное изображение с альфа-каналом, установленным в 0, чтобы иметь тот же эффект, но не иметь утечек памяти?

1 Ответ

0 голосов
/ 10 октября 2011

Не всегда легко «читать» отчеты о сбоях.В двух отправленных вами сообщениях не отображаются какие-либо «собственные закодированные» методы.

И у вас есть «EXC_BAD_ACCESS», поэтому я бы в значительной степени сказал: «это проблема освобождения / сохранения памяти»: вы можете выпустить что-то изUITableView на ранний срок.

Проверяли ли вы, что UITableViewCell правильно выпущен автоматически?Все ли подпредставления и объекты в UITableViewCell при автоматическом выпуске или, по крайней мере, не переданы в 0?

Подробнее:

1) я бы никогда не создал подкласс UITableViewCell с помощью NIB / XIB.Вы теряете много производительности.Я рекомендую вам создать подкласс UITableViewCell путем кодирования.Помните: для дефлирования XIB (xml) требуется время, и когда вы прокручиваете UITableView, могут возникнуть ужасные ошибки.

2) для проблемы с памятью, у вас есть: проверьте это: Как вы загружаете пользовательские UITableViewCellsиз Xib-файлов? Авто-релиз - это не то, что нужно.

...