facebook - 在 Swift 中调用 Facebook 委托(delegate)

标签 facebook delegates swift

如何使用 Swift 调用 Facebook 代理? Xcode 不会自动完成,我不知道如何使用它。

import UIKit

class ViewController: UIViewController,FBLoginViewDelegate {

    @IBOutlet var fbLoginView : FBLoginView

    override func viewDidLoad() {
        super.viewDidLoad()

        self.fbLoginView.delegate = self
        self.fbLoginView.readPermissions = ["public_profile", "email", "user_friends"]

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    // Facebook Delegates



}

最佳答案

我将给出一个示例翻译并进行解释,以便您应该能够翻译其余的委托(delegate)方法:

- (void)loginViewFetchedUserInfo:(FBLoginView *)loginView user: (id<FBGraphUser>)user;
  1. 方法名称以“loginViewFetchedUserInfo”开头。保持不变
  2. 参数是一个“FDBLoginView”类型的指针,这将被转换为一个可选的 FBLoginView 类型,因为它可以是 nil。约定是使它成为隐式解包可选,因此它将成为 FBLoginView!
  3. 协议(protocol)是 Swift 中的类型,并且在 Swift 中本身就是类型,因此用户参数将简单地变为 FBGraphUser
  4. 假定 swift 方法中的第一个参数只是一个内部名称,因此该参数可以命名为任何名称,但为了保持一致性,我们将其命名为相同的名称:“loginView”
  5. 假定 swift 方法中的第二个参数既是内部参数又是外部参数。在 objective-c 版本中,它们恰好是相同的,所以我们可以简单地使用它一次,Swift 将把它作为内部和外部名称

这给我们留下了这个翻译:

func loginViewFetchedUserInto(loginView : FBLoginView!, user: FBGraphUser)

关于facebook - 在 Swift 中调用 Facebook 委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24189946/

相关文章:

android - Login with Facebook option trigger 建议下载一个应用程序

ios - iPad Safari 主屏幕网站卡在 Facebook 登录上

c# - 为什么我不能对 ThreadStart 使用/强制执行 Action?

.net - 在 .NET 中,为什么事件连接顺序如此重要?

ios - 与 "iOS 9 simulator"失去连接

ios - 如何在 View 之间传递数据。我应该什么时候使用什么?

ios - QuickBlox v2.6 x 通过 Facebook 登录 for iOS

ios - 如何以编程方式在 iOS 中单击 facebook loginView?

c# - 无法使用 ASP.NET Core DI 注入(inject)委托(delegate)

ios - 在 Firebase/Swift 中检索 5 个最近的用户的数据量最少的方法?