2012-01-10 1 views
0

Как я могу получить, что текущий экземпляр UIViewController не используется в любом стеке навигации, и он не является модульным контроллером просмотра? У меня есть много контроллеров просмотра и некоторый менеджер обмена серверами, который содержит сильные ссылки на эти контроллеры представлений. Необходимо получить информацию о том, что контроллер текущего представления был выведен из контроллера навигационного представления (или контроллер модального представления закрыт) и что он не должен анализировать любой ответ сервера для этого контроллера представления.Как получить этот UIViewController из любого стека навигации

Решение для проверки того, что контроллер текущего вида не имеет никакого rootViewController и navigationViewController, недостаточно хорош, потому что текущий контроллер представления может быть rootViewController или он может быть без navigationViewController в модульном контроллере просмотра.

У вас есть идеи для этого?

Заранее спасибо

+1

Вы также можете проверить текущие контроллеры просмотреть 'view.superview' собственности. – MrMage

+0

Спасибо! Это то, что мне нужно! – gN0Me

ответ

1

Я не вижу никаких других способов, чем использование этих 2 методов ..

-(void)viewWillDisappear:(BOOL)animated { 
[yourServerExchangeManager closeConnectionforViewController:self] 
} 

-(void)viewWillAppear:(BOOL)animated { 
[yourServerExchangeManager openConnectionforViewController:self] 
} 
+0

спасибо, Darktau, я тоже подумал об этом решении, но в этом случае необходимо обновить все контроллеры представлений, и об этом легко забыть где-то однажды – gN0Me

Смежные вопросы