программа получила сигнал "EXC_BAD_ACCESS"

Когда я управляю этим после кода, это дает выше ошибки

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{


   self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];

    [self.window makeKeyAndVisible];

    self.viewController = [[ViewController alloc] initWithNibName:nil bundle:nil];
    self.firstViewController=[[FirstViewController alloc]initWithNibName:nil bundle:nil];
    UINavigationController *localNavigationController=[[UINavigationController alloc]initWithRootViewController:self.viewController];
    self.navigationController=localNavigationController;
    [localNavigationController release];
    UINavigationController *localFistNavigationController=[[UINavigationController alloc]initWithRootViewController:self.firstViewController];
    self.firstNavigationController=localFistNavigationController;
    [localNavigationController release];
   NSArray *twoBars=[[NSArray alloc]initWithObjects:self.navigationController,self.firstNavigationController, nil];
    UITabBarController *localTAbBarController =[[UITabBarController alloc]init];
    [localTAbBarController setViewControllers:twoBars];
    self.tabBarController=localTAbBarController;
    [localTAbBarController release];
    [self.window addSubview:self.tabBarController.view];

        return YES;
}

если я управляю следующим кодом, он бежит хорошо

self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
         [self.window makeKeyAndVisible];

    self.viewController = [[ViewController alloc] initWithNibName:nil bundle:nil];
    self.firstViewController = [[FirstViewController alloc] initWithNibName:nil bundle:nil];

    self.navigationController = [[UINavigationController alloc]
                                 initWithRootViewController:self.viewController];

    self.firstNavigationController=[[UINavigationController alloc]initWithRootViewController:self.firstViewController];
    NSArray *twoBars=[[NSArray alloc]initWithObjects:self.navigationController,self.firstNavigationController, nil];

    self.tabBarController=[[UITabBarController alloc]init];
    [self.tabBarController setViewControllers:twoBars];

       [self.window addSubview:self.tabBarController.view];



    return YES;

i not understood what is the difference between these. in first one i just created local variables & assigned those to properties. in later one directly used the properties. why it is giving the error- program recieved signal "EXC_BAD_ACCESS"

1
nl ja de
сделайте nslog в своем viewDidLoad ViewController и затем проверьте, что вы способный получить доступ к этому представлению
добавлено автор Rajneesh071, источник
пожалуйста, проверьте весь ответ.....
добавлено автор Rajneesh071, источник
Сделать EXC_BAD_ACCESS терпит крах легче отладить, входят в Навигатора Точки останова и добавляют Точку прерывания исключительной ситуации (с настройками по умолчанию). Также в Редакторе Схемы проверка "Позволяют Объекты Зомби" и "коробки" Исключений Регистрации. Это поможет вам видеть, где катастрофа произошла.
добавлено автор krafter, источник
Используйте ДУГУ (Автоматический Подсчет ссылок). There' s никакая причина не к.
добавлено автор Andreas Ley, источник

4 ответы

Я думаю в сначала один, вы публикуете некоторый код и затем после выпуска вы снова что объект как:

[localTAbBarController release]; this. So may be thats why you got error- program recieved

сигнал "EXC_BAD_ACCESS". во втором вы приятно используете свой объект никакие выпуски так его работа

прекрасный.

2
добавлено
нет, даже я непосредственно назначаю tabBarController собственность & не использовал любой механизм выпуска на tabBarController это дающий ту же самую ошибку
добавлено автор Ravindra Bagale, источник
я внес следующие изменения & попробовал только та же самая ошибка self.tabBarController = [[UITabBarController alloc] init]; [self.tabBarController setViewControllers:twoBars];
добавлено автор Ravindra Bagale, источник

ОБНОВЛЕНИЕ:

эй я использую ваш код, здесь вы добираетесь, BAD_ACCESS на этой линии рева видят..

[localNavigationController release];

просто прокомментируйте его, и у вас нет BAD_ACCESS

1
добавлено
можно ли, пожалуйста, объяснить что причина позади этого?
добавлено автор Rajneesh071, источник
@Rajneesh071 эй здесь localNavigationController, ассигнуют одно время после него здесь Ravindra освобо это и после двух линий, он также выпускает этот объект снова, который не alloc или не в классе со ссылкой, таким образом, здесь это терпит крах со вторым разом, выпускают localNavigationController..
добавлено автор Paras Joshi, источник

я получил свой ответ. из-за выпуска тех же самых объектов больше чем в один раз, это происходит. я выпустил [localNavigationController выпуск]; два раза. позже это должно быть

[localFirstNavigationController release];
0
добавлено

Просто проверьте эту линию.

self.firstNavigationController=localFistNavigationController;
  -->>  [localNavigationController release];  

It should be [localFistNavigationController release];

0
добавлено
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

iOS Developers — русскоговорящее сообщество
iOS Developers — русскоговорящее сообщество
2 400 участник(ов)

Общаемся на темы, посвященным iOS-разработке, Swift, Objective-C, SDK, Rx, Cocoa и т.д.