我想像一下"facebook controller"的意思,意思是說希望可以透過facebook controller來發request以及接收response(as a fb delegate)是嗎?
如果是這樣的話你可以試試看這個作法。
AppDelegate 握有 facebook 這個 property
AppDelegate 就是 facebook.sessionDelegate
*既然facebook是AppDelegate的property
那在其他SomeOtherViewController都可用 [(AppDelegate *)[[UIApplication sharedApplication] delegate] facebook]來取得singleton的facebook
便也可以發送request,當然request delegate設成自己當前的viewController就好了
*AppDelegate 當做 facebook 的 sessionDelegate
讓fb登入相關的delegate methods都放在同一個地方
但或許有些狀況例如是:在cViewController要發送facebook request,首先要先檢查session是否valid,所以也會得在cViewController做facebook login的request
但是facebook.sessionDelegate卻不是在cViewController身上。
我的作法是利用 [facebook addObserver:self forKeyPath:@"accessToken" options:NSKeyValueObservingOptionNew context:nil];
那麼在觀察到accessToken有變動時就知道facebook login成功了
希望有幫助到XD