[開始]をクリックすると、appDelegateのイベントタイマーが開始し、しばらくすると、タイマーが起動したときにビューを表示する必要があります。
私の問題は、タイマー起動メソッドが呼び出されたが、ナビゲーションがビューコントローラーをプッシュしないことです
-(IBAction)fakeCallCaled:(id)sender
{
NSLog(@"FakeCall");
fakeCallDesignViewController *fakeCallVC = [[fakeCallDesignViewController alloc]init];
NSMutableArray *array = [[NSMutableArray alloc]init];
[array addObjectsFromArray:navController.viewControllers];
[array addObject:fakeCallVC];
[navController setViewControllers:array];
[array release];
[fakeCallVC release];
}
このメソッドはデリゲートにあります
firstviewcontroller.mで
-(void)eventStarted
{
delegate.fakecallTimer = [NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(fakeCallCaled:) userInfo:nil repeats:NO];
}
5秒後、ログに「FakeCall」が表示されますが、viewcontrollerは変更されません
私もappdelegateを押し込んでみます
-(IBAction)fakeCallCaled:(id)sender
{
NSLog(@"FakeCall");
fakeCallDesignViewController *fakeCallVC = [[fakeCallDesignViewController alloc]init];
[self.navigationController pushViewController:fakeCallVC animated:NO];
[fakeCallVC release];
}
しかし、同じ結果が得られます。