IOS/Xcode/CoreData: в модальном контроллере, как ссылаться на текущий контроллер

У меня есть модальный контроллер controller2, который редактирует представление, созданное модально контроллером1. модальный контроллер2 настраивается в раскадровке, но запускается из контроллера1 в следующем коде в viewdidload следующим образом.

UIBarButtonItem *editButton = [[UIBarButtonItem alloc]
                                   initWithTitle:@"Edit"
                                   style:UIBarButtonItemStylePlain
                                   target:self
                                   action:
                                   //next line calls method editView
                                   @selector(editView:)];
    self.navigationItem.rightBarButtonItem = editButton;

Когда я закрываю контроллер2 после сохранения изменений, я хочу, чтобы изменения в контексте управляемого объекта были перенесены на контроллер1.

В некоторых примерах SO предлагается использовать следующее:

[controllerTarget setManagedObjectContext:[self managedObjectContext]];

который попадет в контроллер2 прямо перед его отклонением.

Однако попытка сделать это дает ошибку «Нет известного метода класса», предполагающую, что мне нужно создать экземпляр контроллера 1. Однако я не хочу создавать новый экземпляр контроллера 1 и передавать ему контекст управляемого объекта. Я хочу передать управляемый контекст объекта экземпляру контроллера1, уже находящемуся в стеке навигации.

Буду признателен за любые предложения, как сделать эту работу.

Спасибо.


person user1904273    schedule 25.04.2015    source источник


Ответы (1)


Пробовали ли вы сохранить свойство для контекста управляемого объекта в контроллере1 и использовать переход выхода для возврата состояния контроллера2 и, следовательно, использовать его для создания экземпляра контекста управляемого объекта, хранящегося в контроллере1. Должно сработать.

person Rajive Jain    schedule 25.01.2016