Будучи новым в быстры, я пытаюсь использовать раскадровку, чтобы перейти к LoginController используя следующий кодНевозможно создать экземпляр ViewController из раскадровки как RootViewController в скор
var window: UIWindow?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool
{
var type = UIUserNotificationType.Badge | UIUserNotificationType.Alert | UIUserNotificationType.Sound;
var setting = UIUserNotificationSettings(forTypes: type, categories: nil);
UIApplication.sharedApplication().registerUserNotificationSettings(setting);
UIApplication.sharedApplication().registerForRemoteNotifications();
var navCtrl = UINavigationController();
var isLoggedIn = NSUserDefaults.standardUserDefaults().boolForKey(USERDEFAULT_ISLOGGEDIN);
if(isLoggedIn)
{
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
var mainController: CategoriesController = mainStoryboard.instantiateViewControllerWithIdentifier(SEGUE_CATEGORIES) as CategoriesController
navCtrl.pushViewController(mainController, animated: true);
}
else
{
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
var mainController: LoginController = mainStoryboard.instantiateViewControllerWithIdentifier(SEGUE_LOGIN) as LoginController
navCtrl.pushViewController(mainController, animated: true);
}
self.window?.rootViewController = navCtrl;
self.window?.makeKeyAndVisible();
return true
}
Однако он просто показывает пустой экран. Что неправильно при назначении navController как rootViewController?
'self.window' nil? Замените 'self.window?' На 'self.window!' В двух вызовах. Вероятно, это ошибка, если окно равно нулю, поэтому вы должны принудительно развернуть. –
дает плохую ошибку, а затем @MatthiasBauch –