Самый простой способ сохранить данные - это использовать NSUserDefaults
, предоставляемый платформой Foundation.По сути, это просто хранилище значений ключей, которое позволяет сохранять небольшие объемы данных.
Прежде всего, сохранение данных из средства выбора даты выглядит примерно так:
// NSUserDefaults is a singleton instance and access to the store is provided
// by the class method, +standardUserDefaults
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
// Let's pull the date out of our picker
NSDate *selectedDate = [self.datePicker date];
// Store the date object into the user defaults. The key argument expects a
// string and should be unique. I usually prepend any key with the name
// of the class it's being used in.
// Savvy programmers would pull this string out into a constant so that
// it could be accessed from other classes if necessary.
[defaults setObject:selectedDate forKey:@"DatePickerViewController.selectedDate"];
Теперь, когдамы хотим извлечь эти данные и заполнить нашу программу выбора даты, мы могли бы сделать что-то вроде следующего ...
- (void)viewDidLoad
{
[super viewDidLoad];
// Get the date. We're going to use a little shorthand instead of creating
// a variable for the instance of `NSUserDefaults`.
NSDate *storedDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"DatePickerViewController.selectedDate"];
// Set the date on the date picker. We're passing `NO` to `animated:`
// because we're performing this before the view is on screen, but after
// it has been loaded.
[self.datePicker setDate:storedDate animated:NO];
}