2016-07-04 28 views
0

我在猜測我的請求是不完整的......我無法弄清楚我失蹤的是什麼。當我運行這個,沒有提交,它只是永遠掛起...請幫助!swift web請求沒有提交(使用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)") 
     } 
}}} 

,這是從我的視圖控制器調用:

import UIKit 

class ViewController: UIViewController { 

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

你還沒有調用fetchToken方法,你只能聲明它 – Set

+0

@Set你能提供一些細節嗎?我不明白我怎麼沒有打過電話? –

回答

1

在您的視圖控制器類,我看到這個代碼:

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

這似乎是錯誤的。因爲你正在創建爲gettoken「類」, 的實例,你從來沒有真正叫你方法fetchtoken() 我想你必須把它改成類似:

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

也許你得到了與類名「爲gettoken混淆「和方法名稱」fetchToken「:)

+1

這樣做 - 謝謝你akshansh thakur! –