深入理解 [NSBundle mainBundle]
来源:互联网 发布:linux setfacl 编辑:程序博客网 时间:2024/05/16 02:52
转自: http://www.cnblogs.com/iihe602/archive/2013/01/17/2865280.html
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.
0 0
- 深入理解 [NSBundle mainBundle]
- NSBundle、[NSBundle mainBundle] 详解
- NSBundle 的理解和 mainBundle 类方法详解,nsbundlemainbundle
- [NSBundle mainBundle] 详解
- NSBundle以及mainBundle
- [[NSBundle mainBundle] infoDictionary]
- [NSBundle mainBundle] 详解
- NSBundle mainBundle
- [[NSBundle mainBundle] infoDictionary]
- [[NSBundle mainBundle] infoDictionary]
- [NSBundle mainBundle] 详解
- NSBundle MainBundle的路径
- [NSBundle mainBundle] infoDictionary
- [NSBundle mainBundle]加载文件用法
- 获取版本号[[NSBundle mainBundle] infoDictionary]
- 获取版本号[[NSBundle mainBundle] infoDictionary]
- IOS开发之 [[NSBundle mainBundle] infoDictionary]
- initWithNibName 和 [[NSBundle mainBundle] loadNibNamed] 的区别
- 前序为ABC,后序为CBA的二叉树共有多少棵
- PHP 学习2
- XSD、dtd不联网情况下可能出现的报错。
- java笔试题 2
- eclipse 的重构使用
- 深入理解 [NSBundle mainBundle]
- 文章标题
- HDU 4474 Yet Another Multiple Problem
- DirectX11 过滤器
- CentOS 6.5部署安装Memcached
- PHP递归实现无限级分类
- 如何限制对象只能建立在堆上或者栈上
- 项目32.6 输出小星星
- 笔记:Oracle SQL 高级查询简介 (2) 分析函数