4

Facebookログインを実装し、アクセストークンのステータスを確認しました

-(void)fbDidLogin

これで、アクセストークンを取得した場合にオンになるUITableViewトグルがある場所がありButtonます。UISwitch問題は、アクセストークンを取得するときです

-(void)fbDidLogin 

メソッドが呼び出されます。ここでは、呼び出してトグルボタンのスイッチをオンに設定しています

[self.switch setOn:YES animated:YES];

しかし、それは起こっていません。戻ってそのページをもう一度開くと、正しいステータスが表示されますが、設定したときは表示されませんfbDidLogin。なぜこれが起こっているのか推測できますか?

Facebook認証の場合、アプリの外に出て戻ってくるのですが、そのせいでしょうか?しかし、私はWebサービスを呼び出してfbDidLoginおり、正常に動作しています。

コードはシンプルです

- (void)fbDidLogin {    
    [self.switch setOn:YES animated:YES];    
}
4

1 に答える 1

1

ここで、fbaddpost通知のアクセストークンを取得します

[[NSNotificationCenter defaultCenter] postNotificationName:@ "fbDidLogin" object:nil];

現在、最初のfbログインの方法は次のとおりです。

-(void)fbLogin
{
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(fbDidLogin) name:@"fbDidLogin" object:nil];
 // some logic for intial fb login page
 }

また、fbDidLoginメソッドでこれを追加します

- (void)fbDidLogin 
{   
[[NSNotificationCenter defaultCenter]removeObserver:self name:@"fbDidLogin" object:nil]; 
[self.switch setOn:YES animated:YES];    
}

ここでは、アクセストークンを受信するとすぐにfbDIdLoginが呼び出されます

アクセストークンがnilの場合、失敗したfbロ​​グインに対して同様のプロセスを実行できます。

于 2012-05-22T09:20:52.427 に答える