0

iOS向けFacebook SDKからコールバックを実装する方法の設計を試してみます。今私は、と呼ばれるヘルパー(シングルトン)クラスを作成してFacebookインスタンスを保持し、- (void)request:(FBRequest *)request didLoad:(id)result,- (void)fbDidLogoutなどのデリゲートメソッドを実装しています。iOS - コールバックの設計決定(NSNotificationsまたはAppDelegateを使用)

このオプションを使用すると、デリゲートメソッドが呼び出されたときに通知を送信し、興味のあるUIViewControllerは通知を購読して更新を処理できます。私が考え

別のオプションは、AppDelegateFacebookインスタンスのデリゲートなり、その後、すべてのデリゲートメソッドを実装し、デリゲートメソッドから持っていることです(それは興味を持っている場合)、いくつかのFacebookの更新が発生したことを目に見えるUIViewControllerを知らせます。

基本的に私はFacebookの更新に興味のある受信者は2人だけです。 1つはAppDelegateで、もう1つはViewControllerXです。

答えて

1

Peterさん、通知方法がうまくいくと思います。理由は次のとおりです。

デリゲートアプローチを使用する場合、自分自身をフェイスブックシングルトンデリゲートとして割り当てる複数のビューコントローラを持つことはできません。したがって、1つのデリゲート(あなたが提案したApp Delegate)を持っていなければなりません。それは何かが起こったことを他のオブジェクトに通知する中間オブジェクトとして機能します。これは不必要に畳み込まれているようです...

通知方法を使用すると、イベントに関する通知をあなたのFacebookブックオブジェクトに持ち、関心のある人は誰でも聞くことができます。これは中間の人をスキップし、あなたのコードを簡単に展開することができますあなたが何をしたい場合はviewControllerXは、Facebookは何をやっているに興味があります。

私はそれがすべてのスタイルの問題だが、それは価値がある(おそらくそれほど多そうではない)ということについては、それは私の意見だ。

0

App DelegateはUIApplicationデリゲートメソッドのみを処理する必要があります。 (まあ、IMHOだが、それはかなり一般的な意見だと思うだろう。)

あなたはFacebookの代議員が必要なら、それは賢明に賢明なもののように聞こえる。

関連する問題