42 lines
1.0 KiB
Objective-C
42 lines
1.0 KiB
Objective-C
#import "GalleryData.h"
|
|
|
|
@interface GalleryData ()
|
|
|
|
@property (nonatomic, strong) PHFetchResult *fetchResults;
|
|
@property (nonatomic, strong, readwrite) NSArray *data;
|
|
|
|
@end
|
|
|
|
|
|
@implementation GalleryData
|
|
|
|
-(instancetype)initWithFetchResults:(PHFetchResult*)fetchResults selectedImagesIds:(NSArray*)selectedImagesIds{
|
|
|
|
self = [super init];
|
|
if (self) {
|
|
self.fetchResults = fetchResults;
|
|
self.data = [self arrayWithFetchResults:self.fetchResults selectedImagesIds:selectedImagesIds];
|
|
}
|
|
return self;
|
|
}
|
|
|
|
|
|
|
|
-(NSArray*)arrayWithFetchResults:(PHFetchResult*)fetchResults selectedImagesIds:(NSArray*)selectedImagesIds{
|
|
|
|
NSMutableArray *array = [[NSMutableArray alloc] init];
|
|
|
|
for (PHAsset *asset in fetchResults) {
|
|
BOOL isSelected = ([selectedImagesIds containsObject:asset.localIdentifier]) ? YES : NO;
|
|
|
|
NSMutableDictionary *assetDictionary = [@{@"asset": asset, @"isSelected": @(isSelected)} mutableCopy];
|
|
|
|
[array addObject:assetDictionary];
|
|
}
|
|
|
|
return array;
|
|
}
|
|
|
|
|
|
@end
|