У меня есть приложение заметок, которое я пытаюсь смоделировать после приложения Apple Notes. У меня есть NotesTableViewController, который отображает существующие заметки и имеет кнопку для добавления новых заметок. При нажатии кнопки добавления новых заметок NoteViewController помещается в стек, и пользователь может вводить свои заметки. При нажатии кнопки «Назад» вызывается метод saveNote, указанный ниже. Эта часть отлично работает. Проблема возникает, когда я пытаюсь сохранить изменения в существующей заметке. Я выбираю заметку из NotesTableViewController, появляется NoteViewController, я делаю некоторые изменения и нажимаю кнопку назад, когда закончите. Это просто создает новую заметку вместо обновления существующей. Как мне изменить приведенный ниже метод для достижения этой цели?
- (void) saveNote
{
NSLog(@"Save");
NSManagedObjectContext *context = self.managedObjectContext;
NSEntityDescription *entity = [NSEntityDescription
entityForName:@"Note"
inManagedObjectContext:context];
Note *newManagedObject =
[NSEntityDescription insertNewObjectForEntityForName:[entity name]
inManagedObjectContext:context];
// If appropriate, configure the new managed object.
if ([textView hasText])
{
[newManagedObject setValue:[NSDate date] forKey:@"timeStamp"];
[newManagedObject setValue:self.title forKey:@"noteName"];
[newManagedObject setValue:textView.text forKey:@"noteText"];
//NSLog(@"%@", textView.text);
}
NSError *error = nil;
if (![context save:&error]) {
/*
Replace this implementation with code to handle the error
appropriately.
*/
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
[self.navigationController popViewControllerAnimated:YES];
}