2016-06-04 3 views
-1

Этот вопрос задан несколько раз, и я просмотрел так много ответов, но я не могу получить ответ, потому что a) Они спросили его давным-давно, и код больше не работает (обновляется) или b) Он не подходит для моего дела.Тип '()' не соответствует протоколу 'Boolean Type'

Вот код:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {  

//SET INITIAL CONTROLLER 
    self.window = UIWindow(frame: UIScreen.mainScreen().bounds) 
    let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
    var initialViewController: UIViewController 
    if() //your condition if user is already logged in or not 
    { 
     // if already logged in then redirect to MainViewController 

     initialViewController =  mainStoryboard.instantiateViewControllerWithIdentifier("MainController") as! MainViewController // 'MainController' is the storyboard id of MainViewController 
    } 
    else 
    { 
     //If not logged in then show LoginViewController 
     initialViewController = mainStoryboard.instantiateViewControllerWithIdentifier("LoginController") as! LoginViewController // 'LoginController' is the storyboard id of  LoginViewController 

    } 

    self.window?.rootViewController = initialViewController 

    self.window?.makeKeyAndVisible() 
return true 

}

Это код из следующей теме: Show another view controller at the first launch and not again

Я пытаюсь использовать это, но ошибка происходит на линии " если()". Было ли обновление, которое избавляется от этого? или я просто ввел неправильный код ?. Это в нужном месте (AppDelegate.swift).

Если вам нужны больше ссылок или информацию, просто комментарий ниже

Спасибо заранее!

P.S: Я бы просто прокомментировал свой ответ, но у меня нет 50 очков

+2

Оператор ', если()' означает, что вам нужно заменить скобки с условным оператором, как: 'если A == B ' – ColGraff

ответ

1

Вы if заявление ничего не оценивающих, поэтому вы получаете эту ошибку. Код ниже предполагается, что вы сохранение статус пользователя в NSUserDefaults (userKey)

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {  

//SET INITIAL CONTROLLER 
    self.window = UIWindow(frame: UIScreen.mainScreen().bounds) 
    let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
    var initialViewController: UIViewController 

    //retrive the user key or status from NSUserDefaults here 
    let defaults = NSUserDefaults.standardUserDefaults() 
    if let userKey = defaults.stringForKey("userKey"){ 
     // if already logged in then redirect to MainViewController 

     initialViewController =  mainStoryboard.instantiateViewControllerWithIdentifier("MainController") as! MainViewController // 'MainController' is the storyboard id of MainViewController 
    } 
    else 
    { 
     //If not logged in then show LoginViewController 
     initialViewController = mainStoryboard.instantiateViewControllerWithIdentifier("LoginController") as! LoginViewController // 'LoginController' is the storyboard id of  LoginViewController 

    } 

    self.window?.rootViewController = initialViewController 

    self.window?.makeKeyAndVisible() 
return true 
} 
+0

Произошла ошибка:« Отсутствует возврат в функции, которая должна возвращать «Bool». ... Кроме этого, все становится лучше. –

+0

Где именно вы получаете эту ошибку? – kye

+0

Эрро появляется на закрытом кронштейне. Консоль, которая заканчивается ** func application (application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {** –

Смежные вопросы