2014-11-23 90 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名称造成的。