現在、アプリケーションに導入 (チュートリアル) セクションを実装しようとしています。いつでもそれを表示できるオプションをユーザーに提供したいと考えています。私のアプリの主要部分は UIViewController XIB ファイル ( ViewController_iPhone.xib
、ViewController_iPad.xib
) で構成されており、入門ビューの目的で、ストーリーボードを使用する方が簡単であることがわかりました。簡単にまとめると、デバイスの種類に応じて、メインのViewController(XIB)からストーリーボード内の開始ViewControllerに切り替えようとしています->これはすべてUIButtonタップで始まります。
ストーリーボード内で個々のストーリーボード ID を割り当てたので、iPad、iPhone、または iPhone-4inch のいずれであっても、適切なビューが読み込まれます。
ストーリーボード ID: 3-Slide1
(iPad)、4-Slide1
(iPhone)、5-Slide1
(iPhone-4inch)。
ViewController.m内のボタン コードは次のとおりです。
NSString *nibName;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
nibName = @"3-Slide1";
} else {
if ([UIScreen mainScreen].bounds.size.height == 480.0) {
nibName = @"4-Slide1";
} else {
nibName = @"5-Slide1";
}
}
IntroViewController *introViewController = [self.storyboard instantiateViewControllerWithIdentifier:nibName];
[self presentViewController:introViewController animated:YES completion:nil];
SIGABRT エラー:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason:
'Application tried to present a nil modal view controller on target
<ViewController: 0x20865170>.
このエラーが表示されるのはなぜですか?
注: 同じ一般的な SIGABRT エラーの投稿が多数ありますが、すべて異なる問題があるようです。