【问题标题】:NSLog statement to see if image exist to save to photo albumNSLog语句查看图片是否存在保存到相册
【发布时间】:2012-10-13 14:44:39
【问题描述】:

想检查 image0.png, image1.png, image2.png , image3.png, image4.png 是否真的存在。

 for (int i = 0; i<=61; i++) {
         NSString *imageName = [NSString stringWithFormat:@"image%d.png", i];
         UIImage *image = [UIImage imageNamed:imageName];
         UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; 
    UIImageWriteToSavedPhotosAlbum(imageView.image, self, @selector(image: didFinishSavingWithError:contextInfo:), nil);

如何编写 NSLog 语句来检查 image0.png, image1.png, image2.png , image3.png, image4.png 是否真的存在。每次它只保存 image0.png 图像。

感谢您的帮助。

【问题讨论】:

  • 好吧,如果我错了,请纠正我,但对于逻辑决策和分支,最好使用 if() 语句而不是调用 NSLog()...
  • 当我通过在语句 UIImageWriteToSavedPhotosAlbum(imageView.image, self, @selector(image: didFinishSavingWithError:contextInfo:), nil) 处添加断点在 LLDB 中进行调试时;并做 po uiimage 它没有显示任何结果。这就是我想用 NSLog 语句检查的原因

标签: iphone ios6 nslog


【解决方案1】:

你仍然可以使用 NSFileManager 的 fileExistsAtPath 方法来检查文件是否真的存在。

[UIImage imageNamed:] 从应用程序包中加载图像。因此,如果文件已经是捆绑包并且具有正确的名称作为您正在调用的文件,那么它应该已经加载。尝试从您的设备/模拟器中删除应用程序并重新加载。此外,通过检查目标的“复制捆绑资源”构建阶段,确保将所有位图复制到捆绑包中。

另外说明:在保存到库之前将 UIImage 加载到 UIImageView 是没有用的,除非你需要它进行一些其他处理......所以这行代码可能是多余的:

UIImageView *imageView = [[UIImageView alloc] initWithImage:image];

最后一行会变成:

UIImageWriteToSavedPhotosAlbum(image, self, @selector(image: didFinishSavingWithError:contextInfo:), nil);

希望这会有所帮助;)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-05
    • 1970-01-01
    相关资源
    最近更新 更多