Сбой / SIGABRT при попытке представить UIPopoverController

#ios #crash #ios5 #uipopovercontroller #xcode4.2

#iOS #сбой #ios5 #uipopovercontroller #xcode4.2

Вопрос:

Привет, я в недоумении от того, что я здесь делаю неправильно. Я использую ios5, и ничего не вылетает, если я не вызываю presentPopoverFromBarButtonItem. Кто-нибудь испытывал что-нибудь подобное? Я проверил форумы разработчиков Apple, Google, stack overflow и ничего не смог найти.

Запуск bt на gdb также не выявил никаких подсказок.

 UIViewController *viewTwo;
viewTwo = [[ViewTwo alloc] initWithNibName:@"ViewTwo" bundle:nil];

UIPopoverController *popover;
popover = [[UIPopoverController alloc] initWithContentViewController:viewTwo];  

[popover presentPopoverFromRect:[theButton bounds] 
                         inView:theButton 
       permittedArrowDirections:UIPopoverArrowDirectionLeft 
                       animated:NO];
  

Комментарии:

1. является ли параметр cancel фактическим элементом кнопки bar? (т.Е. не ноль)

2. Я изменил код на пример, который легче читать на случай, если другие столкнутся с той же проблемой.

Ответ №1:

Я предполагаю, что вы используете ARC, поскольку у меня была такая же проблема. Вы должны удерживать созданное вами всплывающее окно, иначе количество его сохранений уменьшится, и оно будет выпущено, когда вы дойдете до конца области методов.

Итак, создайте свойство и синтезируйте его до тех пор, пока оно вам больше не понадобится, и удалите его с экрана, установите для него значение nil после его удаления.

Комментарии:

1. На самом деле я только что получил это самостоятельно и возвращался, чтобы ответить, что я понял это. Если вы не используете ARC (или просто pre X-Code 4.2), вам не нужно держаться за то, что меня сбивало с толку.

2. Большое вам спасибо. Вы понятия не имеете, насколько этот ответ мне помог. Я бы никогда этого не понял

3. Превосходно! Спасибо вам оооочень большое… У меня тот же комментарий, что и у @Andrew. Это действительно мне очень помогло. Большое вам спасибо.

4. @scott Sherwood может ли это также произойти с контроллером модального представления?