Я думаю, что это ошибка.Вызов addChildViewController, кажется, тоже выполняется без каких-либо предупреждений или ошибок.
Я написал следующий viewDidLoad:
- (void)viewDidLoad
{
[super viewDidLoad];
MyChildView *aChildViewController = [[MyChildView alloc] initWithNibName:@"MyChildView" bundle:nil];
// Do any additional setup after loading the view, typically from a nib.
SEL mySelector = @selector(addChildViewController:);
if([UIViewController instancesRespondToSelector:mySelector] == YES) {
NSLog(@"YES addChildViewController:");
[self addChildViewController:aChildViewController];
} else {
NSLog(@"NO addChildViewController:");
}
if([UIViewController instancesRespondToSelector:@selector(automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers)] == YES) {
NSLog(@"YES automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers");
} else {
NSLog(@"NO automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers");
}
}
В симуляторе iOS 4.3 я вижу следующий вывод.Оба сообщения ограничены IOS 5.0 и выше.Кажется, addChildViewController отвечает в симуляторе 4.3 неправильно.У меня нет устройства 4.3 для тестирования на реальном устройстве.
2011-11-18 09:55:12.161 testViewFunctionality[873:b303] YES addChildViewController:
2011-11-18 09:55:12.162 testViewFunctionality[873:b303] NO automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers
В iOS 5.0 Simulator оба отвечают, что является правильным поведением.
2011-11-18 09:59:31.250 testViewFunctionality[932:f803] YES addChildViewController:
2011-11-18 09:59:31.252 testViewFunctionality[932:f803] YES automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers
Я использую XCode 4.2на льва.Когда я просматриваю UIViewController.h на платформе 4.3 Simulator, там не упоминается addChildViewController: или автоматически ForwardAppearanceAndRotationMethodsToChildViewControllers , но единственный включенный SDK - 5.0.
Я полагаю, что если вы хотите быть осторожными, вы можете протестировать работающую версию iOS на работающем устройстве.См. Как проверить версию iOS?