Chcę zapisać NSMutableArray
lub NSDictionary
jako plik stały. Następnie chciałbym ponownie otworzyć plik później.Czy można zapisać dane NSMutableArray lub NSDictionary jako plik w systemie iOS?
Czy to możliwe? Jeśli tak, jak mogę to zrobić?
Chcę zapisać NSMutableArray
lub NSDictionary
jako plik stały. Następnie chciałbym ponownie otworzyć plik później.Czy można zapisać dane NSMutableArray lub NSDictionary jako plik w systemie iOS?
Czy to możliwe? Jeśli tak, jak mogę to zrobić?
Aby zapisać w pliku
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *filePath = [documentsDirectory stringByAppendingPathComponent:FILE_NAME]; [myArray writeToFile:filePath atomically:YES];
Aby odczytać z pliku
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *filePath = [documentsDirectory stringByAppendingPathComponent:FILE_NAME]; myArray = [NSArray arrayWithContentsOfFile:filePath];
myArray będzie zero, jeśli plik nie jest obecny. A NSDictionary ma podobne metody. Proszę sprawdzić odniesienie dla szczegółów tych metod.
Możliwe, że możesz przekonwertować słownik na dane JSON.i zapisać go w pliku.
NSDictionary *dict = /* the NSDictionary/NSArray you need to write */
NSError *writeError = nil;
NSData* data;
data = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:&writeError];
if (!writeError) {
[data writeToFile:filePath atomically:YES];
}
dzięki taskinoor, pozwól mi spróbować. – RAGOpoR
@gef, czy jest jakaś praktyczna różnica między TRUE/FALSE a YES/NO? – taskinoor
@taskinoor cześć, jak powinno być sformatowane "FILE_NAME"? czy możesz podać przykład, jaką nazwę pliku można użyć. – Bazinga