-[ViewController responsedsToSelector:]: сообщение отправлено на освобожденный экземпляр - при прокрутке табличного представления
Подобные вопросы уже задавались в SO. Мой случай немного отличается, поэтому я публикую новый вопрос.
У меня есть scrollView в качестве основного представления для контроллера. Он содержит два подпредставления:
- Scrollview, имеющий UIView в качестве ребенка.
- Таблица, содержащая несколько числовых текстовых полей.
Я приложил UITapGestureRecognizer
для дочернего scrollview, так что пользователь может отклонить клавиатуру из любого текстового поля.
UITapGestureRecognizer *tap1 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tableTouched:)];
[topScrollview addGestureRecognizer:tap1];
tap1.delegate = self;
-(void) tableTouched:(UITapGestureRecognizer *)gesture
{
[portTable endEditing:YES];
portTable.scrollEnabled = YES;
}
-(UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:nil];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];
}
cell.accessoryType = UITableViewCellAccessoryNone;
cell.textLabel.font = myFont;
cell.textLabel.textColor = [UIColor whiteColor];
switch (indexPath.row) {
case 0:
{
UILabel *tradeLabel = [[UILabel alloc] initWithFrame:CGRectMake(9, 5, 60, 40)];
tradeLabel.text = @"Trade";
tradeLabel.font = myFont;
tradeLabel.textColor = [ColorCodes sharedManager].orangeTextColor;
tradeLabel.backgroundColor = [UIColor clearColor];
[cell.contentView insertSubview:tradeLabel aboveSubview:cell.textLabel];
break;
}
//similar cases
}
return cell;
}
Теперь, если я продолжу прокручивать табличное представление в течение некоторого времени, я получаю сбой с сообщением, упомянутым в заголовке. Трассировка стека с помощью инструментов выглядит следующим образом:
Я не могу понять причину отрицательного подсчета ссылок моего контроллера. Я не установил ни одного делегата scrollview, тогда почему счетчик ссылок становится -1?
Я уже пытался прикрепить жест к основному представлению прокрутки, к самому табличному представлению и к дочернему UIView, но все еще получал тот же сбой. Пожалуйста, кто-нибудь направит меня в правильном направлении.. Спасибо.
РЕДАКТИРОВАТЬ
Еще одна трассировка стека, которую я только что получил:
1 ответ
Я успешно нашел ошибку. Это было из-за пользовательского контроля в камере. Он сохранял и выпускал явно не-ARC (но включенный в проект ARC). Жест не вызывал проблем. Удаление этих строк решило мою проблему.