31

Is there any way to find the parent directory of a path using NSFileManager or something?

e.g. Take this:

/path/to/something

And turn it into

/path/to/

Binarian
  • 11,710
  • 8
  • 50
  • 82
indragie
  • 17,634
  • 15
  • 89
  • 161

3 Answers3

70

The NSString method -stringByDeletingLastPathComponent does just that.

You can use it like this:

NSLog(@"%@", [@"/tmp/afolder" stringByDeletingLastPathComponent]);

And it will log /tmp.

Binarian
  • 11,710
  • 8
  • 50
  • 82
Jon Hess
  • 14,137
  • 1
  • 45
  • 51
16

Usually file URLs are of type NSURL. There's now a method you can use to grab the parent directory: NSURL *parentDirectory = [fileURL URLByDeletingLastPathComponent];

mikeho
  • 6,080
  • 2
  • 31
  • 46
8

You should use URL for file locations. If you have a path as String I would convert it to URL. For Swift 3 use

let fileURL: URL = URL(fileURLWithPath: "/path/to/something")
let folderURL = fileURL.deletingLastPathComponent()
Binarian
  • 11,710
  • 8
  • 50
  • 82