最新消息:iOS编程开发交流群(6906921) ,Mac.Cocoa开发交流群(7758675) 欢迎iOS/macOS开发编程爱好及学习者加入!

iOS开发之绝对路径与相对路径详解

iOS 天狐 7772浏览 0评论
在计算机中里只要涉及文件的地方(如超级链接、文件、图片等)就会涉及绝对路径与相对路径的概念。iOS 也是如此。有的时候我们需要把文件路径存储起来,无论是数据库和还是远程服务器

 

绝对路径

绝对路径是指文件在(文件系统)电脑硬盘或者手机存储上真正存在的路径。

以iPhone文件系统为例,例如模拟器中“pic.png”这个图片是存放在app的沙盒Documents

“/Users /Jakey/Library/Developer/CoreSimulator/Devices/825FCFAB-B70D-4392-B5AA- 351F391242AF/data/Containers/Data/Application/C5011D63-F123-4A2D- AD19-131B6513EA43/Documents/pic.png”目录下,

那么 “pic.png”这个app的绝对路径就是“/Users/Jakey/Library/Developer/CoreSimulator /Devices/825FCFAB-B70D-4392-B5AA-351F391242AF/data/Containers/Data/Application/C5011D63-F123-4A2D-AD19-131B6513EA43/Documents/pic.png"

那么如果要使用绝对路径指定使用图片就是 以下语句:

2.使用绝对路径的缺点
事实上,在app开发时,很少会使用绝对路径,如果使用“/Users/Jakey/Library/Developer/CoreSimulator /Devices/825FCFAB-B70D-4392-B5AA-351F391242AF/data/Containers/Data /Application/C5011D63-F123-4A2D-AD19-131B6513EA43/Documents/pic.png”来指定图 片的位置,但是我们知道每次启动app可能 Documents 路径就变了, 很有可能不会显示图片了。

相对路径

为了 避免这种情况发生,通常在app里指定文件时,都会选择使用相对路径。所谓相对路径,就是相对于自己的目标文件位置。例如上面的例子,程序里引用了 “pic.png”图片,由于“pic.png”图片相对于“沙盒Documents”来说,是在Documents的根目录下的,那么要在代码里使用以 下代 码后,只要这两个文件的相对位置没有变(也就是说还是在Documents根目录内),那么无论Documents之前的url如何改变,我们都能访问到 “pic.png”

存储的时候我们只需要存储pic.png,使用的时候用Documents拼上pic.png即可

FAQ

如果之前存的绝对路径怎么办?

很简答,substring 或着repalcestring到Documents即可,这些就是NSString 的API使用了,这里不做讲解

转载请注明:天狐博客 » iOS开发之绝对路径与相对路径详解

微信 OR 支付宝 扫描二维码
为天狐 打赏
非常感谢你的支持,哥会继续努力!
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址