2012-05-04 41 views
1

我有一個Facebook獨立的,並要求此獲得資料圖片:的Facebook SDK didLoad:結果=空

[[[FacebookScorer sharedInstance] facebook] requestWithGraphPath:@"me/picture?type=normal" andDelegate:self]; 

現在Facebook的委託方法didLoadRawResponce我居然收到資料圖片,並且可以顯示,但在didLoad:(id)結果方法結果爲null!

我相信didLoad方法在結果解析後會被調用,那爲什麼我沒有從它那裏得到任何回報?

我需要使用didLoad的原因是,如果結果是KindOfClass以查看它是什麼,而我註銷時也調用了didLoadRawResponce,那麼如何檢查數據是什麼?

- 編輯 我已經想出瞭如何區分FBRequests,所以這不再是一個很大的問題,但我仍然不明白爲什麼要調用LoadLoad但沒有任何結果。 即使使用這給觸發猛擊,但空

if (request == _profilePicRequest) { 
    NSLog(@"result:%@",result); 
} 
+0

您是否嘗試執行' - (void)請求:(FBRequest *)請求didFailWithError:(NSError *)錯誤;'並檢查是否有一些錯誤發生? –

+0

是的,沒有錯誤。 didLoad被調用,但結果爲空。 – Darren

回答

2

這可以通過從請求獲取數據來解決:

- (void)request:(FBRequest *)request didLoad:(id)result{ 
result = request.responseText; 

if ([result isKindOfClass:[NSData class]]) 
{ 
    ... 
} 

if ([result isKindOfClass:[NSDictionary class]]) 
{ 
    ... 
} 

不是最優雅的解決方案,而我還是不知道爲什麼結果是零。但它的工作。

希望這會有所幫助!