2013-02-14 79 views
2

我已經把Facebook的loginview這樣的代碼把FBLoginView在viewDidLoad中崩潰的應用程序

(void)viewDidLoad {  
    [super viewDidLoad]; 

    // Create Login View so that the app will be granted "status_update" permission. 
    loginview = [[FBLoginView alloc] init]; 

    loginview.frame = CGRectOffset(loginview.frame, 5, 5); 
    loginview.delegate = self; 

    [self.view addSubview:loginview]; 

    [loginview sizeToFit]; 


    } 

的第一次,當我在它記錄工作fine.But登錄後,當我從另一種觀點認爲跳轉到該視圖崩潰應用程序。

問題是什麼?我沒有得到它。

+0

什麼是崩潰日誌前,你在viewWillAppear中使用loginView呢? – AppleDelegate 2013-02-14 08:29:07

+0

我也把它放在viewWillAppear但同樣的問題。[FBLoginView retain]:消息發送到釋放實例。我沒有釋放這個對象,甚至在.h文件我寫(非原子,保留)FBLoginView * loginview – jinal 2013-02-14 08:47:43

+0

你是什麼用於Facebook登錄。分享套件或Facebook的SDK? – 2013-02-14 08:48:04

回答

0

也許你可以試試這個:

-(void)viewDidLoad 
{ 
    ... 
    static id sharedInstance = self; 
    loginview.delegate = sharedInstance; 
    ... 
} 

通過創建委託視圖實例爲靜態,您將它存儲在與facebook登錄視圖(在靜態作用域中創建)相同的作用域中。您避免了訪問錯誤。

0

我已經退出同一個問題,同時解除與FBLoginView ViewController。 我解決了FBLoginView委託設置爲nil,這個問題叫dismissViewControllerAnimated:completion:

... 
self.loginFBView.delegate = nil; 
[self dismissViewControllerAnimated:NO completion:nil];