2012-09-28 85 views
2

由於iOS6我有一個非常奇怪的UIImages問題,導致應用程序崩潰。 完整方法是這樣的:iOS6 UIImage導致崩潰

NSURL *url = [NSURL URLWithString:@"http://api.twitter.com/1/users/show.json"]; 

NSDictionary *parametros = [NSDictionary dictionaryWithObjectsAndKeys:account.username, @"screen_name", nil]; 

SLRequest *request = [SLRequest requestForServiceType:SLServiceTypeTwitter 
          requestMethod:SLRequestMethodGET 
          URL:url 
          parameters:parametros]; 
[request setAccount:account]; 
[request performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) { 
     if ([urlResponse statusCode] == 200) { 
      NSError *error_ = nil; 
      NSDictionary *userInfo = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error_]; 
      UIImage *image = [UIImage imageWithData:[userInfo objectForKey:@"profile_image_url"]]; 
      UIImage *image = [UIImage imageWithData:[userInfo objectForKey:@"profile_image_url"]]; 
      dispatch_sync(dispatch_get_main_queue(), ^{ 
       [_imageCache setObject:image forKey:account.username]; 
       [ListAccount reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:NO]; 
      }); 
     } 
    }]; 

的問題發生在這條線

UIImage *image = [UIImage imageWithData:[userInfo objectForKey:@"profile_image_url"]]; 

這在iOS5的沒有問題。我似乎無法找到爲什麼或有同樣問題的人。任何建議將非常感激

崩潰如下:

2012-09-28 17:30:53.600 Catalogo[7321:c07] -[__NSCFString bytes]: unrecognized selector  sent to instance 0x10eaf180 
2012-09-28 17:30:53.601 Catalogo[7321:c07] *** Terminating app due to uncaught exception  'NSInvalidArgumentException', reason: '-[__NSCFString bytes]: unrecognized selector sent to  instance 0x10eaf180' 
*** First throw call stack: 
(0x2aed012 0x1a28e7e 0x2b784bd 0x2adcbbc 0x2adc94e 0x2a75390 0x203630c 0x2035e7e 0x2035d98  0x10dc23d 0xf991f3 0xf98ef4 0x6c54e 0x1b9e731 0x1bad014 0x1b9d7d5 0x2a93af5 0x2a92f44  0x2a92e1b 0x2dd87e3 0x2dd8668 0xf7765c 0x79cd 0x2d45) 
libc++abi.dylib: terminate called throwing an exception 

以下:

[userInfo objectForKey:@"profile_image_url"] 

回報Twitter個人資料圖片

+0

什麼是實際碰撞? –

+0

你可以NSLog userInfo並提供有關錯誤的信息? –

+0

我已根據您的請求編輯帖子 – jonathanwiesel

回答

2

你需要轉換的網址[userInfo objectForKey:@"profile_image_url"]分成NSData,然後傳遞給imageWithData :

NSString * profileImageString = [userInfo objectForKey:@"profile_image_url"]; 
NSData * profileImageData = [profileImageString dataUsingEncoding:NSUTF8StringEncoding]; 

不是使用:

​​
+0

嘗試過: NSData * data = [NSData dataWithContentsOfURL:[userInfo objectForKey:@「profile_image_url」]]; UIImage * image = [UIImage imageWithData:data]; 仍然沒有運氣,被拋出這個錯誤: - [__ NSCFString isFileURL]:無法識別的選擇發送到實例0xa2218e0 – jonathanwiesel

+0

轉換的的NSString NSURL ** [NSData的dataWithContentsOfURL:[NSURL URLWithString:[USERINFO objectForKey:@ 「profile_image_url」]]] ; ** – WrightsCS

+0

嘗試過上次編輯,但仍然沒有運氣: ***由於未捕獲的異常'NSInvalidArgumentException',原因:' - [NSCache setObject:forKey:cost:]:試圖插入nil值(key:enf_4eva )' – jonathanwiesel