TZAssetModel.m 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. //
  2. // TZAssetModel.m
  3. // TZImagePickerController
  4. //
  5. // Created by 谭真 on 15/12/24.
  6. // Copyright © 2015年 谭真. All rights reserved.
  7. //
  8. #import "TZAssetModel.h"
  9. #import "TZImageManager.h"
  10. @implementation TZAssetModel
  11. + (instancetype)modelWithAsset:(id)asset type:(TZAssetModelMediaType)type{
  12. TZAssetModel *model = [[TZAssetModel alloc] init];
  13. model.asset = asset;
  14. model.isSelected = NO;
  15. model.type = type;
  16. return model;
  17. }
  18. + (instancetype)modelWithAsset:(id)asset type:(TZAssetModelMediaType)type timeLength:(NSString *)timeLength {
  19. TZAssetModel *model = [self modelWithAsset:asset type:type];
  20. model.timeLength = timeLength;
  21. return model;
  22. }
  23. @end
  24. @implementation TZAlbumModel
  25. - (void)setResult:(id)result {
  26. _result = result;
  27. BOOL allowPickingImage = [[[NSUserDefaults standardUserDefaults] objectForKey:@"tz_allowPickingImage"] isEqualToString:@"1"];
  28. BOOL allowPickingVideo = [[[NSUserDefaults standardUserDefaults] objectForKey:@"tz_allowPickingVideo"] isEqualToString:@"1"];
  29. [[TZImageManager manager] getAssetsFromFetchResult:result allowPickingVideo:allowPickingVideo allowPickingImage:allowPickingImage completion:^(NSArray<TZAssetModel *> *models) {
  30. _models = models;
  31. if (_selectedModels) {
  32. [self checkSelectedModels];
  33. }
  34. }];
  35. }
  36. - (void)setSelectedModels:(NSArray *)selectedModels {
  37. _selectedModels = selectedModels;
  38. if (_models) {
  39. [self checkSelectedModels];
  40. }
  41. }
  42. - (void)checkSelectedModels {
  43. self.selectedCount = 0;
  44. NSMutableArray *selectedAssets = [NSMutableArray array];
  45. for (TZAssetModel *model in _selectedModels) {
  46. [selectedAssets addObject:model.asset];
  47. }
  48. for (TZAssetModel *model in _models) {
  49. if ([[TZImageManager manager] isAssetsArray:selectedAssets containAsset:model.asset]) {
  50. self.selectedCount ++;
  51. }
  52. }
  53. }
  54. @end