2012-04-06 10 views
16

Robię trochę zapisu danych do mojego katalogu dokumentów i zastanawiałem się, czy istnieje sposób, aby powiedzieć, kiedy moja metoda writeToFile się zakończy, a plik, który tworzę, zostanie w pełni stworzony. Z góry dziękuję tutaj za metodę, którą wzywam Po prostu szukam sposobu, w jaki sposób jest to metoda delegata lub inny sposób, aby powiedzieć, kiedy to się zakończy.writeToFile jak powiedzieć, kiedy jest zakończone

[imageData writeToFile:fullPathToFile atomically:YES]; 

Nick

Odpowiedz

31

Sposób writeToFile:atomically jest "synchroniczna". Napisze plik, a następnie zwróci YES lub NO w zależności od tego, czy plik został poprawnie zapisany, czy nie.

Oznacza to, że operacja jest zakończona, jak tylko metoda zostanie zwrócona.

BOOL success = [imageData writeToFile:fullPathToFile atomically:YES]; 
// Now, the operation is complete 
// success indicates whether the file was successfully written or not 
+1

Czy istnieje sposób na uzyskanie dziennika błędów, jeśli zapisywanie się nie powiedzie? – aneuryzm

+3

@Patrick Możesz użyć metody [writeToFile: options: error:] (https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSData_Class/Reference/Reference.html#//apple_ref/occ/instm/NSData/writeToFile: options: error :) – sch

Powiązane problemy