2016-03-22 16 views
0

Bu hata düzeltilemiyor. Lütfen bana yardım edin.Aramada ek argüman hatası 'hata' düzeltiliyor

@IBAction func LoginButtonTapped(sender: AnyObject) { 
    let email = UserName.text 
    let password = PasswordField.text 

    if(password!.isEmpty || email!.isEmpty) { 
     return 
    } 

    let myurl = NSURL(string:"some url") 
    let request = NSMutableURLRequest(URL: myurl!) 
    request.HTTPMethod = "POST" 

    let poststring = "email=\(email)&password=\(password)" 
    request.HTTPBody = poststring.dataUsingEncoding(NSUTF8StringEncoding) 
    let task = NSURLSession.sharedSession().dataTaskWithRequest(request) { 
     data, response, error in 
     if error != nil { 
      print("error=\(error)") 
      return 
     } 

     var err : NSError! 
     var json = NSJSONSerialization.JSONObjectWithData(data, options: .MutableContainers, error: &err) as NSDictionary 

     if let parseJSON = json { 
      var resultValue:String = parseJSON["status"] as String 
      print("result: \(resultValue)") 
      if (resultValue=="success") { 
       NSUserDefaults.standardUserDefaults().setBool(true, forKey: "isUserLoggedIn") 
       NSUserDefaults.standardUserDefaults().synchronize() 
       self.dismissViewControllerAnimated(true, completion: nil) 
      } 
     } 
    } 

    task.resume() 
} 

Ben düzeltmek için Bu kod parçasını eklemek biliyorum ama iOS Swift 2.0 için yeni. Nasıl idare edeceğini bilmiyorum.

do { 
    if let json = try NSJSONSerialization.JSONObjectWithData(data, options: []) as? NSDictionary { 
     print(jsonResult) 
    } 
} catch let error as NSError { 
    print(error.localizedDescription) 
} 

Hata sorunumu gidermek için bu kod satırını eklemek bana yardımcı olabilir mi?

cevap

1

yanlışlıkla umursama o zaman sadece bununla

var json = NSJSONSerialization.JSONObjectWithData(data, options: .MutableContainers, error: &err) as NSDictionary 

değiştirin:

var json = try? NSJSONSerialization.JSONObjectWithData(data!, options: .MutableContainers) as! NSDictionary 

veya kodunuz olacak:

@IBAction func LoginButtonTapped(sender: AnyObject) { 

    let email = "" 
    let password = "" 

    if(password.isEmpty || email.isEmpty) { 

     return 
    } 

    let myurl = NSURL(string:"some url") 
    let request = NSMutableURLRequest(URL: myurl!) 
    request.HTTPMethod = "POST" 

    let poststring = "email=\(email)&password=\(password)" 
    request.HTTPBody = poststring.dataUsingEncoding(NSUTF8StringEncoding) 
    let task = NSURLSession.sharedSession().dataTaskWithRequest(request) { 
     data, response, error in 

     do { 
      if let json = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as? NSDictionary { 

       let resultValue:String = json["status"] as! String 
       print("result: \(resultValue)") 
       if (resultValue=="success") 
       { 
        NSUserDefaults.standardUserDefaults().setBool(true, forKey: "isUserLoggedIn") 
        NSUserDefaults.standardUserDefaults().synchronize() 
        self.dismissViewControllerAnimated(true, completion: nil) 
       } 
      } 
     } catch let error as NSError { 
      print(error.localizedDescription) 
     } 

    } 
    task.resume() 
} 
İlgili konular