博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【转】NSBundle的使用,注意mainBundle和Custom Bundle的区别
阅读量:5329 次
发布时间:2019-06-14

本文共 1319 字,大约阅读时间需要 4 分钟。

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

你可能感兴趣的文章
shell cat 合并文件,合并数据库sql文件
查看>>
Android 将drawable下的图片转换成bitmap、Drawable
查看>>
介绍Win7 win8 上Java环境的配置
查看>>
Linux设置环境变量的方法
查看>>
构建自己的项目管理方案
查看>>
利用pca分析fmri的生理噪声
查看>>
div水平居中且垂直居中
查看>>
epoll使用具体解释(精髓)
查看>>
AndroidArchitecture
查看>>
安装Endnote X6,但Word插件显示的总是Endnote Web"解决办法
查看>>
python全栈 计算机硬件管理 —— 硬件
查看>>
大数据学习
查看>>
简单工厂模式
查看>>
Delphi7编译的程序自动中Win32.Induc.a病毒的解决办法
查看>>
Objective-C 【关于导入类(@class 和 #import的区别)】
查看>>
倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-点击运行按钮进入到运行状态报错Error starting TwinCAT System怎么办 AdsWarning1823怎么办...
查看>>
【转】javascript 中的很多有用的东西
查看>>
Android 监听返回键、HOME键
查看>>
Android ContentProvider的实现
查看>>
sqlserver 各种判断是否存在(表名、函数、存储过程等)
查看>>