2016-02-19 3 views
1

Я использую следующий фрагмент кода для загрузки изображения из Интернета и добавления его в массив.Невозможно установить изображение в изображение в динамическом режиме из сети

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 

    UIImage* myImage = [UIImage imageWithData: 
         [NSData dataWithContentsOfURL: 
         [NSURL URLWithString: @"http://tcpm.mrlazyinc.com/files/users/themafia/te/beauty/02.jpg"]]]; 

    recipePhotos = [[NSMutableArray alloc] initWithObjects:myImage, @"2.png", @"3.png", @"4.png", @"5.png", @"6.png", @"6.png", @"8.png", @"9.png", @"10.png", nil]; 
}); 

Я устанавливаю изображение на пользовательский интерфейс, используя следующий код,

UIImageView *recipeImageView = (UIImageView *)[cell viewWithTag:100]; 
recipeImageView.image = [UIImage imageNamed:[recipePhotos objectAtIndex:indexPath.row]]; 

Во время выполнения, изображение загружается из сети не отображаются. Есть что-то, что мне не хватает?

ответ

3

Что вы делаете, используя [UIImage imageNamed:] , но это будет доступ к объекту массива recipePhotos, и строка в каждом объекте будет возвращена. Так что у вас нет изображений с этими именами. Поскольку объект хранится в массиве изображения и должны попробовать этот

так попробуйте сделать

recipeImageView.image = [recipePhotos objectAtIndex:indexPath.row]

или

recipeImageView.image = [UIImage imageWithData:[recipePhotos objectAtIndex:indexPath.row]

+0

только для первого изображения остального и нужно загружать с imageNamed: поскольку они являются образами, которые у Acces из ур файла проекта. – Shravan

1

В разделе recipePhotos массиве только первый индекс содержит собственно UIImage, поскольку он содержит полный путь, который равен "http://tcpm.mrlazyinc.com/files/users/themafia/te/beauty/02.jpg" (myImage), и кроме этого только строки с t путь к файлу, который является http://tcpm.mrlazyinc.com/files/users/themafia/te/beauty/

recipePhotos = [[NSMutableArray alloc] initWithObjects:myImage, @"2.png", @"3.png", @"4.png", @"5.png", @"6.png", @"6.png", @"8.png", @"9.png", @"10.png", nil]; 

});

Попробуйте NSLog массив recipePhotos

+0

печатает некоторые числа внутри массива. –

1

Использование SDWebImage класс для установки изображения в ImageView динамически из веба

Импорта следующего файла в файл заголовок.

#import "UIImageView+WebCache.h" 

после импорта файла попробуйте следующий код.

[self.imgLogo sd_setImageWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@",[self.dictTemp valueForKey:@"camp_image"]]] placeholderImage:[UIImage imageNamed:@"placeholder.jpg"]]; 

Скачать библиотеку из ссылки ниже: -

https://github.com/rs/SDWebImage

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