FWAssetGroup

@interface FWAssetGroup : NSObject

- (instancetype)initWithPHCollection:(PHAssetCollection *)phAssetCollection;

- (instancetype)initWithPHCollection:(PHAssetCollection *)phAssetCollection fetchAssetsOptions:(nullable PHFetchOptions *)pHFetchOptions;

/// 仅能通过 initWithPHCollection 和 initWithPHCollection:fetchAssetsOption 方法修改 phAssetCollection 的值
@property(nonatomic, strong, readonly) PHAssetCollection *phAssetCollection;

/// 仅能通过 initWithPHCollection 和 initWithPHCollection:fetchAssetsOption 方法修改 phAssetCollection 后,产生一个对应的 PHAssetsFetchResults 保存到 phFetchResult 中
@property(nonatomic, strong, readonly) PHFetchResult *phFetchResult;

/// 相册的名称
- (nullable NSString *)name;

/// 相册内的资源数量,包括视频、图片、音频(如果支持)这些类型的所有资源
- (NSInteger)numberOfAssets;

/**
 *  相册的缩略图,即系统接口中的相册海报(Poster Image)
 *
 *  @return 相册的缩略图
 */
- (nullable UIImage *)posterImageWithSize:(CGSize)size;

/**
 *  枚举相册内所有的资源
 *
 *  @param albumSortType    相册内资源的排序方式,可以选择日期最新的排在最前面,也可以选择日期最新的排在最后面
 *  @param enumerationBlock 枚举相册内资源时调用的 block,参数 result 表示每次枚举时对应的资源。
 *                          枚举所有资源结束后,enumerationBlock 会被再调用一次,这时 result 的值为 nil。
 *                          可以以此作为判断枚举结束的标记
 */
- (void)enumerateAssetsWithOptions:(FWAlbumSortType)albumSortType usingBlock:(nullable void (^)(FWAsset * _Nullable resultAsset))enumerationBlock;

/**
 *  枚举相册内所有的资源,相册内资源按日期最新的排在最后面
 *
 *  @param enumerationBlock 枚举相册内资源时调用的 block,参数 result 表示每次枚举时对应的资源。
 *                          枚举所有资源结束后,enumerationBlock 会被再调用一次,这时 result 的值为 nil。
 *                          可以以此作为判断枚举结束的标记
 */
- (void)enumerateAssetsUsingBlock:(nullable void (^)(FWAsset * _Nullable result))enumerationBlock;

@end

Undocumented

  • Undocumented

    Declaration

    Objective-C

    - (instancetype)initWithPHCollection:(PHAssetCollection *)phAssetCollection;
  • Undocumented

    Declaration

    Objective-C

    - (instancetype)initWithPHCollection:(PHAssetCollection *)phAssetCollection fetchAssetsOptions:(nullable PHFetchOptions *)pHFetchOptions;
  • 仅能通过 initWithPHCollection 和 initWithPHCollection:fetchAssetsOption 方法修改 phAssetCollection 的值

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly) PHAssetCollection *_Nonnull phAssetCollection;
  • 仅能通过 initWithPHCollection 和 initWithPHCollection:fetchAssetsOption 方法修改 phAssetCollection 后,产生一个对应的 PHAssetsFetchResults 保存到 phFetchResult 中

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly) PHFetchResult *_Nonnull phFetchResult;
  • 相册的名称

    Declaration

    Objective-C

    - (nullable NSString *)name;
  • 相册内的资源数量,包括视频、图片、音频(如果支持)这些类型的所有资源

    Declaration

    Objective-C

    - (NSInteger)numberOfAssets;
  • 相册的缩略图,即系统接口中的相册海报(Poster Image)

    Declaration

    Objective-C

    - (nullable UIImage *)posterImageWithSize:(CGSize)size;

    Return Value

    相册的缩略图

  • 枚举相册内所有的资源

    Declaration

    Objective-C

    - (void)enumerateAssetsWithOptions:(FWAlbumSortType)albumSortType
                            usingBlock:
                                (nullable void (^)(FWAsset *_Nullable __strong))
                                    enumerationBlock;

    Parameters

    albumSortType

    相册内资源的排序方式,可以选择日期最新的排在最前面,也可以选择日期最新的排在最后面

    enumerationBlock

    枚举相册内资源时调用的 block,参数 result 表示每次枚举时对应的资源。 枚举所有资源结束后,enumerationBlock 会被再调用一次,这时 result 的值为 nil。 可以以此作为判断枚举结束的标记

  • 枚举相册内所有的资源,相册内资源按日期最新的排在最后面

    Declaration

    Objective-C

    - (void)enumerateAssetsUsingBlock:
        (nullable void (^)(FWAsset *_Nullable __strong))enumerationBlock;

    Parameters

    enumerationBlock

    枚举相册内资源时调用的 block,参数 result 表示每次枚举时对应的资源。 枚举所有资源结束后,enumerationBlock 会被再调用一次,这时 result 的值为 nil。 可以以此作为判断枚举结束的标记