OStack程序员社区-中国程序员成长平台

标题: iphone - 将多张图像保存到相机胶卷,只保存了一些 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 09:37
标题: iphone - 将多张图像保存到相机胶卷,只保存了一些

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

    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 张出现在相机胶卷中。

任何帮助都会很棒。 谢谢



Best Answer-推荐答案


为什么要调用 [copyOfImages removeLastObject]? 每次你通过那个外观时,你都在破坏最后一个对象,这很奇怪,因为你还没有将它添加到卷中。把那条线拿出来,看看你是否有效。

另外,不要使用 for 循环,而是使用以下模式:

for (id object in array) {
    // do something with object
}

这将枚举数组中的对象,当它到达末尾时停止。请确保在执行此操作时不要修改数组。

关于iphone - 将多张图像保存到相机胶卷,只保存了一些,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7949981/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4