iOS 访问Bundle中的资源

首先在项目文件夹上右击(这是发现前面没写清楚,后来补的,所以项目名不一样)

(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中的资源需要显式指定其目录,否则无法获取其资源文件

原先的理解不对,应改为:如果当时添加的是文件夹则需要添加目录;如果是直接添加文件,则访问时不需要添加目录。






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值