Câu hỏi đơn giản. Nếu tôi đang ở trong một khối hoàn thành - ví dụ như đăng nhập facebook bằng firebase ... và đăng nhập đã thành công. Nếu tôi muốn loại bỏ bộ điều khiển xem hiện tại (login viewcontroller) từ bên trong khối hoàn thành, tôi có cần quay trở lại hàng đợi chính để làm điều này không. Tôi giả định khối hoàn thành đăng nhập đang được thực hiện trên một chuỗi nền và bất kỳ thay đổi nào đối với giao diện người dùng (nghĩa là loại bỏ trình điều khiển chế độ xem hiện tại) sẽ được thực hiện trên chuỗi chính ... ?Swift - loại bỏ bộ điều khiển chế độ xem từ trong khối hoàn thành
@IBAction func facebookLoginTapped(sender: AnyObject) {
//
let ref = Firebase(url: "https://XXXX.firebaseio.com")
let facebookLogin = FBSDKLoginManager()
facebookLogin.logInWithReadPermissions(["email"], fromViewController: self, handler: { (facebookResult, facebookError) -> Void in
if facebookError != nil {
print("Facebook login failed. Error \(facebookError)")
} else if facebookResult.isCancelled {
print("Facebook login was cancelled.")
} else {
//successfully logged in
//get facbook access token
let accessToken = FBSDKAccessToken.currentAccessToken().tokenString
//use access token to authenticate with firebase
ref.authWithOAuthProvider("facebook", token: accessToken,
withCompletionBlock: { error, authData in
if error != nil {
print("Login failed. \(error)")
} else {
//authData contains
print("Logged in! \(authData)")
//pop loginvc back to uservc - DO I NEED TO GET MAIN THREAD HERE BEFORE DISMISSING VIEW CONTROLLER
self.dismissViewControllerAnimated(true, completion: nil)
}
})
}
})
}
Cùng một vấn đề là câu trả lời của tôi about performSegue: http://stackoverflow.com/questions/32292600/swift-performseguewithidentifier-not-working/32 292706 # 32292706 – BaseZen
Bạn phải làm điều đó trên chuỗi chính. – ryantxr