DCTZAssetModel.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. //
  2. // TZAssetModel.h
  3. // TZImagePickerController
  4. //
  5. // Created by 谭真 on 15/12/24.
  6. // Copyright © 2015年 谭真. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import <UIKit/UIKit.h>
  10. typedef enum : NSUInteger {
  11. DCTZAssetModelMediaTypePhoto = 0,
  12. DCTZAssetModelMediaTypeLivePhoto,
  13. DCTZAssetModelMediaTypePhotoGif,
  14. DCTZAssetModelMediaTypeVideo,
  15. DCTZAssetModelMediaTypeAudio
  16. } DCTZAssetModelMediaType;
  17. @class PHAsset;
  18. @interface DCTZAssetModel : NSObject
  19. @property (nonatomic, strong) id asset; ///< PHAsset or ALAsset
  20. @property (nonatomic, assign) BOOL isSelected; ///< The select status of a photo, default is No
  21. @property (nonatomic, assign) DCTZAssetModelMediaType type;
  22. @property (assign, nonatomic) BOOL needOscillatoryAnimation;
  23. @property (nonatomic, copy) NSString *timeLength;
  24. @property (strong, nonatomic) UIImage *cachedImage;
  25. /// Init a photo dataModel With a asset
  26. /// 用一个PHAsset/ALAsset实例,初始化一个照片模型
  27. + (instancetype)modelWithAsset:(id)asset type:(DCTZAssetModelMediaType)type;
  28. + (instancetype)modelWithAsset:(id)asset type:(DCTZAssetModelMediaType)type timeLength:(NSString *)timeLength;
  29. @end
  30. @class PHFetchResult;
  31. @interface DCTZAlbumModel : NSObject
  32. @property (nonatomic, strong) NSString *name; ///< The album name
  33. @property (nonatomic, assign) NSInteger count; ///< Count of photos the album contain
  34. @property (nonatomic, strong) id result; ///< PHFetchResult<PHAsset> or ALAssetsGroup<ALAsset>
  35. @property (nonatomic, strong) NSArray *models;
  36. @property (nonatomic, strong) NSArray *selectedModels;
  37. @property (nonatomic, assign) NSUInteger selectedCount;
  38. @property (nonatomic, assign) BOOL isCameraRoll;
  39. - (void)setResult:(id)result needFetchAssets:(BOOL)needFetchAssets;
  40. @end