Я создаю простое приложение, чтобы просто сохранить имя человека и номер, связанный с этим человеком.Я создал класс для такого человека:
@interface Person : NSObject {
NSString *name;
NSInteger serialNumber;
}
В mainViewController я создал текстовое поле для ввода имени, а затем автоматически назначил ему номер, также 2 UILabel дляпоказать введенное имя и серийный номер.
Однако после выхода из приложения и повторного открытия все метки будут удалены.Я пытаюсь сохранить эти переменные такими, какими они были при выходе из приложения, и отображать их в ярлыках.Поэтому я создал две переменные в делегате приложения и попытался использовать applicationWillTerminate: в делегате приложения для сохранения.В mainViewController я вставил эти коды после каждого ввода нового имени:
NameAppDelegate *appDelegate = (NameAppDelegate *)[[UIApplication sharedApplication] delegate];
appDelegate.lastPerson.name = aPerson.name;
//currentPerson is an instance variable of the app delegate
appDelegate.lastPerson.serialNumber = aPerson.serialNumber;
NSLog(@"aPerson.serialNumber = %i", aPerson.serialNumber);
NSLog(@"appDelegate.lastPerson.serialNumber = %i", appDelegate.lastPerson.serialNumber);
Однако каждый раз, когда я набирал новое имя, консоль показывала изменение в aPerson.serialNumber(который находится в mainViewController) НО не appDelegate.lastPerson.serialNumber (который всегда равен нулю).
Что-то не так с кодами выше?