【发布时间】:2010-11-21 12:36:20
【问题描述】:
有什么方法可以使用NSFileManager 或其他方式找到路径的父目录吗?
例如拿这个:
/path/to/something
把它变成
/路径/到/
【问题讨论】:
标签: objective-c cocoa path nsfilemanager
有什么方法可以使用NSFileManager 或其他方式找到路径的父目录吗?
例如拿这个:
/path/to/something
把它变成
/路径/到/
【问题讨论】:
标签: objective-c cocoa path nsfilemanager
NSString 方法 -stringByDeletingLastPathComponent 就是这样做的。
你可以这样使用它:
NSLog(@"%@", [@"/tmp/afolder" stringByDeletingLastPathComponent]);
它会记录/tmp。
【讨论】:
通常文件 URL 的类型为 NSURL。现在有一种方法可以用来获取父目录:
NSURL *parentDirectory = [fileURL URLByDeletingLastPathComponent];
【讨论】:
file:///,那么deletingLastPathComponent() 的结果将是file:///../。因此,在大多数情况下,您应该将其视为特殊情况。
您应该使用 URL 作为文件位置。如果您有一个字符串作为路径,我会将其转换为 URL。对于 Swift 3 使用
let fileURL: URL = URL(fileURLWithPath: "/path/to/something")
let folderURL = fileURL.deletingLastPathComponent()
【讨论】: