2012-03-30 9 views
1

私は、アプリケーションの代理人がいくつかのfbloginの処理をしているので、ビューコントローラにログインして戻ったときにコンセントが接続されていないようです。私は、AppDelegateがペン先名を設定せずに新しいView Controllerを初期化しているので、そのことを理解しています...しかし、私はストーリーボードでそれを行う方法はわかりません。助けて!XCode:View Controllerのインスタンスの新しいビューを再読み込み

私はまだまだ新しく、簡単にしてください。

また、私がどのようなコードを提供できるか教えてください。

MORE INFO:私はこれを理解するために役立つ詳細情報を追加する必要が考え出し

。 OK、私のView Controllerの中から、私はアプリケーションデリゲートのインスタンスを作成します。アプリケーションデリゲートには、facebookオブジェクトのインスタンスが含まれています。ビューコントローラから、私は[[appDelegateInst facebook] authorize:permissions];と呼ばれ、Facebookの承認ダイアログを(新しいウィンドウで)開始します。 Facebookのアプリのデリゲートのインスタンスは、そのように初期化されます:

vc = [[ViewController alloc] init]; 
    facebook = [[Facebook alloc] initWithAppId:@"309362365798188" andDelegate:vc]; 

ので、ビューコントローラは、先に行くと(ログイン)ログインfacebookのそのインスタンスを許可するアプリデリゲートのインスタンスに指示します。 facebookのそのインスタンスのデリゲートは、viewcontrollerインスタンス(vc)です。認証呼び出しがアプリケーションに制御を渡すと、(viewcontrollerクラスの内部にある)代理メソッドfbDidLogin()が呼び出されます。そのメソッドでは、手動でviewDidLoadを呼び出す必要があります。なぜなら、すべてのインスタンス変数がnullになっているからです。自分の質問に答えているだけです。viewcontrollerのインスタンスを作成しましたが、ビューをロードしませんでした。私は今、appdelegate View Controllerインスタンスの中にいますが、ページ上にある前のインスタンスのビューに接続しようとしています。そうですか?もしそうなら、私はそれを修正しますか:)

-Josh

答えて

0

ストーリーボードとニブ(.xib)は、主に相互に排他的です。ストーリーボードの通常のことは、コントローラの中には初期のものとしてマークされているものがあり、最初は半魔法のように表示されているということです。次に、そのコントローラのviewDidLoad:メソッドがアプリケーションの起動の一環として呼び出され、その時点でアウトレットが有効である必要があります。

+0

Hmmmn。それから私はちょうど混乱して、デバッグの方法に関しては紛失しています。私はNSLog私のUITableView(例えば、事前ログイン)は、 JoshDG

+0

"lgging in"のものをコメントアウトすると、アウトレットはviewDidLoadでOKですか? (これは、ストーリーボード接続が正しく設定されているかどうかを確認します)また、新しいView Controllerにログインしていますか?もしそうなら、それはストーリーボードの一部ですか? –

+0

はい、ログインする前にすべて正常に動作します。私はボタンのテキストを変更してテーブルに物を投げることができます。私はログインの仕組みがどういうものかはっきりしていない。ブラウザや何かが開いてストーリーボードの一部を開くのではない... facebookのSDD APIのちょっとした部分...そして、アプリに – JoshDG

0

私はそれを理解しました!私のためにやっと!

-(void) doFBLoginStuff:(id)oldView 
{ 
    facebook = [[Facebook alloc] initWithAppId:@"309362365798188" andDelegate:oldView]; 
    [facebook authorize:nil]; 
} 

そして[appDelegateInst doFBLoginStuff:自己]と私の元のビューコントローラからのことと呼ばれる:ので、代わりに私はこれを実装し、私のappdelegateでビューコントローラの新しいインスタンスを使用します。

+0

おめでとうございます! :-)(私はFacebookに特有のものは何も手伝っていませんでした) –

関連する問題