回答:facebook-ios-sdkを使用してログインすると、appDelegateの別のUIViewControllerにどのようにアクセスしますか?
最後に私はそれを行うためのエレガントな方法だと思う通知を使用します。
ありがとう、アラン。
私は、タブベースのアプリケーションでfacebook-login(facebook-ios-sdkを介して)しています。
私のappDelegateの最初の「Facebook」。
私は「ViewController」タブを設定して「Connect Facebook」UIButtonを持っています。
「Facebookの接続」UIButton(ビューの設定タブで)をクリックしてログインでき、「 - (void)fbDidLogin」(appDelegate)が呼び出されます。
すべては問題ありません。
しかし、私の質問は、 "Facebookに接続"に "設定Facebookの" UIButtonを(設定ビューのタブで)更新する方法です?
- (void)fbDidLogin
{
NSUserDefaults * userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:[self.facebook accessToken] forKey:@"FBAccessTokenKey"];
[userDefaults setObject:[self.facebook expirationDate] forKey:@"FBExpirationDateKey"];
[userDefaults synchronize];
if (settingViewController) {
settingViewController.facebookButton.text = @"facebook connected";
}
}
感謝します:
私はappDelegateでこのような何かを行うことができます。
は、私がsettingViewControllerタブでこれを置くが、これが呼び出されなかったとき、Facebookのログイン画面からアプリのリターン:
は、私が試してみました何。だから、私は " - (void)fbDidLogin"でdelegateをappDelegateで使う必要があるかもしれないと思いますか?
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self checkAccStatusAndUpdateButton];
}
ありがとう@Alan、NSUserDefaultsを使用しますが、SettingViewControllerをfacebookログインから戻った後にチェックする方法はわかりません.-(void)viewWillAppear :(BOOL)animated will not triggered。 (理由) – ThinkChris
ビュー階層の構成方法によって異なります。 'UITabBarController'を持っているようです。その' tabBarController:didSelectViewController'デリゲートメソッドでは、FBフラグ設定を 'SettingViewController'に伝播できます。 'viewWillAppear'が呼び出されたときの詳細については、[この質問](http://stackoverflow.com/questions/131062/iphone-viewwillappear-not-firing)を参照してください。 – FluffulousChimp