Я использую довольно стандартный рецепт для представления ModalViewControllers в своих приложениях для iPhone, но я столкнулся с ситуацией, когда рецепт нарушен, и я запутался. Вот как я (почти всегда) настраивал презентацию:
MatcherViewController *controller = [[MatcherViewController alloc] initWithNibName:@"MatcherView" bundle:nil];
[controller setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
[controller setDelegate:self];
[self presentModalViewController:controller animated:YES];
[controller release];
Это всегда прекрасно работает, пока я не добавил одну вещь в микс и не отправил сообщение новому объекту контроллера, прежде чем представить его, например:
MatcherViewController *controller = [[MatcherViewController alloc] initWithNibName:@"MatcherView" bundle:nil];
[controller setPrimary:primaryIndex andSecondary:secondaryIndex];
[controller setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
[controller setDelegate:self];
[self presentModalViewController:controller animated:YES];
[controller release];
Добавление этого вызова метода работает до тех пор, пока я не отклоню контроллер представления ... в этот момент приложение завершает работу с сигналом EXEC_BAD_ACCESS. Я могу заставить его работать с дополнительной строкой, если удаляю [controller release]
, но тогда я боюсь, что это приведет к утечке. Любые идеи, почему отправка сообщения объекту до презентации может вызвать это? Есть ли лучший способ передать простые параметры в ModalViewController?
Спасибо, что уделили время новичку; p