我正在尝试将一些图像保存到相机胶卷中,所有图像都在一个数组中。
if (buttonIndex == 1) {
int done = 0;
NSMutableArray *copyOfImages = [[NSMutableArray alloc]initWithArray:saveImagesToArray];
while (!done == 1){
if (copyOfImages.count == 0) {
done = 1;
}
if (copyOfImages.count > 0){
[copyOfImages removeLastObject];
}
UIImage *image = [[UIImage alloc]init];
image = [copyOfImages lastObject];
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
}
}
因为我不知道可以有多少图像,所以我使用 while 循环
我用 8 个图像进行测试,数组显示计数为 8,所以很好。
当我尝试保存图像时,控制台中会出现该图像。
-[NSKeyedUnarchiver initForReadingWithData:]: data is NULL
在我尝试的 8 张图像中,只有 5 张出现在相机胶卷中。
任何帮助都会很棒。 谢谢:)
最佳答案
为什么要调用[copyOfImages removeLastObject]
?
每次你经历那个外观时,你都会破坏最后一个物体,这很奇怪,因为你还没有将它添加到卷中。取出那条线,看看是否有效。
此外,不要使用 for 循环,而是使用以下模式:
for (id object in array) {
// do something with object
}
这将枚举数组中的对象,并在到达末尾时停止。请确保在执行此操作时不要修改数组。
关于iphone - 将多张图像保存到相机胶卷中,仅保存了几张,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7949981/