Xcode folder(蓝色文件夹) 和 group(黄色文件夹)的区别

XCode工程目录里面,有时你会发现2个不同颜色的文件夹,一种是蓝色的,一种是黄色的,最常见的是黄色的,当然还有蓝色的文件夹

Xcode folder(蓝色文件夹) 和 group(黄色文件夹)的区别

folder:蓝色文件夹

group:黄色文件夹

folder 只能作为资源,整个引用进项目(文件夹里面的东西都会直接拷贝到 bundle 包),不能编译代码,也就是说,以folder形式引用进来的文件,不能被放在complie sources列表里面。

group 参与编译.一般只在你的工程中是文件夹的形式,但是在本地的目录中还是以散乱的形式放在一起的,除非你是从外部以group的形式引用进来的。

来上图看下吧

folder 和 group

 上图所示,蓝色的是folder 黄色的是group。 那么它们有什么区别呢?

1. group 和 folder的区别

group 一般只在你的工程中是文件夹的形式,但是在本地的目录中还是以散乱的形式放在一起的,除非你是从外部以group的形式引用进来的。

folder 只能作为资源,整个引用进项目,不能编译代码,也就是说,以folder形式引用进来的文件,不能被放在complie sources列表里面。

2. 以folder的形式引用文件

我拖动外部的文件夹 WebViewJavascriptBridge 到我的xcode工程目录下面

会弹出对话框,如图


copy,是指文件不在项目的目录下面,例如项目在桌面上,文件在 Download 下,你 copy 就会被复制到项目里面。如果文件原本就在项目里面,则不执行任何操作。这里不管它,重点是 下面的单选框。

这里我选择的是以folder的形式引用文件夹,点击完成,如下图所示,文件夹是蓝色的,并且编译文件列表里面没有 webviewjavascriptBridge.m这个文件,证明文件夹引用,只会引用文件夹,文件夹里面的东西都会直接拷贝到 bundle 包,不参与编译。


2. 以group的形式引用文件

回到1的第一步,选中 create groups for any added folders ,点击完成,则如下图所示,文件夹是黄色的,并且编译文件列表里面神奇的存在了 webviewjavascriptBridge.m这个文件



最近在处理一些工程时候,偶尔注意到,工程文件里面添加了一些新的样式图标。什么样子呢,先看图,赫赫。
 
工程中的蓝色文件夹和以前习惯的黄色文件夹是不是不太一样。
今天简单总结一下Folder References and Groups 参考文件夹和分组
1. Group 分组

在xCode的工程中,右键New Group, 即可创建,也就是黄色的文件夹。
工程中想要分类管理的文件,可以分门别类的放在不同的group里面
group本身不影响文件的物理存放,也就是实际存放位置,只是在Project文件中
2.Folder reference
在管理大量资源文件时候,利用foler reference可方便和实际文件夹构造保持一致.
下面是一个简单的创建过程
Step1:  导入文件时选择Reference
 
Step2:在代码中调用
 
这时候就不能直接用文件名调用了,需要指定相对文件夹的位置。
譬如说我们在group直接导入时,用的是


//Group情况
UIImage *image = [UIImage imageNamed:@"someImage.png"];
//Reference情况 I
UIImage *image = [UIImage imageNamed:@"Cats/Dogs/someImage.png"];
//Reference情况 II
NSString *fullPath = [[NSBundle mainBundle] pathForResource:@"someImageFile.png" ofType:nil
inDirectory:@"Cats/Dogs"];
UIImage *image = [UIImage imageWithContentsOfFile:fullPath];

注意的几个事情
1.导入文件时候,一个文件夹里面有多个子文件夹时,根据需要选择Group形式还是Reference形式导入。
group的好处时,一个逻辑结构引入,物理文件实际都在工程中直接用文件名调用即可。
尤其是在引入外部的Lib时候,需要选择该类型,否则编译时候出错概率会很大
2.folder reference的好处更像是在一个工程中可以引入不同的文件夹,文件名可以复用。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值