2011-03-21 76 views
0

我使用下面的代码在应用程序包中加载图像文件。代码工作!为imageData不返回为0x0dataWithContentsOfFile:NSData的文件路径有时有效,有时没有功能

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

但低于几乎一切都是相同的代码没有功能,为imageData永远不会返回为0x0,它看起来像[NSData的dataWithContentsOfFile:文件路径]大尺寸图像文件

不起作用
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

欢迎任何评论

感谢

马克

+0

当你说*“Thumbnail.png和original.png都位于主包的同一目录中时”。*,你是指实际的* .app目录还是你在Xcode项目中看到它们同一文件夹? – DarkDust 2011-03-21 14:10:44

回答

3

它不会与文件大小有关。检查并查看您是否在代码中正确拼写了文件名。文件名是区分大小写的,所以如果文件名为original.PNG,那么你需要确保它在代码中也是这样写的。

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

+1

+1提及在iOS上FS区分大小写。 – DarkDust 2011-03-21 14:18:44

1

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

+0

嘿,很好的时机:) – 2011-03-21 14:14:33

+0

:)是啊,那是, – 2011-03-22 03:30:52

1

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

相关问题