2014-10-27 3 views
7

Мое приложение сбой после вызова метода [tableView reloadData] вид таблицы. Это происходит после удаления одной строки таблицы (с поведением по умолчанию для отображения таблиц) и вызывает [tableView reloadData], а затем сразу после этого делегата numberOfSectionsInTableView приложение получает сообщение об ошибке и показывает мне сообщение об ошибке [UITableViewCell _setDeleteAnimationInProgress : ] : message sent to deallocated instance, я googled, но не смог получить здоровый ответ , Так что любезно помогите узнать эту проблему, если кто-то столкнется с подобным крахом. Ниже приведен мой код.Приложение crashing on reloadData метод tableview

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ 
    return 2; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
    if(section==0) 
     return [[dbSingleton sharedInstance] get_players_count]; 
    else if(section==1) 
     return 0; 
} 

- (NSString)tableView:(UITableView)tableView titleForHeaderInSection:(NSInteger)section{ 
    if(section==0) 
     return @"Player Detail"; 
    return nil; 
} 

- (UITableViewCellEditingStyle)tableView:(UITableView)tableView editingStyleForRowAtIndexPath:(NSIndexPath)indexPath{ 
    if(indexPath.section==1) 
     return UITableViewCellEditingStyleNone; 
    else 
     return UITableViewCellEditingStyleDelete; 
    } 
} 

-(CGFloat)tableView:(UITableView)tableView heightForRowAtIndexPath:(NSIndexPath)indexPath{ 
    return 44; 
} 

Ищет ответ. Заранее спасибо.

+0

Вы обновляете источник данных? – jsetting32

+0

Пожалуйста, разместите полную трассировку стека. –

+2

Я бы сказал, что [[dbSingleton sharedInstance] get_players_count] не обновляется, когда вы удаляете строку с помощью метода делегата tableView. – miya

ответ

12

И наконец, я нашел решение. То, что я делал неправильно, это то, что я вызываю метод reloadData на commitEditingStyle, его среднюю перезагрузку данных перед удалением строки. Как упоминается в ответе This Thread. Надеюсь, это тоже поможет другим. Спасибо за участие.

-1

[tableView Reload] производит сбой, тогда он уверен, что в источнике данных есть проблема, поэтому я думаю, что добавьте точку останова в разделе tableview и проверьте, правильно ли вы обновляете свой источник данных, иначе показываете полное сообщение о сбое.

+0

@answered, Спасибо за ответ, но я нашел решение любезно рассмотрю мой ответ. – josh

Смежные вопросы