Как использовать работу SDWebImage Frame в UICollectionview для анализа изображений из веб-сервисов?

Я новичок в разработке iOS. Я хочу знать, как использовать SDWebImage Framework для анализа изображений через веб-службы и помещать изображения в пользовательскую ячейку представления коллекции? Тогда, пожалуйста, дайте мне любой ресурс для этого.


person Ashish Gabani    schedule 14.10.2014    source источник


Ответы (1)


Я бы посоветовал вам использовать DLImageLoader. Он невероятно хорошо поддерживается и в основном критичен для iOS.

Сегодня DLImageLoader также имеет идеальную версию Swift.

https://github.com/AndreyLunevich/DLImageLoader-iOS/tree/master/DLImageLoader

Так просто правильно загрузить изображение...

-(UICollectionViewCell *)collectionView:(UICollectionView *)cv
         cellForItemAtIndexPath:(NSIndexPath *)indexPath
    {
    NSInteger thisRow = indexPath.row;
    BooksCell *cell;
    cell = [cv dequeueReusableCellWithReuseIdentifier:
              @"CellBooksNormal" forIndexPath:indexPath];

    cell.layer.shouldRasterize = YES;
    cell.layer.rasterizationScale = [UIScreen mainScreen].scale;

    // set text items...
    cell.title = @"blah";

    // set image items using DLImageLoader

    __weak UIBookView *loadMe = cell.anImage;
    [DLImageLoader loadImageFromURL:imUrl
       completed:^(NSError *error, NSData *imgData)
        {
        [loadMe use:[UIImage imageWithData:imgData]];
        }];

    return cell;
    }

Когда вы говорите веб-сервисы, вот как, например, получить аватар пользователя facebook

PFObject *aFacebookUser = [self.fbFriends objectAtIndex:thisRow];
NSString *facebookImageURL = [NSString stringWithFormat:
    @"http://graph.facebook.com/%@/picture?type=large",
    [aFacebookUser objectForKey:@"id"] ];

__weak UIImageView *loadMe = self.cellImage;
[DLImageLoader loadImageFromURL:facebookImageURL
   completed:^(NSError *error, NSData *imgData)
    {
    if ( loadMe == nil ) return;

    if (error == nil)
        {
        UIImage *image = [UIImage imageWithData:imgData];
        image = [image ourImageScaler];
        loadMe.image = image;
        }
    else
        {
        // an error when loading the image from the net
        }
    }];
person Fattie    schedule 14.10.2014
comment
Первоначальный вопрос был о SDImageCache. Почему DLImageLoader лучше, помимо его активности... это API, как он кеширует и т. д.? - person TruMan1; 24.05.2015