iOS开发:相对路径与相对工程名
来源:互联网 发布:工业视觉软件 编辑:程序博客网 时间:2024/05/21 05:38
一、绝对路径与相对路径1
iOS程序有固定的文件访问限制,只能在自己的沙盒内。
UIImage *img=[UIImage imageNamed:@"cellicon.png"];
这段代码从相对路径加载了一个png图片资源作为UIImage对象,没有任何问题。因为它在内部已经偷偷得帮你把路径转化为相对路径了,你还不知道吧!
接下来,如果要加载一些自定义格式的文件或者数据,就会出现相对路径和绝对路径的问题。比如
//newPath为一个字符串路径,这里的路径你却不能像上面那样 NSFileHandle *fileHandle=[NSFileHandle fileHandleForReadingAtPath:newPath];
//这样系统是找不到文件的,因为这里需要的是文件的绝对路径,而@“test.txt”完全是无效的。 NSFileHandle *fileHandle=[NSFileHandle fileHandleForReadingAtPath:@"test.txt"];
这个时候就需要NSBundle的帮忙了,这个类专门用来负责路径转化等等功能。大家都知道ios项目虽然在xcode下可以创建文件夹结构,但是实际上它是没有文件结构概念的,所以此时假如要加载放在项目目录下的test.txt文件,完整的代码应该是这样
//方法1: NSString *newPath=[NSString stringWithFormat:@"%@%@%@",[[NSBundlemainBundle]resourcePath],@"/",path]; NSLog(@"url=%@",newPath); NSFileHandle *fileHandle=[NSFileHandle fileHandleForReadingAtPath:newPath];
此处[NSBundle
控制台输出app路径resourcePath:
/Users/zouzouyanghong/Library/Application
控制台输出拼接后完整文件绝对路径:
/Users/zouzouyanghong/Library/Application
//方法2:NSString *newPath=[[NSBundle mainBundle] pathForResource:@"test" ofType:@"txt"];NSFileHandle *fileHandle=[NSFileHandle fileHandleForReadingAtPath:newPath];
[[NSBundle
二、绝对路径与相对路径2
另外一处我们用到绝对路径与相对路径的地方就是我们在xcode里面配置包含工程目录下头文件的时候,都要关联着相对路径和绝对路径,如果只是自己用这个项目,用绝对路径的问题不大。
如果你把工程发给别人,别人就要修改这个绝对路径,这时候绝对路径的缺点立马出现。
1、所以在修改 Header Search Paths这个选项的时候使用
"$(SRCROOT)/当前工程名字/需要包含头文件所在文件夹"
将上面的双引号里面的字符串拷贝之后,你会发现这个“$(SRCROOT)”,会自动变成当前工程所在的文件夹。
这样就可以了,发给别人,别人也不用在去修改路径了。
2、设置PCH的相对路径
绝对路径:
要想设置PCH的相对路径,首先我们需要去查看绝对路径。
点击PCH文件,Xcode的右侧会显示PCH的属性。这里我们可以获取到PCH的绝对路径。
设置相对路径:从工程的路径开始,前面使用$(SRCROOT)代替,即为PCH的相对路径。
在Xcode的target配置中,在Build Setting中找到Prefix Header,将修改后得到的相对路径添加到其中,并将Precompile Prefix Header的值设置为YES。
运行工程,PCH相对路径设置成功。
三、使用相对工程名
你有可能会在填Prefix Header 即pch文件的路径那里报错,最近又学习到一种更好的方式:
$(SRCROOT)/$(PROJECT_NAME)/PrefixHeader.pch
,
其中$(PROJECT_NAME)
是相对工程名,比上面的方法更便捷.
- iOS开发:相对路径与相对工程名
- iOS开发之Xcode 相对路径与绝对路径
- iOS开发中不要使用相对路径
- iOS开发中不要使用相对路径
- IOS相对路径
- iOS设置相对路径
- iOS相对路径
- 项目开发中的绝对路径与相对路径 .
- source_insight工程的相对路径
- Source insight 工程相对路径
- 工程/文件目录,相对路径
- 相对路径与绝对路径
- 绝对路径与相对路径
- 相对路径与绝对路径
- 相对路径与绝对路径
- 相对路径与绝对路径
- GetFileAttributes与相对路径
- 相对路径与绝对路径
- spring-data-elasticsearch api
- 关于Android的layout_weight
- 解决方案-支持各种屏幕密度
- CopyOnWriteArrayList与Collections.synchronizedList的性能对比
- Shallow and Deep Convolutional Networks for Saliency Prediction
- iOS开发:相对路径与相对工程名
- 做SEO的我们是必要先了解看搜索引擎的工作原里
- android标题栏详细讲解(1,2)
- Linux IPC之Socket网络编程基础篇
- PHP中遍历数组元素的几种方法
- Java关键字final、static使用总结
- SQL数据库备份恢复助手 V2.7.6 官方免费版
- Eclipse下启动tomcat报错:The archive: C:/Program Files(x86)/Java/jdk1.7.0_10/lib/tools.jar which is refere
- dubbo配置hessian+dubbo协议共存