Chcę usunąć obraz z katalogu dokumentów aplikacji. Kod, który napisałem, aby usunąć obraz to:
-(void)removeImage:(NSString *)fileName
{
fileManager = [NSFileManager defaultManager];
paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
documentsPath = [paths objectAtIndex:0];
filePath = [documentsPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@", fileName]];
[fileManager removeItemAtPath:filePath error:NULL];
UIAlertView *removeSuccessFulAlert=[[UIAlertView alloc]initWithTitle:@"Congratulation:" message:@"Successfully removed" delegate:self cancelButtonTitle:@"Close" otherButtonTitles:nil];
[removeSuccessFulAlert show];
}
Działa częściowo. Ten kod usuwa plik z katalogu, ale kiedy sprawdzam zawartość w katalogu, nadal pokazuje tam nazwę obrazu. Chcę całkowicie usunąć ten plik z katalogu. Co powinienem zmienić w kodzie, aby zrobić to samo? Dzięki
contentsOfDirectoryAtPath
(tj. Nie ma tu buforowania katalogu). Więc musisz mieć jakiś prosty błąd w grze, który powinien stać się widoczny, gdy spojrzysz naNSError
zawartość.Odpowiedzi:
Sprawdziłem twój kod. To działa na mnie. Sprawdź każdy błąd, który otrzymujesz, używając zmodyfikowanego kodu poniżej
źródło
Swift 3.0:
Dzięki @Anil Varghese napisałem bardzo podobny kod w swift 2.0:
źródło
Swift 2.0:
źródło
W Swift zarówno 3, jak i 4
lub Ta metoda może usunąć cały plik lokalny
źródło
Zamiast ustawiać błąd na NULL, ustaw go na
dzięki temu dowiesz się, czy faktycznie usuwa plik
źródło
Chcę usunąć moją bazę danych sqlite z katalogu dokumentów. Usunąłem bazę danych sqlite pomyślnie, korzystając z poniższej odpowiedzi
źródło
źródło
Wersja FreeGor przekonwertowana do Swift 3.0
źródło
Możesz podwójnie zabezpieczyć usuwanie plików za pomocą NSFileManager.defaultManager (). IsDeletableFileAtPath (PathName) Od teraz MUSISZ używać do {} catch {}, ponieważ stare metody błędów już nie działają. isDeletableFileAtPath () nie jest „rzutami” (tj. „publiczną func removeItemAtPath (ścieżka: String) zgłasza”), więc nie potrzebuje do ... catch
źródło
Jeśli interesujesz się nowoczesnym interfejsem API, unikając NSSearchPath i filtruj pliki w katalogu dokumentów, przed usunięciem możesz zrobić tak:
źródło