2010-09-08 2 views
32

Новое в Objective C. Я создал несколько каталогов, содержащих pdf-файлы для iPhone-приложения. Как удалить каталог и его содержимое с помощью NSFileManager?Как удалить каталог и его содержимое с помощью NSFileManager

Нужно ли сначала прокручивать и удалять содержимое? Любые примеры кода были бы высоко оценены.

Заранее спасибо.

ответ

44

Для начала, было бы разумно просмотреть документацию Apple для iPhone NSFileManager для iPhone: NSFileManager Class Reference. Во-вторых, посмотрите на метод NSFileManager-removeItemAtPath:error: и его документацию. Это то, что вы ищете.

+2

Если я прохожу каталог для -removeItemAtPath: ошибка: он будет также удалить содержимое? Звучит как глупый вопрос, но единственный другой пример, который я нашел, сначала удаляет содержимое каталога. –

+22

Да, это будет, и если вы когда-нибудь сомневаетесь в чем-то, просто настройте крошечную тестовую программу, чтобы убедиться, что это так. –

+8

@ItaiFerber Пытается, что все в порядке, но задание результатов в поисковом ответе толпы, размещенном здесь в Интернете. Итак: первый вопрос имеет свои преимущества. –

35

Heres некоторый код я использую, что Ive отредактирован в соответствии вопрос

- (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]; 
} 
+0

Как удалить определенный набор изображений? – Bazinga

+2

Рассмотрим stringByAppendingPathComponent вместо appendString! –

Смежные вопросы