1、[NSBundle mainBundle],文件夹其实是Group,如左侧的树形文件管理器

Build之后,文件直接就复制到了根目录下,于是读取的方法,应该是这样:

NSString *earth = [[NSBundle mainBundle] pathForResource:@"Brad Cox" ofType:@"png"];

2、使用文件夹的时候,Build结果

依然使用同样的方法,不需要制定文件夹路径

//inDirectory参数可有可无
NSString *earth = [[NSBundle mainBundle] pathForResource:@"Matthijs" ofType:@"png" inDirectory:@"Images/MoreImages"];
NSString *earth = [[NSBundle mainBundle] pathForResource:@"Matthijs" ofType:@"png"];

编译之后,mainBundle的资源都是放到RootFolder下,所以,可以直接访问,不要指定内部路径

3、使用其他的Bundle

NSString *resourceBundle = [[NSBundle mainBundle] pathForResource:@"Resources" ofType:@"bundle"];
    NSLog(@"resourceBundle: %@", resourceBundle);
    NSString *earth = [[NSBundlebundleWithPath:resourceBundle] pathForResource:@"Matthijs"ofType:@"jpg"inDirectory:@"Images/MoreImages"];
    NSLog(@"path: %@", earth);

使用Custom bundle,访问内部的子文件夹,需要指定inDirectory参数,这个mainBundle不同,这是为何?

注意:Since
bundles other than the main bundle can have folders embedded inside them, to access
files inside folders of a bundle other than the main bundle it is best to use the pathFor
Resource:ofType:inDirectory: method of NSBundle to explicitly specify the folder in
which a specific file/resource exists.

from:http://www.cnblogs.com/iihe602/archive/2013/01/17/2865280.html

转载于:https://www.cnblogs.com/xuan52rock/p/5114120.html

【转】NSBundle的使用,注意mainBundle和Custom Bundle的区别相关推荐

  1. Button的custom、system区别 selected、highlighted区别;

    custom.system区别 selected.highlighted区别: (1)UIControlStateHighlighted 多用于初始化 button 时 例如:设置它被按下时的高亮图片 ...

  2. Postgresql源码(106)Generic Plan与Custom Plan的区别(以分区表为例)

    相关: <Postgresql源码(105)分区表剪枝代码分析> <Postgresql源码(106)Generic Plan与Custom Plan的区别(以分区表为例)> ...

  3. NSBundle 的理解和 mainBundle

    http://www.360doc.com/content/15/0629/10/20918780_481405304.shtml

  4. 【 iOS 应用开发 】 UIKit 控件 ( 代码生成控件 | UIView 属性方法 | Storyboard | Bundle | Property List | 动画 | 图片内存优化 )

    文章目录 一. 代码生成控件 1. 创建设置项目 ( 1 ) 创建项目 ( ① 选择 Create a new Xcode project | ② 创建 Single View Application ...

  5. iOS UITableView的使用大全-备用

    首先.对UITableView进行讲解,下面有对它进行实际的应用 UITableView 显示大型内容的列表 单行,多列 垂直滚动,没有水平滚动 大量的数据集 性能强大,而且普遍存在于iPhone的应 ...

  6. WWDC 2014 Session笔记 - 可视化开发,IB 的新时代

    本文是我的 WWDC 2014 笔记 中的一篇,涉及的 Session 有 What's New in Xcode 6 What's New in Interface Builder 如果说在 WWD ...

  7. UITableView 系列五 :自定义UITableViewCell (实例)

    有时候我们需要自己定义UITableViewCell的风格,其实就是向行中添加子视图.添加子视图的方法主要有两种:使用代码以及从.xib文件加载.当然后一种方法比较直观. 我们这次要自定义一个Cell ...

  8. iphone之Info.plist的属性

    1.) <key>BadgeStyle</key> 设置这个属性就是修改通知标记 出现在未接电话短信邮件的那个小数字 可以改变字体 颜色 位置等 2.) <key> ...

  9. iOS常见控件的基本使用

    文章目录 @[toc] UI相关类继承关系 UIView 常见属性和方法 1. UIView属性 3. UIControl 常用控件 1. UIImageView 图片显示控件(android Ima ...

  10. iOS WKWebView基本使用

    WKWebView加载网络文件 在ViewController里面新建一个wkwebview属性, 我们初始化它并且加入到视图中来,加载https://www.baidu.com这个URL. - (v ...

最新文章

  1. 学习Guava Cache知识汇总
  2. hello rocketMQ
  3. Spring源码剖析——Bean的配置与启动
  4. 个性化背词软件 更新ing(9-4)
  5. python算法与数据结构-数据结构中常用树的介绍(45)
  6. 2场直播丨MySQL 数据库最常见的 6 类故障的排除方法、2020数据技术嘉年华·金融峰会暨数据库大咖讲坛(第4期)...
  7. 如何在input输入框中加一个搜索的小图片_仿淘宝搜索栏
  8. java api存在问题改进措施_Sonar常见问题解决方案
  9. UE4 视频播放打包Pak内
  10. MATLAB常用代码(完结)
  11. vmplayer虚拟机中如何找到网络配置的窗口
  12. java实现调用百度图像识别API,批量识别车辆车型、颜色等信息
  13. AutoCAD快速入门(二十九):视口
  14. 表格如何把边框线条加粗
  15. 转:时域错误隐藏个人理解_Phinex的博客_雅虎博客_雅虎空间
  16. 编程的思想是什么,如何建立编程思想,如何训练和提高编程思想?
  17. web自动化测试01
  18. 计算机网络自顶向下学习摘要
  19. dcdc降压电路基本原理及设计实例
  20. Labview温度采集系统(状态机)

热门文章

  1. 20岁生日 nyoj 312(闰年算法)
  2. webpack 打包第三方库_webpack提取第三方库的正确姿势
  3. oracle 主键自增函数_在 Oracle 中设置自增列
  4. 【UVA1592】Database (字符串读入技巧和map的使用)
  5. java bigdecimal语法_Java Scanner hasNextBigDecimal()方法
  6. 组件中使用_Cocos Creator中Button组件使用详解
  7. Python basemap模拟导弹发射
  8. hbuilder能写php项目吗,如何在Android中使用HBuilder中的项目
  9. php上证指数抽奖代码,[高手指点] 美团网的抽奖是什么原理?
  10. matlab在图像处理中的应用实验,MATLAB实验Matlab在数字图像处理中的应用