书法字典:https://www.shufadict.com

获取IOS应用的子目录

在开发IOS应用时,我们经常需要将素材分类,并放入相应地子目录中。

在开发代码时,需要访问这些素材时,就需要获取对应的子目录路径。那么如何获取呢?

获取应用路径

首先,要找到应用所在的路径。

NSString *bundlePath = [[NSBundle mainBundle] bundlePath];

获取子目录路径

假设有一个子目录名字叫做images,那么可以按照下面的方法获取其路径。

NSString *imagePath = [bundlePath stringByAppendingPathComponent:@"images"];

找到这个路径就OK了,从这里开始,你就可以为所欲为了,比如遍历子文件夹中所欲的文件等。

别高兴太早

即使有了上面的代码,你也不一定会成功,为什么呢?因为IOS应用默认的文件组织结构是平坦(flat)模式,也就是没有子目录!你在Xcode中可以看到很多目录,但是生成的文件中却没有子目录。导致上面的代码失效。怎么办?

  1. 将你要添加的子目录拖拽到XCode中(或者右键单击工程选择-添加文件到工程),
  2. 在弹出的对话框中要选择 "Create Folder References for any added folders",切记!

如果我的子文件夹已经添加到了工程中,但是没有选择"Create Folder References for any added folders"怎么办?

没关系,直接删除他,删除的时候选择Remove References. 不要Move to Trash,然后重新添加一按照上面的步骤添加一次即可。

另外一个方法是在Build Parse中的 Copy Bundle Resources选项下设置。如下图所示,把要copy的子目录添加进去即可。

不同颜色的文件夹

在XCode中,有两种颜色的文件夹,一种是黄色,一种是蓝色,只有蓝色得文件夹才会被copy到app目录中,黄色的文件夹只是用来组织文件的,并不代表应用的最终结构!

Happy Coding!!!

posted on   翰墨小生  阅读(4640)  评论(1编辑  收藏  举报

编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 单线程的Redis速度为什么快?
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
书法字典:https://www.shufadict.com
点击右上角即可分享
微信分享提示