この場合、 Storyboard インスタンスから UIViewController インスタンスをインスタンス化できます。
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"YourStoryboard" bundle:nil];
UIViewController *newController = [storyboard instantiateInitialViewController];
これは、その StoryBoard インスタンス内の最初のビュー コントローラーから開始することを前提としています。
これを条件と組み合わせて、次のことを実行できます。
UIViewController *newViewController = nil;
if([self databaseHasNewInformation])
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"NewDataStoryboard" bundle:nil];
newController = [storyboard instantiateInitialViewController];
}
else
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"NoNewDataStoryboard" bundle:nil];
newController = [storyboard instantiateInitialViewController];
}
// Present New View Controller (this example assumes a navigation controller)
[self.navigationController pushViewController:newController animated:YES];
StoryBoard の最初のビュー コントローラーではないビュー コントローラーをインスタンス化する場合は(id)instantiateViewControllerWithIdentifier:(NSString *)identifier
、呼び出す代わりに、別のインスタンスを利用することができます。instantiateInitialViewController