2017-07-06 15 views
0

私のアプリのログインページを書いていますが、このエラーが発生しました ソーシャルメディアアプリ、xcode 8.3.2、swift 3 私はファイルのターゲットメンバーシップを試みました検査官と何も変わっていません 私もテストユニット(UITestとTest)を削除して更新しましたが、どちらもうまくいきませんでした。私は下の画像は、コード Picture未解決の識別子 'result'の使用swift 3

import UIKit 

class LoginViewController : UIViewController 
{ 
    @IBOutlet weak var txt_username: UITextField! 
    @IBOutlet weak var txt_password: UITextField! 
    override func viewDidLoad() { 
     super.viewDidLoad() 
    } 
    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
    } 
    @IBAction func btn_log_in_click(_ sender: Any){ 
     let server=MultipartUtility (Url:"http://x.x.x.x/appname-api/user/login/") 
//I.m hiding the real ip and details for posting this 
      server.AddFormField("username", value: txt_username.text) 
      server.AddFormField("password", value: txt_password.text) 


let task = URLSession.shared.dataTask(with: server.execute()) 
{Data,URLResponse,error in 
    if error != nil{ 
    print(error as Any) 
     return 
    } 
    do{ 
     let json = try JSONSerialization.jsonObject(with: Data!, options: .allowFragments) 
     if let json_result = json as? [String: Any]{ 
      let result = json_result ["result"] as? String 
      if result == "0" 
      { 
       DispatchQueue.main.async { 
        let alert = UIAlertController(title:"Incorrect Username",message : "The username you entered doesn't appear to belong to an account. Please check your username and try again", preferredStyle : .alert) 
        let alert_action = UIAlertAction(title: "Try Again", style: .default, handler: nil) 
        alert.addAction(alert_action) 
        self.present(alert, animated: true, completion: nil) 
       } 
      } 
     } 
     else{ 

      DispatchQueue.main.async { 
      UserDefaults.standard.set(result!, forKey: "user_id") 
//" use of unresolved identifier 'result' " 
      let current_view=UIApplication.shared.windows[0] as UIWindow 
      let new_view=(self.storyboard? .instantiateViewController(withIdentifier: "tab_bar"))! as UIViewController 
      UIView.transition(from: (current_view.rootViewController? .view)!, to:new_view.view , duration: 0.65, options: .transitionFlipFromRight, completion: {(action) in current_view.rootViewController=new_view 
      }) 
      } 
     } 
    } 
    catch{ 
    } 
} 
     task.resume() 

     } 
} 
+1

を説明し 'result'が'かの内部で宣言されている

このエラー「未解決識別子 『結果』の使用」を取得しています41行で 'ブロック。 'else'ブロック内には表示されません。 – rmaddy

+0

グローバルに 'result'を宣言します –

答えて

0
if let json_result = json as? [String: Any] 
       { 
        let result = json_result ["result"] as? String 
        if result == "0" 
        { 
         DispatchQueue.main.async { 
          let alert = UIAlertController(title:"Incorrect Username",message : "The username you entered doesn't appear to belong to an account. Please check your username and try again", preferredStyle : .alert) 
          let alert_action = UIAlertAction(title: "Try Again", style: .default, handler: nil) 
          alert.addAction(alert_action) 
          self.present(alert, animated: true, completion: nil) 
         } 
        } 
        else 
        { 
         DispatchQueue.main.async { 
          UserDefaults.standard.set(result!, forKey: "user_id") 
          //" use of unresolved identifier 'result' " 
          let current_view=UIApplication.shared.windows[0] as UIWindow 
          let new_view=(self.storyboard? .instantiateViewController(withIdentifier: "tab_bar"))! as UIViewController 
          UIView.transition(from: (current_view.rootViewController? .view)!, to:new_view.view , duration: 0.65, options: .transitionFlipFromRight, completion: {(action) in current_view.rootViewController=new_view 
          }) 
         } 

        } 
       } 
       else{ 
       // Error in jsonSerialization 
       } 
+0

これはうまくいきました...しかし、私はしなかったことは何ですか? – SherWiin

+0

あなたのelse部分を内部に移動し、他の部分を追加しました。シンプル –

関連する問題