Сбой PresentViewController на iOS 4.3, но не на iOS 5

Может ли кто-нибудь сказать мне, почему этот код дает сбой с нераспознанным селектором SIGABRT, отправленным экземпляру, на симуляторе 4.3, но отлично работает на симуляторе iOS 5?

matchSetup = [[viewMatchSetup alloc]initWithNibName:@"viewMatchSetup" bundle:nil];
[matchSetup setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
[self presentViewController:matchSetup animated:YES completion:NULL];

заранее спасибо

ИСПРАВИТЬ: [самостоятельный PresentModalViewController: анимация matchSetup: ДА]; // Модальное — необходимое изменение


person Dann    schedule 07.02.2012    source источник


Ответы (1)


Он вылетает из-за того, что метод presentViewController:animated:completion: для UIViewController недоступен в iOS 4.3. Он был представлен в iOS 5. Поскольку вы не используете блок завершения, просто используйте «старый» метод presentModalViewController:animated::

[self presentModalViewController:matchSetup animated:YES];
person DarkDust    schedule 07.02.2012
comment
Вы можете выполнить проверку с помощью функции respondsToSelector: - person Alexander; 07.02.2012
comment
[самостоятельный PresentViewController: анимация matchSetup: YES]; О, блин, это тоже не работает. Та же ошибка. - person Dann; 07.02.2012
comment
[self presentModalViewController:matchSetup анимированный:YES] работает - person Dann; 07.02.2012
comment
Ой, хотя я привел метод с правильным названием, мой пример был неправильным. Исправили. - person DarkDust; 07.02.2012