2011-11-09 33 views
0

请求:奇怪的例外的Facebook的iOS SDK

- (void) getMyImageWithContestOfFace{ 
currentApiCall = getMyImageFb; 
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
           @"SELECT pic FROM user WHERE uid=me()",@"query", 
           nil]; 
AppDelegate *delegate = (AppDelegate *) [[UIApplication sharedApplication] delegate]; 
[[delegate facebook] requestWithMethodName:@"fql.query" 
           andParams:params 
          andHttpMethod:@"POST" 
           andDelegate:self]; 
} 

解析:

... 
case getMyImageFb:{ 
     flag = TRUE; 
     imageWithFace = [[UIImage alloc] init]; 
     imageWithFace = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[result objectForKey:@"pic"]]]]; 
     } 
     break; 
... 

当我把它捉我很奇怪exeption:

* 2011-11-10 00:30: 30.661 FaceGraph [1699:f803]我有一些信息 2011-11-10 00:30:30.664 FaceGraph [1699:f803] - [__ NSArrayM objectForKey:]:无法识别的选择器发送到实例0x6d3d470 2011-11-10 00:30 :30.666 FaceGraph [1699:F803] *终止应用程序由于未捕获的异常 'NSInvalidArgumentException',原因是: ' - [__ NSArrayM objectForKey:]:无法识别的选择发送到实例0x6d3d470' 第一掷调用堆栈: (0x15d9052 0x176ad0a 0x15daced 0x153ff00 0x153fce2 0x254db 0xb6d6 0xbcf7 0xc9ba59 0xc99e94 0xc9aeb7 0xc99e4f 0xc99fd5 0xbdef6a 0x3b8bbbd 0x3c585ea 0x3b82298 0x3c5816b 0x3b82137 0x15ad97f 0x1510b73 0x1510454 0x150fdb4 0x150fccb 0x14c2879 0x14c293e 0x2a6a9b 0x2332 0x22a5) 终止叫做抛出exceptionsharedlibrary应用负载规则所有 当前语言:汽车;目前客观-c

不知道为什么。最奇怪的是,我之前做过绝对相同的工作,并且工作得很好。 我无法找到我的旧项目和当前的区别。也许有人有同样的问题?如果你需要更多的代码 - 请求它。

感谢

回答

0

好,异常似乎是相当清楚的:result可能是一个数组,而不是一本字典。

PS:行imageWithFace = [[UIImage alloc] init];是完全多余的,因为它后面的行。你应该删除它。

+0

感谢您的帮助。我打了我愚蠢的错误: – Yaz

0

我忘了补充:

if ([result isKindOfClass:[NSArray class]]){ 
    result = [result objectAtIndex:0]; 
} 

入结果分析功能。