2016-07-04 21 views
0

Ich spekuliere, dass meine Anfrage unvollständig ist ... Ich kann nicht herausfinden, was ich vermisse. Wenn ich das mache, gibt es nichts, es hängt einfach für immer ... bitte helfen!Swift Web-Anfrage nicht einreichen (mit alamofire)

import Foundation 
import Alamofire 
import SwiftyJSON 

class getToken: UIViewController { 


let headers = [ 
"Content-Type": "application/json", 
"Accept": "application/json"] 

func fetchToken(contentID: String, completion: ([String]) -> Void) { 
Alamofire.request(
    .GET, 
    "https://secure3.saashr.com:443/ta/rest/v1/login?company=slszdr&username=abc&password=123", 
    headers: headers).validate().responseJSON { response in 
     switch response.result { 
     case .Success(let data): 
      let json = JSON(data) 
      let name = json["name"].stringValue 
      print(name) 
     case .Failure(let error): 
      print("request failed with error: \(error)") 
     } 
}}} 

und dies der Anruf von meinem View-Controller ist:

import UIKit 

class ViewController: UIViewController { 

override func viewDidLoad() { 
    super.viewDidLoad() 
    getToken() 
}} 
+0

Sie haben die Methode fetchToken nicht aufgerufen, Sie haben sie nur – Set

+0

@Set können Sie weitere Details angeben? Ich sehe nicht, wie ich es nicht genannt habe? –

Antwort

1

In Ihrer View-Controller-Klasse, sehe ich diesen Code:

override func viewDidLoad() { 
super.viewDidLoad() 
getToken() 
} 

Dies scheint falsch. Da Sie eine Instanz von getToken „Klasse“ erstellen, Und Sie nie wirklich Sie Methode fetchtoken() aufgerufen Ich denke, man muss dies wie etwas ändern:

override func viewDidLoad() { 
    super.viewDidLoad() 
    let instanceOfGetTokenClass = getToken() 
    instanceOfGetTokenClass.fetchToken(// send parameters here) 
} 

Vielleicht haben Sie mit dem Klassennamen „getToken verwirrt "und Methodenname" fetchToken ":)

+1

das hat es getan - danke akshansh thakur! –