2014-11-23 93 views
0

我在用戶用facebook登錄後發回一些數據。好像Alamofire做,而不只是一個出於某種原因兩個請求,:Alamofire做兩個請求

斯威夫特代碼

func loginViewFetchedUserInfo(loginView: FBLoginView!, user: FBGraphUser!) { 
    println("loginViewFetchedUserInfo") 

    let fb_id: (AnyObject)!   = user.objectForKey("id") as String 
    let first_name: (AnyObject)! = user.objectForKey("first_name") as String 
    let last_name: (AnyObject)!  = user.objectForKey("last_name") as String 
    let email: (AnyObject)!   = user.objectForKey("email") as String 

    let user_data: Dictionary = [ 
     "fb_id": fb_id, 
     "first_name": first_name, 
     "last_name": last_name, 
     "email": email 
    ] 

    Alamofire.request(.POST, "http://localhost:8080/api/v1/user/login", parameters: user_data) 
     .responseJSON { (_, _, JSON, _) in 
      println(JSON) 
    } 
} 

控制檯輸出

loginViewFetchedUserInfo 
Optional({ 
    "status" = "success 
}) 
Optional({ 
    "status" = "success 
}) 

事實上我對拿到兩個請求服務器。爲什麼框架要做兩個請求而不是一個?

回答

0

您的loginViewFetchedUserInfo()功能在UIViewController內嗎? 也許您正在初始化此UIViewController或功能的所有者類兩次

在我的情況下,這是由於同一個類的許多實例使用相同的Notification Observer名稱造成的。