Après avoir commencé à utiliser Swift 2 dans Xcode 7 Beta, j'obtiens une erreur que je cannot invoke
. Quelle est la cause de ce problème?
J'essaie de comprendre mon problème en suivant ces 2 questions, mais je reçois toujours l'erreur: Question 1 , Question 2
Erreur:
Impossible d'appeler 'dataTaskWithRequest' avec une list d'arguments de type '(NSMutableURLRequest, (_, _, _) throws -> _)'
- Travailler en mode arrière-plan dans XMPP
- Optimisation des performances SceneKit avec des textures haute résolution
- CFBundleShortVersionSsortingng doit être une list séparée par des nombres de trois entiers non négatifs
- AUGraphInitialize un code d'erreur -10868 lors de l'ajout de kAudioUnitSubType_Reverb2 à AUGraph
- L'audio de l'application ne fonctionne pas via les haut-parleurs
Code complet
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {data, response, error in let json = try NSJSONSerialization.JSONObjectWithData(data, options: .MutableContainers) as? NSDictionary if let parseJSON = json { let resultValue:Ssortingng = parseJSON["status"] as! Ssortingng if(resultValue=="Success"){ //Store Confimed Account Detail Inside Core Data try self.saveAccountDetail(userloginTextField!, confirmDataResortingeve: 0) //Login is Successful NSUserDefaults.standardUserDefaults().setBool(true, forKey: "isUserLoggedIn") NSUserDefaults.standardUserDefaults().synchronize() self.dismissViewControllerAnimated(true, completion: nil) } } }
Merci à Leo Dabus, avec son aide, je comprends que c'est la nouvelle fonctionnalité dans Swift 2. la façon dont vous tapez dans le code devrait être d' try
ou d' try!
Manipulation
NSJSONSerialization devrait être exécuté: (si est l'input de lancement votre supprimer le !
)
let json = try!NSJSONSerialization.JSONObjectWithData(data!, options: .MutableContainers) as? NSDictionary
Changer d' try
d' try!
Ensuite, il commencera à comstackr en tant que norme.
essayez comme ceci:
let task = NSURLSession.sharedSession().dataTaskWithRequest(request, completionHandler: { (data, response, error) -> Void in if let data = data { println(data.length) // you can use data here } else if let error = error { println(error.description) } }) task!.resume()
vous pouvez tester avec celui-ci
let task = NSURLSession.sharedSession().dataTaskWithRequest( NSURLRequest(URL: NSURL(ssortingng: "http://img.iosberry.com/ios/Nikon-D810-Image-Sample-6.jpg")!), completionHandler: { (data, response, error) -> Void in if let data = data { println(data.length) if let image = UIImage(data: data) { println(image.description) } } else if let error = error { println(error.description) } }) task!.resume()