я получаю EXEC_BAD_ACCESS при выполнении следующих шагов:EXEC_BAD_ACCESS при повторной загрузке UIViewController, содержащий UITableView
ШАГ 1: Нажмите на кнопку «Множества» из главного меню: Это удаление меню (UIView) и загружает результаты (UIView), которые впоследствии инициируют процесс заполнения UITableView со значениями. Здесь нет проблем.
self.viewController4 = [[ScoresViewController alloc] initWithNibName:@"ScoresViewController" bundle:nil];
[window addSubview:viewController4.view];
[viewController.view removeFromSuperview];
NSLog(@"LOADING SCORES SCREEN");
ШАГ 2: Нажмите на кнопку "меню" из экрана набрано: Это Удаляет результаты (UIView), и загружает меню (UIView) еще раз. Здесь нет проблем.
self.viewController = [[MainMenuViewController alloc] initWithNibName:@"MainMenuViewController" bundle:nil];
[window addSubview:viewController.view];
[viewController4.view removeFromSuperview];
NSLog(@"Loading MAIN MENU");
ШАГ 3: Нажмите на кнопку «Счета» снова в главном меню: Опять же, это удаление меню (UIView), и загружает результаты (UIView), который впоследствии может инициировать процесс заполнения UITableView со значениями. Проблемный!
Приложение вылетает перед отображением экрана оценки (UIView). Используя отладчик, я проследил проблему до одной строки кода: cell.text = [self-> theScoresArray objectAtIndex: indexPath.row]; появляется в ниже рутина:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [theTable dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
}
cell.text = [self->theScoresArray objectAtIndex:indexPath.row];
return cell;
}
Может ли это быть проблема с объектом indexPath не будучи должным образом выпущен в первый раз? Любое понимание было бы полезно. Спасибо за ваше драгоценное время.
Вы были верны. Я пересмотрел свою структуру управления View, и проблема исчезла. Однако проблема в том, что это все еще загадка. Я ценю помощь. Благодарю. – RexOnRoids
не проблема, это трудный урок. Apple делает много «за кулисами» с UIViewController, что заставляет вас использовать их соглашения. –