dataWithContentsOfFile:NSData的文件路径有时可以工作,有时没有任何功能

时间:2011-03-21 14:05:26

标签: iphone

我使用下面的代码在应用包中加载图片文件。 代码有效! imageData不返回0x0

NSMutableString *sss;
sss=[[NSMutableString  alloc] initWithString: [[NSBundle mainBundle] resourcePath]];
[sss appendString:@"/"] ;
[sss appendString:@"thumbnail.png"];
NSData *imageData = [NSData dataWithContentsOfFile:sss];

但下面几乎一切都相同的代码没有任何功能,imageData总是DOES返回0x0,看起来像[NSData dataWithContentsOfFile:filepath]不能用于大尺寸图像文件

NSMutableString *sss;
sss=[[NSMutableString  alloc] initWithString: [[NSBundle mainBundle] resourcePath]];
[sss appendString:@"/"] ;
[sss appendString:@"original.png"];
NSData *imageData = [NSData dataWithContentsOfFile:sss];

thumbnail.png和original.png都位于主束的同一目录中。

thumbnail.png

thumbnail.png

original.png

original.png

欢迎任何评论

由于

马克

3 个答案:

答案 0 :(得分:3)

它与文件的大小无关。检查并查看您是否在代码中正确拼写了文件名。文件名区分大小写,因此如果文件名为original.PNG,那么您还需要确保它在代码中以这种方式编写。

确保已将original.png文件添加到项目中,如果是,请尝试将其从项目中删除并重新添加。将文件拖入项目时,请确保选中“复制文件...”选项。

答案 1 :(得分:1)

检查它是否真的包含在资源上。 检查该文件是否在: 目标/产品名称/复制捆绑资源

答案 2 :(得分:1)

我还认为该文件尚未添加到资源中。检查xcode项目中的“Resources”文件夹,如果不存在,请将其放在那里。通过在那里拖动它,或通过右键单击 - >新文件。