我有一段客观的c代码:
UIImage *image = [ [UIImage alloc] initWithContentsOfFile:fileName];
fileName设置为“file1.jpg”
但是,当我运行代码时,image设置为nil。
我知道文件确实存在我猜它与路径有关。
我应该使用什么路径?
答案 0 :(得分:14)
最简单的用法是imageNamed:
,如下所示:
UIImage* theImage = [UIImage imageNamed:@"file1.jpg"];
如果由于某种原因需要使用initWithContentsOfFile:
,则需要从包中获取路径,如下所示:
NSString* path = [[NSBundle mainBundle] pathForResource:@"file1" ofType:@"jpg"];
UIImage* theImage = [[UIImage alloc] initWithContentsOfFile:path];
答案 1 :(得分:0)
要获得与代码相同的行为,以便您的图像不会自动释放
UIImage* image = [[UIImage imageNamed:fileName] retain];
答案 2 :(得分:0)
当然,图像必须在捆绑中 - 如果您将其拖入XCode中的项目并选择从选项中复制资源,它应该只是找到它。