1

我有一个 Facebook 单身人士并要求获取个人资料图片:

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

现在在 facebooks 委托方法 didLoadRawResponce 我实际上收到了个人资料图片并可以显示,但在 didLoad:(id)result 方法中结果为空!

我相信一旦解析了结果就会调用 didLoad 方法,那么为什么我没有从中得到任何回报呢?

我需要使用didLoad的原因是我可以问它是否结果是KindOfClass以查看它是什么,而我注销时也会调用didLoadRawResponce,那么我该如何检查数据是什么?

--Edit 我已经弄清楚如何区分 FBRequests,所以这不再是一个大问题,但是我仍然不明白为什么调用 didLoad 但没有任何结果。即使使用它也会触发 slog,但使用 null

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

1 回答 1

2

这可以通过从请求中获取数据来解决:

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

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

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

不是最优雅的解决方案,我仍然不知道为什么结果为零。但它有效。

希望这可以帮助!

于 2012-05-10T06:41:36.600 回答