これが重複した質問の場合は申し訳ありませんが、多くの質問を見て、正しい答えが見つかりませんでした.
基本的に、アプリを初めて起動する場合は、ハウツー画面を含む UIViewController をロードする必要があります。最初の起動でない場合は、Tab Bar Controller を読み込みます。
これを行うには、最初のビュー コントローラーとして UIViewController を用意し、タブ バーと uiviewcontroller へのモーダル セグエを使用します。

2 つのモーダル セグエは、pushTabBar と pushHowToUse と呼ばれます。
「firstviewcontroller」のコードは次のとおりです。
@implementation FirstViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}
- (void)viewDidLoad
{
    [super viewDidLoad];
    [self isFirstRun];
    // Do any additional setup after loading the view.
}
- (BOOL) isFirstRun
{
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    if ([defaults objectForKey:@"isFirstRun"])
    {
        [self performSegueWithIdentifier: @"pushTabBar" sender: self];
        return NO;
    }
    [defaults setObject:[NSDate date] forKey:@"isFirstRun"];
    [[NSUserDefaults standardUserDefaults] synchronize];
    NSLog(@"right before");
    [self performSegueWithIdentifier: @"pushHowToUse" sender: self];
    return YES;
}
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([segue.identifier isEqualToString:@"pushTabBar"]) {
        GetInfoViewController *getInfoViewController = segue.destinationViewController;
        NSLog(@"loadtabbar");
    }
    if ([segue.identifier isEqualToString:@"pushHowToUse"]) {
         TutorialViewController *tutorialViewController = segue.destinationViewController;
        NSLog(@"loadhowto");
    }
}
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
@end
タブバーコントローラーに何をプッシュ/ロードすればよいかわかりません:
  GetInfoViewController *getInfoViewController = segue.destinationViewController;
読み込みたい最初のタブバーのビューコントローラーです。
私はこれを正しくやっていますか?ナビゲーション ルート コントローラーを使用する必要がありますか?
前もって感謝します