Я заполняю UITableView на основе значений NSMutableArray.Это табличное представление имеет результаты поиска.Если пользователь щелкает один из результатов, он переходит на другой экран.Если пользователь нажимает «назад», результаты поиска заполняются снова.На этом этапе, пока табличное представление пополняется, старые значения по-прежнему отображаются, как я хочу.Однако, так как я делаю:
- (void)viewWillAppear:(BOOL)animated
{
NSMutableArray *m = [[NSMutableArray alloc] init];
self.searchResultsArray = m;
[m release];
}
Информация о старых ячейках больше не доступна.Таким образом, приложение аварийно завершает работу, если пользователь щелкает одну из старых ячеек или прокручивает UITableView, потому что я обращаюсь к изменяемому массиву, который был повторно инициализирован выше.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSArray *cellArray = [searchResultsArray objectAtIndex:indexPath.row];
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
appDelegate.selectedCell = [searchResultsArray objectAtIndex:indexPath.row];
}
Есть ли у вас какие-либо предложения относительно того, как следуетсделать это правильно?
Спасибо.