我有一个Facebook单身人士,并要求获得个人资料照片:
[[[FacebookScorer sharedInstance] facebook] requestWithGraphPath:@"me/picture?type=normal" andDelegate:self];
现在在facebook的委托方法didLoadRawResponce中,我实际上收到了个人资料图片并可以显示,但是在didLoad:(id)result方法中,结果为空!
我相信,一旦解析了结果,就会调用didLoad方法,那么为什么不从中得到任何回报呢?
我需要使用didLoad的原因是,我可以询问结果是否为isKindOfClass来查看其内容,而注销时也调用didLoadRawResponce,那么如何检查数据是什么?
- 编辑
我已经弄清楚了如何区分FBRequests,所以这不再是一个大问题,但是我仍然不明白为什么调用didLoad却没有任何结果。
即使使用此命令也会触发slog,但具有null
if (request == _profilePicRequest) {
NSLog(@"result:%@",result);
}
最佳答案
这可以通过从请求中获取数据来解决:
- (void)request:(FBRequest *)request didLoad:(id)result{
result = request.responseText;
if ([result isKindOfClass:[NSData class]])
{
...
}
if ([result isKindOfClass:[NSDictionary class]])
{
...
}
不是最优雅的解决方案,我仍然不知道为什么结果为零。但这有效。
希望这可以帮助!