Перед обновлением моего Xcode с 4.1 до 4.2 следующее было нормальным, код работал с iOS 4.3, но после обновления Xcode и тестирования моего приложения на iPhone с iOS 5 оно продолжало падать при запуске!
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[self.window addSubview:tabController.view];
[[tabController.tabBar.items objectAtIndex:0] setTitle:@"Tab1"];
[[tabController.tabBar.items objectAtIndex:1] setTitle:@"Tab2"];
[[tabController.tabBar.items objectAtIndex:2] setTitle:@"Tab3"];
[[tabController.tabBar.items objectAtIndex:3] setTitle:@"Tab4"];
[[tabController.tabBar.items objectAtIndex:4] setTitle:@"Tab5"];
[[tabController.tabBar.items objectAtIndex:5] setTitle:@"Tab6"];
[[tabController.tabBar.items objectAtIndex:6] setTitle:@"Tab7"];
[[tabController.tabBar.items objectAtIndex:7] setTitle:@"Tab8"];
[[tabController.tabBar.items objectAtIndex:8] setTitle:@"Tab9"];
[self.window makeKeyAndVisible];
return YES;
}
Он выдает следующую ошибку:
2011-10-15 15:13:31.238 Mobile[2347:707] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 5 beyond bounds [0 .. 4]'
*** First throw call stack:
(0x311138bf 0x382b81e5 0x3106b275 0x336b 0x330e57eb 0x330df3bd 0x330ad921 0x330ad3bf 0x330acd2d 0x33c98e13 0x310e7553 0x310e74f5 0x310e6343 0x310694dd 0x310693a5 0x330de457 0x330db743 0x2acd 0x2a28)
Если я оставлю только первые 5 setTitle, он будет работать, но если его больше 5, он вылетит!
Обратите внимание, что я создаюUITabBarController в IB не программно.