views:

56

answers:

2

Hi,

New to Objective C. I have created a few directories which contain pdf files for an iPhone app. How can I delete a directory and its contents using NSFileManager?

Do I need to loop through and remove the contents first? Any code samples would be much appreciated.

Thanks in advance.

+1  A: 

To start off, it would be wise to look through Apple's NSFileManager documentation for the iPhone: NSFileManager Class Reference. Second, look at NSFileManager's -removeItemAtPath:error: method and its documentation. That's what you're looking for.

itaiferber
If I pass a directory to -removeItemAtPath:error: will it also remove the contents? Sounds like a silly question, but the only other example I have found delete the contents of the directory first.
Yes, it will, and if you are ever in doubt about something, just set up a tiny test program to see if it does.
itaiferber
A: 

Heres some code I use that Ive edited to suit the question

- (NSMutableString*)getUserDocumentDir {
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSMutableString *path = [NSMutableString stringWithString:[paths objectAtIndex:0]];
    return path;
}


- (BOOL) createMyDocsDirectory
{
    NSMutableString *path = [self getUserDocumentDir];
    [path appendString:@"/MyDocs"];
    NSLog(@"createpath:%@",path);
    return [[NSFileManager defaultManager] createDirectoryAtPath:path                            withIntermediateDirectories:NO                                       attributes:nil                                            error:NULL];
}

- (BOOL) deleteMyDocsDirectory 
{
    NSMutableString *path = [self getUserDocumentDir];
    [path appendString:@"/MyDocs"];
    return [[NSFileManager defaultManager] removeItemAtPath:path error:nil];
}
twerdster