2012-03-14 11 views
0

回答: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]; 
} 

答えて

1

これに対処する方法はいくつかあります。 Facebookのが接続されているときは、NSUserDefaultsにフラグを格納することができ

NSUserDefaults:ここではカップルです。 SettingViewControllerviewDidLoadメソッドでは、そのフラグをチェックしてUIButtonタイトルに適切な変更を加えることができます。あなたがNSNotificationを発射する可能性がfbDidLogin方法では、

通知SettingViewControllerは通知を受けてボタンのタイトルを変更することができます。このアプローチでは、SettingViewControllerインスタンスが存在し、通知を監視できると想定しています。

+0

ありがとう@Alan、NSUserDefaultsを使用しますが、SettingViewControllerをfacebookログインから戻った後にチェックする方法はわかりません.-(void)viewWillAppear :(BOOL)animated will not triggered。 (理由) – ThinkChris

+1

ビュー階層の構成方法によって異なります。 'UITabBarController'を持っているようです。その' tabBarController:didSelectViewController'デリゲートメソッドでは、FBフラグ設定を 'SettingViewController'に伝播できます。 'viewWillAppear'が呼び出されたときの詳細については、[この質問](http://stackoverflow.com/questions/131062/iphone-viewwillappear-not-firing)を参照してください。 – FluffulousChimp

関連する問題