iOS 访问Bundle中的资源

举报
福州司马懿 发表于 2021/11/19 05:45:11 2021/11/19
【摘要】 首先在项目文件夹上右击(这是发现前面没写清楚,后来补的,所以项目名不一样) (1)添加文件是“Add Files” (2)添加目录结构是“New Group” 项目的文件目录如下 2个图片资源文件均分别在mainBundle和ResourceBundle的images子文件夹中 (1)访问mainBundle ...

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

(1)添加文件是“Add Files”

(2)添加目录结构是“New Group”


项目的文件目录如下


2个图片资源文件均分别在mainBundle和ResourceBundle的images子文件夹中

(1)访问mainBundle


  
  1. NSString *imagePath1 = [[NSBundle mainBundle] pathForResource:@"1" ofType:@"jpg"];
  2. UIImage *image1 = [UIImage imageWithContentsOfFile: imagePath1];
  3. [imageview1 setImage: image1];

(2)访问ResourceBundle


  
  1. NSString *bundlePath = [[NSBundle mainBundle] pathForResource:@"other" ofType @"bundle"];
  2. NSString *imagePath2 = [[NSBundle mainBundle] pathForResource:@"2" ofType:@"jpg" inDirectory @"images"];
  3. UIImage *image2 = [UIImage imageWithContentsOfFile: imagePath2];
  4. [imageview2 setImage: image2];

关键点总结:

(1)在mainBundle中的资源不用告诉Objective-C其所在的目录(如果指定了inDirectory,反而无法获取资源)

(2)在otherBundle中的资源需要显式指定其目录,否则无法获取其资源文件

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






文章来源: blog.csdn.net,作者:福州-司马懿,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/chy555chy/article/details/51638288

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。