我在用户登录facebook后发回一些数据。似乎Alamofire正在做两个请求,而不仅仅是出于某种原因:
Swift代码
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 :(得分:0)
您的loginViewFetchedUserInfo()
功能是否在UIViewController
内?
也许您正在初始化此UIViewController
或函数的所有者类两次。
在我的情况下,这是因为同一个类的许多实例使用相同的通知观察者名称。