NZAssetsLibrary 是 ALAssetsLibrary 的扩展。此类可以从特定相册或设备文件夹中保存、删除和加载图片。
NZAssetsLibrary 支持iOS 5.0及以上,并兼容ARC项目。它依赖于以下 Apple 框架,这些框架应已包含在大多数 Xcode 模板中
您需要安装 LLVM 3.0 或更高版本才能构建 NZAssetsLibrary。
要构建示例,需要 iOS 6+(示例项目使用 UICollectionViewController
类)。示例项目使用 AGPhotoBrowser。
或者,您可以直接将源文件添加到您的项目中。
NZAssetsLibrary
文件夹中的所有文件拖放到您的项目中(使用“产品导航器视图”)。如果您在项目外部提取了代码归档,则在询问时请确保选择“复制项目”。#import "NZAssetsLibrary.h"
...
UIImage *image = [UIImage imageNamed:@"image.png"];
// NZAssetsLibrary unique instance
NZAssetsLibrary *assetsLibrary = [NZAssetsLibrary defaultAssetsLibrary];
// save image at album
[assetsLibrary saveImage:image toAlbum:@"Album name" withCompletion:^(NSError *error) {
if (error) {
NSLog(@"Failed to save image.");
return;
}
NSLog(@"Image saved successfully.");
}];
// save image at device document directory
[assetsLibrary saveJPGImageAtDocumentDirectory:image];
[assetsLibrary savePNGImageAtDocumentDirectory:image];
#import "NZAssetsLibrary.h"
#import "NZAssetImageFile.h"
...
// NZAssetsLibrary unique instance
NZAssetsLibrary *assetsLibrary = [NZAssetsLibrary defaultAssetsLibrary];
// load images from album
[assetsLibrary loadImagesFromAlbum:@"My Album" withCallback:^(NSArray<NZAssetImageFile> *assets, NSError *error) {
if (error) {
NSLog(@"Could not load images.");
return;
}
NSLog(@"Loaded successfully.");
}];
// load images from device document directory
NSArray<NZAssetImageFile> *array = [assetsLibrary loadImagesFromDocumentDirectory];
#import "NZAssetsLibrary.h"
#import "NZAssetFile.h"
...
NZAssetFile *file = ...;
// NZAssetsLibrary unique instance
NZAssetsLibrary *assetsLibrary = [NZAssetsLibrary defaultAssetsLibrary];
[assetsLibrary deleteFile:file];
此代码根据MIT 许可证的条款和条件分发。
可以在wiki上找到每个 NZAssetsLibrary 版本的简要说明。