ios 一键批量保存图片到本地相册
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios 一键批量保存图片到本地相册相关的知识,希望对你有一定的参考价值。
参考技术A -( void )saveAction//这里我先模拟了一个图片数组
self .tempImgArr = @[@"http://39.98.122.82/upload/home/c11.jpg",@"http://pic.bizhi360.com/bbpic/70/370.jpg",@"http://pic.bizhi360.com/bbpic/86/6386.jpg",@"http://pic.bizhi360.com/bbpic/69/6569.jpg"].mutableCopy;
self .imgArr = [NSMutableArray array];
for ( int i =0; i < self .tempImgArr.count; i++)
[ self .imgArr addObject: self .tempImgArr[i]];
//循环将图片加入一个数组里
PHAuthorizationStatus status = [phphotoLibrary authorizationStatus];
// 2.判断用户的授权状态
if (status == PHAuthorizationStatusNotDetermined)
// 如果状态是不确定的话,block中的内容会等到授权完成再调用
[PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status)
// 授权完成就会调用
if (status ==PHAuthorizationStatusAuthorized)
//调用存储图片的方法
[ self CWWSavePhotos];
];
//如果允许访问
else if (status == PHAuthorizationStatusAuthorized)
//调用存储图片的方法
[ self CWWSavePhotos];
//如果权限是拒绝
else
//弹出一个页面提示用户去打开授权
// [MBProgressHUD showInWindowMessage:@"进入设置打开允许访问相册开关"];
- ( void )CWWSavePhotos
if ( self .imgArr.count>0)
[ self saveimage:[ self .imgArrobjectAtIndex:0]];
#pragma mark - 保存图片的方法
- ( void )saveimage:(NSString*)imageUrl
NSURL*imgUrl = [NSURLURLWithString:imageUrl];
[[SDWebImageDownloadersharedDownloader]downloadImageWithURL:imgUrlcompleted:^(UIImage* _Nullable image,NSData* _Nullable data,NSError* _Nullable error, BOOL finished)
if (image)
UIImageWriteToSavedPhotosAlbum(image, self , @selector (image:didFinishSavingWithError:contextInfo:), nil );
//清除sd缓存,防止图片被sdwebimage缓存
[[SDImageCache sharedImageCache] clearDiskOnCompletion: nil ];
[[SDImageCache sharedImageCache] clearMemory];
];
#pragma mark -- <保存到相册>
-( void )image:(UIImage*)imagedidFinishSavingWithError:(NSError*)errorcontextInfo:( void *)contextInfo
if (error)
[ self alertView:@"保存图片失败"];
else
[ self .imgArr removeObjectAtIndex:0];
if ( self .imgArr.count==0)
[ self alertView:@"图片已保存至您的相册"];
[ self CWWSavePhotos];
iOS开发小技巧--实现将图片保存到本地相册
一.报错的代码
- 错误 -- out of bounds 超出界限的意思
*** Terminating app due to uncaught exception \'NSInvalidArgumentException\', reason: \'-[NSInvocation setArgument:atIndex:]: index (2) out of bounds [-1, 1]\'
- 错误的代码
- 苹果提供的建议方法
- 正确的代码
以上是关于ios 一键批量保存图片到本地相册的主要内容,如果未能解决你的问题,请参考以下文章