2009-07-28 7 views
5

Próbuję napisać do folderu pamięci podręcznej aplikacji iPhone ze zdjęciami pobranymi z serwera. Moim planem jest zapisanie obrazów w "site.com/path/to/image.jpg", ponieważ dublowanie struktury folderów na serwerze sprawia, że ​​zduplikowane nazwy są niemożliwe i wydaje się, że jest to właściwy sposób. Niestety, wydaje mi się, że muszę sam utworzyć foldery przed zapisaniem pliku. Czy w Objective-C istnieje metoda wywoływania, która podana jako "/ Users/Me/a/b/c" (nie, to nie jest poprawna ścieżka dla iPhone'a, tylko przykład) spowoduje, że/Users/Me istnieje, a następnie utworzyć, a następnie stworzyć b, i tak dalej, aż dojdzie do końca?Czy istnieje metoda w Objective-C do rekurencyjnego tworzenia katalogów z łańcucha?

Mogę napisać sam, ale lubię korzystać z wbudowanych funkcji w jak największym stopniu. Nie mogłem tu nic znaleźć.

Odpowiedz

12

Spróbuj tego:

NSString * path = @"/Users/Me/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z"; 
NSError * error = nil; 
BOOL success = [[NSFileManager defaultManager] createDirectoryAtPath:path 
             withIntermediateDirectories:YES 
                  attributes:nil 
                   error:&error]; 
if (!success || error) { 
    NSLog(@"Error! %@", error); 
} else { 
    NSLog(@"Success!"); 
} 
+0

Czy zazwyczaj zrobić sukcesu || błąd! Czy to konieczne? – zekel

+0

@zekel ostatnio zwrócono mi uwagę, że '! Success' jest właściwym sprawdzianem. –

+0

Tak właśnie myślałem, że gdy metoda się powiedzie, "błąd" nie ma gwarancji, że będzie zerowy. – zekel

Powiązane problemy