Ios 如何返回当前目录(“;”;),父目录(“;.”;)的URL

Ios 如何返回当前目录(“;”;),父目录(“;.”;)的URL,ios,swift,Ios,Swift,我想在tableView中列出用户文档目录的所有内容,包括当前目录(“.”)和父目录(“…”) 它工作正常,但不显示当前目录和父目录 出于测试原因,我编写了以下代码: if let enumerator = fileManager.enumerator(at: URL(string: documentsPath)!, includingPropertiesForKeys: nil, options: [], errorHandler: nil) { for

我想在tableView中列出用户文档目录的所有内容,包括当前目录(“.”)和父目录(“…”)

它工作正常,但不显示当前目录和父目录

出于测试原因,我编写了以下代码:

if let enumerator = fileManager.enumerator(at: URL(string: documentsPath)!, includingPropertiesForKeys: nil, options: [], errorHandler: nil)
        {
            for item in enumerator{
                print(item)
            }
        }
那么如何列出当前目录和父目录呢

非常感谢您的帮助

你可以试试这个

Swift

var pathStr: String = "/path/abc"
let fileURL: URL = URL(fileURLWithPath: pathStr)
let parentUrl = fileURL.deletingLastPathComponent()
print("Parent Directory url : \(parentUrl)")
注意:不要使用swift语法

目标-C

NSString *pathStr = @"/path/abc";
NSURL *parentUrl = [NSURL URLWithString:[NSString stringWithFormat:@"%@", [pathStr stringByDeletingLastPathComponent]]];
NSLog(@"Parent Directory url: %@",parentUrl);

我知道这是旧的,但万一有人浏览;您可以使用URLResourceKey获取以下信息:

func simpleReadDirectoryClean(path: String)  {
    //where path looks like "FolderInMyBundle/Docs"

    let fm = FileManager.default

    let resourceKeys : [URLResourceKey] = [.nameKey, .isDirectoryKey, .parentDirectoryURLKey]
    let bundleURL = Bundle.main.resourceURL?.appendingPathComponent(path)

    let enumerator = fm.enumerator(at: bundleURL!, includingPropertiesForKeys: resourceKeys)!

    for case let item as URL in enumerator {
        let resourceInfo = try? item.resourceValues(forKeys: Set(resourceKeys))

        print("-------------- under folder \(path)")
        print("******\(resourceInfo!.isDirectory! ? "Folder" : "File"): \(item.lastPathComponent)")
        print("Parent folder name: \(String(describing: resourceInfo!.parentDirectory?.lastPathComponent))")
        print("Parent folder full path: \(String(describing: resourceInfo!.parentDirectory))")

    }

}

有了这段代码,我可以切换到paret目录,但这不是我想要的。我正在寻找一种解决方案,以便在控制台(或最终在我的tableView中)中真正打印出
。“
(父目录)和
(当前目录)哦,我明白了,您的意思是如果用户单击cd。或cd。。像终端行为一样?为了更清楚:记住终端命令'ls-la',它显示当前目录和父目录的'.'和'...'。编辑:是的,这就是我的意思:-)我仍然找不到解决方案,有人有想法吗?