2012-09-28 2 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"] 

возвращения URL-адрес из щебет профиля изображения

+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]; 

чем использование:

UIImage *image = [UIImage imageWithData:profileImageData]; 
+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

Смежные вопросы