Iphone 将图像保存到照片库,但有时无法正常工作
我使用下面的代码将图像保存到照片库Iphone 将图像保存到照片库,但有时无法正常工作,iphone,Iphone,我使用下面的代码将图像保存到照片库 for(int i=0;i<[imageNameArray count];i++) { NSMutableString *sss=[[NSMutableString alloc] initWithString: myAppPath]; [sss appendString:@"/"] ; [sss appendString: [NSString stringWithFormat:@"%@",[imageNameArray o
for(int i=0;i<[imageNameArray count];i++)
{
NSMutableString *sss=[[NSMutableString alloc] initWithString: myAppPath];
[sss appendString:@"/"] ;
[sss appendString: [NSString stringWithFormat:@"%@",[imageNameArray objectAtIndex:i] ] ] ;
UIImage *image = [[[UIImage alloc] initWithContentsOfFile:sss]autorelease];
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
[sss release];
}
for(int i=0;i快速连续保存图像可能是一个问题,因此,保存调用重叠。(将图像写入磁盘所需的时间比从函数返回所需的时间更长)
据我所知,save image函数是异步的,允许注册委托/回调(在传递nil的地方)
您可能应该等到一个图像写完后再开始另一个图像
您可以使用委托和回调对此进行设计。为了更好地为用户服务,并让他们了解正在发生的事情,您可以显示进度条和其他信息,如“已保存1/3图像”等
编辑:
为了获得更好的上下文,我查阅了文档:
UIImageWriteToSavedPhotosAlbum
函数声明如下:
void UIImageWriteToSavedPhotosAlbum (
UIImage *image,
id completionTarget,
SEL completionSelector,
void *contextInfo
);
您应设置completionTarget
(可能是self
)和completionSelector
,其应具有以下签名:
- (void) image: (UIImage *) image
didFinishSavingWithError: (NSError *) error
contextInfo: (void *) contextInfo;
在完成选择器中,您可以执行是否需要执行另一次保存的逻辑,并更新“进度”UI。快速连续保存图像可能是一个问题,因此,保存调用重叠。(将映像写入磁盘的时间比从函数返回的时间长)
据我所知,save image函数是异步的,允许注册委托/回调(在传递nil的地方)
您可能应该等到一个图像写完后再开始另一个图像
您可以使用委托和回调对此进行设计。为了更好地为用户服务,并让他们了解正在发生的事情,您可以显示进度条和其他信息,如“已保存1/3图像”等
编辑:
为了获得更好的上下文,我查阅了文档:
UIImageWriteToSavedPhotosAlbum
函数声明如下:
void UIImageWriteToSavedPhotosAlbum (
UIImage *image,
id completionTarget,
SEL completionSelector,
void *contextInfo
);
您应设置completionTarget
(可能是self
)和completionSelector
,其应具有以下签名:
- (void) image: (UIImage *) image
didFinishSavingWithError: (NSError *) error
contextInfo: (void *) contextInfo;
在完成选择器中,您可以执行是否需要执行另一次保存的逻辑,并更新“进度”UI