Master-Detail-Applicationで新しいiPhoneプロジェクトを作成しました。以前にログインが必要だったので、ストーリーボードに新しいViewControllerを追加し、 「is initial View Controller」にチェックマークを付け、新しく作成したクラスLoginViewControllerをこのViewControllerに割り当てました。
さらに、(私の意見では)関連性はありませんが、セグエを作成し、ViewControllerからNavigationController(Master-Detail-Templateの)に接続しました。
AppDelegate.mは、起動時に新しいコントローラーを起動するように変更されました。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
/* // Old Master-Detail-View-Controller
UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
MasterViewController *controller = (MasterViewController *)navigationController.topViewController;
controller.managedObjectContext = self.managedObjectContext;
*/
(LoginViewController *)self.window.rootViewController;
return YES;
}
これはエラーになります:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException',
reason: '-[UICollectionViewController loadView] loaded the "Qn5-Rj-iPA-view-IRE-eP
-ILZ" nib but didn't get a UICollectionView.'
私もこれを試しました:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
LoginViewController *loginViewController = [[LoginViewController alloc] init];
self.window.rootViewController = loginViewController; //Set the view controller
[self.window makeKeyAndVisible];
return YES;
}
同様のエラーが発生します:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: 'UICollectionView must be initialized with a non-nil layout parameter'
私の間違いはどこにありますか?
私が得られないのは、エラーメッセージのUICollectionViewがどこから来たのかということです。作成したことも追加したこともありませんか?