2016-09-20 22 views
1

打開視圖 - 控制如何去某些動作後視圖控制器,喜歡這裏:如何在代碼

func requestForAccessToken(authorizationCode: String) { 

     Alamofire.request(url, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: nil) 
      .responseJSON { response in 

      switch response.result { 
      case .success(let JSON): 
       let response = JSON as! NSDictionary 
       let accessToken = response.object(forKey: "access_token")! 
       UserDefaults.standard.set(accessToken, forKey: "LIAccessToken") 
       UserDefaults.standard.synchronize() 
       ///here... 
       DispatchQueue.main.async(execute: {() -> Void in 
//     self.dismiss(animated: true, completion: nil) 
        let secondViewController: LoginViewController = LoginViewController() 
        self.present(secondViewController, animated: true, completion: nil) 
       }) 
      case .failure(let error): 
       print("Request failed with error: \(error)") 

      } 
     } 

    } 

我創造故事板VC和VC做的類文件。也許我必須做點別的。

+0

你必須創建在Interface Builder中SEGUE。 – ctabuyo

+0

你試過這個嗎? 'let secondViewController = UIStoryboard(name:「LoginViewController」,bundle:Bundle.main).instantiateViewControllerWithIdentifier(「LoginViewController」)爲? LoginViewController' – Santosh

+0

@Santosh不,現在正在嘗試。我還有一個問題,我必須在故事板ID中設置標識符?並且在make'self.present(secondViewController,animated:true,completion:nil)之後' – DmitrievichR

回答

1

如果您在storyboard中創建viewController,則必須使用情節提要將其實例化。試試這個:

DispatchQueue.main.async(execute: {() -> Void in 
    let secondViewController = UIStoryboard(name:"LoginViewController", bundle: nil.instantiateViewControllerWithIdentifier("LoginV‌​iewController") as? LoginViewController 
    self.present(secondViewController, animated: true, completion: nil) 
}) 

希望你命名你的故事板爲LoginViewController和提供storyboardIDLoginViewController

+0

我在'let secondViewController = UIStoryboard(name:「LoginViewController」,bundle:nil.instantiateViewControllerWithIdentifier 「LOGINV iewController」)作爲LoginViewController' – DmitrievichR

+0

什麼錯誤你得到 – Santosh

+0

'15 libdyld.dylib 0x000000010510068d啓動+ 1 \t 16 ??? 0x0000000000000001爲0x0 + 1 ) 的libC++ abi.dylib:?有沒有捕獲終止異常的類型NSException' – DmitrievichR