UITabBarControllerの前に2秒間UIViewControllerを表示しようとしていますが、appdelegateから作成する必要があることはわかっています。最初にself.window.rootviewcontrollerをUIViewControllerに割り当て、2秒後にスケジュールされたタイマーを使用してself.window.rootviewcontrollerをUITabViewControllerに再割り当てしてみました。
問題は、テストするとビューコントローラーが表示されますが、2秒後にアプリがクラッシュすることです。
これは私のLaMetro_88AppDelegate.hです
@interface LaMetro_88AppDelegate : NSObject <UIApplicationDelegate, UITabBarControllerDelegate>
{
UIView *startupView;
NSTimer *timer;
UIViewController *LoadingViewController;
UITabBarController *tabBarController;
}
-(void)changeView;
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UITabBarController *tabBarController;
@property (nonatomic, retain) IBOutlet UIViewController *LoadingViewController;
@end
これは私のLaMetro_88AppDelegate.mです
@implementation LaMetro_88AppDelegate
@synthesize window = _window;
@synthesize tabBarController = _tabBarController;
@synthesize LoadingViewController = _LoadingViewController;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window.rootViewController = self.LoadingViewController;
timer = [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(changeView:) userInfo:nil repeats:NO];
[self.window makeKeyAndVisible];
return YES;
}
-(void)changeView
{
self.window.rootViewController = self.tabBarController;
}