Уведомления часто являются лучшим способом связи между контроллерами и т. Д.
Сначала разделите код инициализации на метод в вашем контроллере представления, который вызывается вашим viewDidLoad
/ viewWillAppear
. Для справки мы назовем это resetUser .
Затем создайте уведомление, которое запускается из applicationWillEnterForeground
, когда он видит, что этот переключатель был брошен. Давайте назовем это userRequestsReset .
[[NSNotificationCenter defaultCenter] postNotificationName:@"userRequestsReset"
object:nil];
Наконец, в вашем viewController прослушайте уведомление userRequestsReset и вызовите метод resetUser при получении уведомления.
В представлении вашего контроллера ControlDidLoad:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(resetNoticeReceived:)
name:@"userRequestsReset"
object:nil];
Метод в вашем viewController, который отвечает на уведомление:
- (void) resetNoticeReceived:(NSNotification *)notif {
[self resetUser];
}
И удаление viewController в качестве наблюдателя в viewDidUnload:
[[NSNotificationCenter defaultCenter] removeObserver:self];