在Objective C中将相对URL更改为绝对URL

Gle*_*ith 3 url xcode objective-c relative-path absolute-path

我如何获取应用程序目录中的文件(.app所在的文件夹),并获取它的绝对路径.假设相对路径是"Data/file.txt",我如何使用Objective C将其作为绝对路径?我有用户输入他们的主文件夹名称,如果这是任何帮助.

请帮忙,

HiGuy

Dav*_*ong 14

我会使用NSURL为我解析URL 的方法,如下所示:

NSURL * bundle = [[NSBundle mainBundle] bundleURL];
NSURL * file = [NSURL URLWithString:@"../Data/file.txt" relativeToURL:bundle];
NSURL * absoluteFile = [file absoluteURL];
Run Code Online (Sandbox Code Playgroud)

"../"是必要的,因为否则它会尝试您的应用包中找到该文件.预先设置"../"将告诉它查看包含的文件夹,而不是包本身.此外,-[NSBundle bundleURL]是一个10.6+ API,但使用NSURL便捷方法复制功能是微不足道的-[NSBundle bundlePath].