UIImage от NSData отлично работает на iPad2, но не на iPad1 - PullRequest
1 голос
/ 08 июня 2011

Я только что столкнулся с очень странной проблемой.В настоящее время я разрабатываю приложение, которое загружает изображения с удаленного хоста в асинхронном режиме и затем отображает их.

следующий код выполняется в фоновом потоке, вызываемом через performSelectorInBackground

 NSURL *url = [NSURL URLWithString:[ChannelThumbnailURI stringByReplacingOccurrencesOfString:@"{PersonName}" withString:person.Name]];  
    NSData *imageData = [NSData dataWithContentsOfURL:url];

    UIImage *thumb = [UIImage imageWithData:imageData]; 

забавно то, что теперь я получаю разные результаты на разных устройствах (все с одной и той же iOS, 4.3.3)

на моем старом iPad большой палец, а в том же контексте это действительное изображение на моем iPad2

Я действительно понятия не имею, в чем проблема может быть здесь.спасибо за ваш вклад.

Сэм

1 Ответ

0 голосов
/ 08 июня 2011

Я не вижу непосредственной причины, по которой это будет работать на iPad2, а не на iPad1, попробуйте добавить еще один код отладки, чтобы увидеть, где он работает неправильно.

NSString* urlString = [ChannelThumbnailURI stringByReplacingOccurrencesOfString:@"{PersonName}" withString:person.Name];
if (urlString == nil) { ... }
NSURL *url = [NSURL URLWithString:urlString];
if (url == nil) { ... } 
NSError* error = nil; 
NSData *imageData = [[NSData dataWithContentsOfURL:url options:NSDataReadingUncached error:&error];
if (error) {
    NSLog(@"%@", [error localizedDescription]);
    [error release];
}
UIImage *thumb = [UIImage imageWithData:imageData]; 
...