如何使用 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;
- 方法名称以“loginViewFetchedUserInfo”开头。保持不变
- 参数是一个“FDBLoginView”类型的指针,这将被转换为一个可选的 FBLoginView 类型,因为它可以是 nil。约定是使它成为隐式解包可选,因此它将成为
FBLoginView!
- 协议(protocol)是 Swift 中的类型,并且在 Swift 中本身就是类型,因此用户参数将简单地变为
FBGraphUser
。 - 假定 swift 方法中的第一个参数只是一个内部名称,因此该参数可以命名为任何名称,但为了保持一致性,我们将其命名为相同的名称:“loginView”
- 假定 swift 方法中的第二个参数既是内部参数又是外部参数。在 objective-c 版本中,它们恰好是相同的,所以我们可以简单地使用它一次,Swift 将把它作为内部和外部名称
这给我们留下了这个翻译:
func loginViewFetchedUserInto(loginView : FBLoginView!, user: FBGraphUser)
关于facebook - 在 Swift 中调用 Facebook 委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24189946/