iphone - 将多张图像保存到相机胶卷中,仅保存了几张

标签 iphone objective-c ios

我正在尝试将一些图像保存到相机胶卷中,所有图像都在一个数组中。

    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/

相关文章:

iphone - 如何使用 Core Graphics(用于手指绘画)创建浮雕或阴影效果

javascript - iPad 上的 jQuery 鼠标悬停

iphone - Restkit映射错误

ios - scheduledLocalNotifications 数组为空

ios - 如何使用 SFAuthenticationSession 注销

iphone - iPhone 中的 Force.com Enterprise WSDL

objective-c - 当一个整数相加或相乘超过其限制时会发生什么

iphone - 将 UIImage 传递给第二个 View Controller 会延迟转换

ios - UIButton 没有正确定位自己并且没有出现在某些设备中 - Objective C

ios - Ekevents 在日历中多次添加?