您只需要在您的 App Delegate 中实现该方法,因为...
- (void)fbDidLogin {
NSLog(@"DID LOGIN!");
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[[self facebook] accessToken] forKey:@"FBAccessTokenKey"];
[defaults setObject:[[self facebook] expirationDate] forKey:@"FBExpirationDateKey"];
[defaults synchronize];
}
您所犯的错误是您在自定义视图中实现此方法。
编辑:
上面的代码完美运行,但是如果你想在你的自定义 viewcontroller 上获得控件,你可以在你的 appDelegate 上维护该代码并将此代码添加到你的 CustomViewController 上:
delegate= (YourAppDelegate *)[[UIApplication sharedApplication] delegate];
[delegate facebook].sessionDelegate=self;
因此,您将能够在您的 CustomViewController 中覆盖 fbDidLogin,不要忘记在您的 CustomViewController.h (Header) 上添加 FBSessionDelegate。
亲切的问候。