类型' ViewController'不符合协议' FBSDKLoginButtonDelegate'

时间:2015-10-09 12:52:15

标签: ios objective-c swift facebook

我正试图在iOS App上第一次使用Facebook API。我试图在facebook API doc上实现一个登录按钮。

这是我的应用代表:

    import UIKit
    import FBSDKCoreKit
    import FBSDKLoginKit

    class ViewController: UIViewController, FBSDKLoginButtonDelegate
    {


       // @IBOutlet weak var testLabel: UILabel!

        override func viewDidLoad() {
            super.viewDidLoad()

            if (FBSDKAccessToken.currentAccessToken() == nil)
            {
                NSLog("Not logged in..")
            }
            else
            {
                NSLog("Logged in..")
            }

            //Création et positionnement du bouton de login Facebook
            let loginButton:FBSDKLoginButton=FBSDKLoginButton()
            loginButton.center=self.view.center
            self.view.addSubview(loginButton)
            loginButton.delegate=self
            loginButton.readPermissions=["public_profile", "email", "user_fiends"]
            NSLog("UI OK")
        }

这是我的视图控制器:

The type 'ViewController' does not conform to protocol 'FBSDKLoginButtonDelegate'

我收到此错误class ViewController: UIViewController, FBSDKLoginButtonDelegate 在{{1}}

在我在网上使用完全相同的语法找到的项目中,没有出现错误,项目构建没有任何问题。

你们有没有人遇到同样的问题?

2 个答案:

答案 0 :(得分:3)

尝试实现FBSDKLoginButtonDelegate所需的方法。

答案 1 :(得分:2)

在新的Xcode / iOS开发格式中,如果我们使用或声明任何委托强制声明该方法,就像- (void) loginButton: (FBSDKLoginButton *)loginButton didCompleteWithResult: (FBSDKLoginManagerLoginResult *)result error: (NSError *)error{ NSLog(@"facebook login button test"); } 我们需要实现委托方法,否则删除委托头

Redim Website_Stock(1 to lastrow)
Set  Website_Stock_Range to Range(Firstcolumn & firstrow, Lastcolumn & lastrow)