Привет, у меня странная проблема.
Мое приложение основано на примере кода «PageControl» (пример Apple).
Он использует горизонтальную прокрутку, в которой происходит большинство вещей.
Внизу у меня есть UIToolbar, с которого я вызываю модальный viewcontroller.
В XCode 4 все работало как чудо, после обновления до XCode 4.2 (с новым SDK) я получаю «exc_bad_access» на dimissModalViewcontroller.
Самое смешное, что это происходит не сразу, а только после 2 или 3 раз представления и отклонения modalViewcontroller.
Чтобы упростить вещи, я вернулся к исходному коду выборки и попытался реализовать modalVieWcontroler в этом контексте. Пока не повезло.
В исходном коде PageControl я изменил тип ContentController с NSObject на UIViewController следующим образом:
@interface ContentController : UIViewController
{
NSArray *contentList;
}
Я вызываю presentModalViewcontroller в подклассе (из ContentController) с именем PhoneContentController, например так: (я использую уведомление, чтобы я мог вызывать его из любого места)
-(void) showExplanationsModal:(NSNotification*)notification{
ExplanationsViewController *xplViewController = [[[ExplanationsViewController alloc] initWithNibName:@"Explanations" bundle:nil]autorelease];
[self presentModalViewController:xplViewController animated:YES];
}
Увольнение modalViewcontroller вызывается из самого модального представления следующим образом:
(уведомление используется для запуска другого материала)
- (IBAction)onClose
{
[self dismissModalViewControllerAnimated:YES];
[[NSNotificationCenter defaultCenter]postNotificationName:@"dismissExplanationsModal" object:self];
}
Этот код прекрасно работает с iOS4 SDK, но иногда отображает excec_bad_access с iOS5 SDK.
Когда я компилирую приложение с iOS4 SDK, оно также нормально работает на устройствах iOS5.
Я пытался использовать зомби, но это не указывает на конкретный перевыпущенный объект.
Я застрял на этом уже несколько дней ...
Я выложил копию примера проекта, который иллюстрирует проблему здесь http://www.sesni.biz/pagecontrol.zip