Если вы хотите использовать списки, это самый быстрый способ (я думаю). Есть другие способы сделать это с NSCoding для кодирования ваших данных в файл, но вам, вероятно, понадобится специальный класс модели данных, это больше подходит для сохранения большего количества случайных вещей, которые не вписываются в предписанную модель данных. Кроме того, как было указано, NSUserDefaults также является опцией
Для сохранения вашей работы:
-(void)applicationWillTerminate:(NSNotification *)notification {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingString:@"info.plist"];
NSMutableArray *array = [[NSMutableArray alloc] init];
// Add the objects you want to save to the array here ex: [array addObject:]
[array writeToFile:filePath atomically:YES];
[array release]; }
И чтобы восстановить сохраненный файл:
- (void)viewDidLoad {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingString:@"info.plist"];
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) {
NSArray *array = [[NSArray alloc] initWithContentsOfFile:filePath];
// Set your vaiables here in the order that you saved them ex. var = [array objectAtIndex:]
[array release];
}
UIApplication *app = [UIApplication sharedApplication];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationWillTerminate:)
name:UIApplicationWillTerminateNotification
object:app];
[super viewDidLoad];}
По сути, когда ваше приложение собирается завершить работу, вы создаете и массив объектов, которые хотите сохранить и записываете их в файл, а когда ваше приложение запускается снова, вы читаете этот файл обратно в массив и назначаете свои переменные на основе порядок, в котором вы их сохранили. Затем вы настраиваете его так, чтобы, когда ваше приложение отправляло свое UIApplicationWillTerminateNotification, оно выполняло ваш код, чтобы сохранить ваши (предположительно) измененные переменные обратно в файл.