EDIT: я понял, ответ на мой собственный, но здесь это для всех, кто нуждается в этом: UIImageViews не могут быть разделены таким образом, требуется другой конкретизацией каждого UIImageView для каждой видимой ячейки. Теперь ты знаешь.UITableCell AccessoryView: Установка accessoryView равный UIImageView бесконечный цикл
У меня есть пользовательская таблица, которая имеет 2 типа ячеек. Одна ячейка просто настроена для переключения между обычным аксессуаром типа checkmark. Другая ячейка настроена на создание пользовательского изображения в качестве типа аксессуара. Когда выбранный аксессуар изменится на противоположный, появится сообщение «Приглашение» или «Пригласить».
Я сузил код в ошибке до следующего, найденного в моем методе делегата tableView: cellForRowAtIndexPath.
if(indexPath.section == 0){
cell = [tableView dequeueReusableCellWithIdentifier:self.directCellID];
cellValue = [self.contactsUsingApp objectAtIndex:indexPath.row];
cell.imageView.image = [self getContactImage:indexPath.row];
//vvvvvvvvvvvvvvvvv This is the section at fault vvvvvvvvvvvvvvvvv
if([self.selectedContactsUsingApp containsObject:indexPath])
cell.accessoryView = self.invitedStatus;
else
cell.accessoryView = self.notInvitedStatus;
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
}
Если я закомментировать этот раздел я больше не убегающих использование памяти (имитатор показал мне, что там была какая-то константа распределения происходит, он вставал прошел 1.29Gb после старта с 40Mb), но, очевидно, , изображения больше не отображаются.
Если это имеет значение в UIImageViews инициализируются следующим образом:
UIImage *invite = [self imageWithImage:[UIImage imageNamed: @"invite_btn.png"] scaledToSize:CGSizeMake(40, 20)];
UIImage *invited = [self imageWithImage:[UIImage imageNamed: @"invited_btn.png"] scaledToSize:CGSizeMake(40, 20)];
self.notInvitedStatus = [[UIImageView alloc]initWithImage:invite];
self.invitedStatus = [[UIImageView alloc]initWithImage:invited];
(imageWithImage: шкала является функцией, которая возвращает уменьшенное изображение в соответствующем масштабе учета для сетчатки здесь: The simplest way to resize an UIImage?)
такое же замораживание происходит, когда я выбираю одну из ячеек, потому что мой метод tableView: didSelectRowAtIndexPath работает по той же логике переключения, что и метод инициализации.
Помощь?
При каких обстоятельствах вы перезагружаете свой стол? –
Если вы нашли свой собственный ответ, вы должны опубликовать фактический ответ вместо того, чтобы обновить вопрос с ответом. Либо это, либо удалить вопрос. – rmaddy
Спасибо за предложение. Я не знал, что смогу это сделать. –