【问题标题】:how to get URL Path for directory inside Document directory?如何获取文档目录中目录的 URL 路径?
【发布时间】:2013-02-02 23:23:42
【问题描述】:

如何获取文档目录中特定目录的 url 路径。

点赞Document/Art/

我的代码

- (NSURL *)localRoot {
if (_localRoot != nil) {
    return _localRoot;
}

NSArray * paths = [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask];

_localRoot = [paths objectAtIndex:0];
return _localRoot;
}

上面的代码是Documents目录的url路径,但我需要Art文档目录路径。

【问题讨论】:

标签: iphone directory nsfilemanager


【解决方案1】:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *documentsDirectory = [paths objectAtIndex:0];

NSString *yourArtPath = [documentsDirectory stringByAppendingPathComponent:@"/Art"];

【讨论】:

  • - (NSURL *)localRoot { if (_localRoot != nil) { return _localRoot; } NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *artdirectoryPath = [documentsDirectory stringByAppendingPathComponent:@"/Art"]; _localRoot=[NSURL URLWithString:artdirectoryPath];返回_localRoot; } 这是我更新的代码,但我仍然有错误..
  • 同时转到路径 -[NSFileManager contentsOfDirectoryAtURL:includingPropertiesForKeys:options:error:]: URL is nil'
  • 当我们使用路径组件时,组件中不需要添加“/”
【解决方案2】:

使用这个

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *documentsDirectory = [paths objectAtIndex:0];

NSString *appFile_a = [documentsDirectory stringByAppendingPathComponent:@"/Art"];

【讨论】:

  • 它的 NSString 我需要 NSURL 所以我将使用哪个方法插入 stringByAppendingPathComponent:
  • 也添加这一行 NSURL *url = [NSURL URLWithString:appFile_a];
  • NSString *appFile_a = [documentsDirectory stringByAppendingPathComponent:@\"Art\"];在 `@"\Art" 处有错误`
【解决方案3】:

Application.StartupPath;

用于查找启动应用程序的路径,如果这是您的意思的话。

【讨论】:

  • 对不起,我是初学者,我在运行 /Users/XXXX/Library/Application Support/iPhone Simulator/6.0/Applications/8A1E5A56-F85B-4128-83F9-208643469DB3/Documents 时得到了这个网址
【解决方案4】:

基于上面的答案,这里是一个简单的方法,返回给定目录的路径:

+ (NSString *) pathFor : (NSString *) directoryName{
    return [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:directoryName];
}

你需要在ClassName.m中实现它并调用为:

NSString *pathForDirectory = [ClassName pathFor:dirName]; //@"Art" in your case

【讨论】:

    猜你喜欢
    • 2015-03-29
    • 1970-01-01
    • 2010-10-31
    • 2014-04-21
    • 2015-12-07
    • 2011-10-28
    • 1970-01-01
    • 1970-01-01
    • 2011-01-11
    相关资源
    最近更新 更多