NSBundle的使用,注意mainBundle和Custom Bundle的区别

简介: 1、[NSBundle mainBundle],文件夹其实是Group,如左侧的树形文件管理器 Build之后,文件直接就复制到了根目录下,于是读取的方法,应该是这样: NSString *earth = [[NSBundle mainBundle] pathForR...

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.
如何联系我:【万里虎】www.bravetiger.cn 【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起) 【博客】http://www.cnblogs.com/kenshinobiy/
目录
相关文章
|
3月前
|
ARouter Android开发
Android不同module布局文件重名被覆盖
Android不同module布局文件重名被覆盖
|
8月前
|
JavaScript
call、apply、bind的使用场景区分(js的问题)
call、apply、bind的使用场景区分(js的问题)
29 0
|
Android开发
Android中 Bundle类的作用
Android中 Bundle类的作用
什么是 Bundle ID​
什么是Bundle ID​ 登录成功后我们可以看到弹出的消息提示“您账号未支付 688 给 apple,只能创建开发证书,无法提交上传发布,无法使用 apple 登录,支付,推送功能”,简单来说就是只能使用此款软件进行内测,不能上架。​
App is not indexable by Google Search; consider adding at least one Activity with an ACTION-VIEW in
App is not indexable by Google Search; consider adding at least one Activity with an ACTION-VIEW in
135 0
|
安全 Android开发 数据安全/隐私保护
【Android 安全】DEX 加密 ( Application 替换 | 修改 LoadedApk 中的 mApplicationInfo 成员的 className 名称 )
【Android 安全】DEX 加密 ( Application 替换 | 修改 LoadedApk 中的 mApplicationInfo 成员的 className 名称 )
123 0
|
安全 数据安全/隐私保护 Android开发
【Android 安全】DEX 加密 ( Application 替换 | 替换 LoadedApk 中的 Application mApplication 成员 )
【Android 安全】DEX 加密 ( Application 替换 | 替换 LoadedApk 中的 Application mApplication 成员 )
169 0
|
前端开发 Android开发
React Native之react-native bundle --platform android --dev false --entry-file index.js --bundle失败
React Native之react-native bundle --platform android --dev false --entry-file index.js --bundle失败
163 0
|
前端开发 Android开发
React Native之提示Unable to load script from assets ‘index.android.bundle
React Native之提示Unable to load script from assets ‘index.android.bundle
128 0
|
IDE Java Go
tools:context用法
tools:context用法
562 0

热门文章

最新文章

下一篇
开通oss服务