我有一个 Facebook 单例并请求它来获取个人资料图片:
[[[FacebookScorer sharedInstance] facebook] requestWithGraphPath:@"me/picture?type=normal" andDelegate:self];
现在,在 facebook 委托方法 didLoadRawResponce 中,我实际上收到了个人资料图片并可以显示,但在 didLoad:(id)result 方法中,结果为空!
我相信一旦解析结果就会调用 didLoad 方法,那么为什么我没有从中得到任何结果呢?
我需要使用didLoad的原因是我可以询问它结果是否为KindOfClass来查看它是什么,而didLoadRawResponce在我注销时也会被调用,那么我如何检查数据是什么?
- 编辑
我已经弄清楚如何区分 FBRequest,所以这不再是一个大问题,但是我仍然不明白为什么 didLoad 被调用但没有任何结果。
即使使用这个也会触发slog,但是为空
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]])
{
...
}
这不是最优雅的解决方案,我仍然不知道为什么结果为零。但它有效。
希望这可以帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)