2016-10-19 5 views
-3

Ich habe versucht alle Lösungen wie versuchen zu fangen. Aber nicht in der Lage, diesen Fehler zu lösen. Bitte hilf mir, ich bin neu bei ios. Swift 3: Extra Argument 'Fehler' in Call

func apicalling() { 

    let headers = [ 
     "content-type": "application/json", 
     "cache-control": "no-cache", 
     "postman-token": "7adebcbe-18b4-d2a7-2159-2fbcaea27edd" 
    ] 
    let parameters = [ 
     "customerID": "1", 
     "listType": "2" 
    ] 

    let postData = JSONSerialization.dataWithJSONObject(parameters, options: nil, error: nil) 



    var request = NSMutableURLRequest(url: NSURL(string: "http://exp.php")! as URL, 
             cachePolicy: .useProtocolCachePolicy,timeoutInterval: 10.0) 
    request.httpMethod = "POST" 
    request.allHTTPHeaderFields = headers 
    request.HTTPBody = postData 

    let session = URLSession.shared 
    let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in 
     if (error != nil) { 
      print(error) 
     } else { 
      let httpResponse = response as? HTTPURLResponse 
      print(httpResponse) 
     } 
    }) 

    dataTask.resume() 

     } 

Der Fehler in dieser Zeile unter:

let postData = JSONSerialization.dataWithJSONObject(parameters, options: nil, error: nil) 

Bitte helfen Sie mir.

Danke.

Antwort

0

Seit Swift 3, Sie do, with try and catch, auch das error Argument hinzufügen müssen wurde gelöscht, da es Wirf jetzt einen Fehler, weil es gefangen wird.

func apicalling() { 

    let headers = [ 
     "content-type": "application/json", 
     "cache-control": "no-cache", 
     "postman-token": "7adebcbe-18b4-d2a7-2159-2fbcaea27edd" 
    ] 
    let parameters = [ 
     "customerID": "1", 
     "listType": "2" 
    ] 
    do { 
     let postData = try JSONSerialization.data(withJSONObject: parameters, options :[]) 
     let request = NSMutableURLRequest(url: NSURL(string: "http://exp.php")! as URL, 
             cachePolicy: .useProtocolCachePolicy,timeoutInterval: 10.0) 
     request.httpMethod = "POST" 
     request.allHTTPHeaderFields = headers 
     request.httpBody = postData 

     let session = URLSession.shared 
     let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in 
      if (error != nil) { 
       print(error) 
      } else { 
       let httpResponse = response as? HTTPURLResponse 
       print(httpResponse) 
      } 
     }) 

     dataTask.resume() 
    } catch { 
     print("JSON serialization failed: \(error)") 
    } 
} 
Verwandte Themen