首先在项目文件夹上右击(这是发现前面没写清楚,后来补的,所以项目名不一样)
(1)添加文件是“Add Files”
(2)添加目录结构是“New Group”
项目的文件目录如下
2个图片资源文件均分别在mainBundle和ResourceBundle的images子文件夹中
(1)访问mainBundle
NSString *imagePath1 = [[NSBundle mainBundle] pathForResource:@"1" ofType:@"jpg"];
UIImage *image1 = [UIImage imageWithContentsOfFile: imagePath1];
[imageview1 setImage: image1];
(2)访问ResourceBundle
NSString *bundlePath = [[NSBundle mainBundle] pathForResource:@"other" ofType @"bundle"];
NSString *imagePath2 = [[NSBundle mainBundle] pathForResource:@"2" ofType:@"jpg" inDirectory @"images"];
UIImage *image2 = [UIImage imageWithContentsOfFile: imagePath2];
[imageview2 setImage: image2];
关键点总结:
(1)在mainBundle中的资源不用告诉Objective-C其所在的目录(如果指定了inDirectory,反而无法获取资源)
(2)在otherBundle中的资源需要显式指定其目录,否则无法获取其资源文件
原先的理解不对,应改为:如果当时添加的是文件夹则需要添加目录;如果是直接添加文件,则访问时不需要添加目录。