ARCでtabBarアプリを作成しました。したがって、デフォルトの設定では、2つのviewControllerが自動的に提供されます。
1)FirstViewController.h、FirstViewController.m; FirstViewController_iPhone.xib、FirstViewController_iPad.xib
2)SecondViewController.h、SecondViewController.m、SecondViewController_iPhone.xib、SecondViewController_iPad.xib
新しいビューコントローラ「ViewController3」を作成したかったのですが、ファイル作成プロセス中に、iPad用に作成するかiPhoneのみ用に作成するかを選択できます(チェックボックス「iPadを対象」)。私のために作成されたFirstViewControllerとSecondViewControllersのように、iPhoneとiPadの両方のxibsが必要です。そこで、xibを手動で作成し、xibsを使用せずにファイルの作成を続行することにしました。
だから当然、その後私は手動で2つのニュースxibsを作成しました。ThirdViewController_iPhone.xibおよびThirdViewController_iPad.xib
この行を元のAppDelegeateファイルに追加しました。
UIViewController *viewController1, *viewController2, *viewController3;
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController_iPhone" bundle:nil];
viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController_iPhone" bundle:nil];
viewController3 = [[ThirdViewController alloc] initWithNibName:@"ThirdViewController_iPhone" bundle:nil];
} else {
viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController_iPad" bundle:nil];
viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController_iPad" bundle:nil];
viewController3 = [[ThirdViewController alloc] initWithNibName:@"ThirdViewController_iPad" bundle:nil];
}
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, viewController3, nil];
次に、プロジェクトを実行して、これを取得しました:キャッチされない例外'NSInternalInconsistencyException'によるアプリの終了、理由:'-[UIViewController _loadViewFromNibNamed:bundle:]は「ThirdViewController_iPhone」ペン先をロードしましたが、ビューアウトレットが設定されていませんでした。
コンセントを設定するにはどうすればよいですか?