viewDidLoad
не будет вызываться при навигации по назад, поэтому вы можете установить там какой-то флаг и сбросить его в соответствующем месте (возможно, viewDidAppear
?). Что касается, если viewDidLoad
будет вызываться каждый раз, когда вы его открываете от SourceViewController
, зависит от вашего кода - если вы каждый раз создаете новый экземпляр, все должно быть в порядке.
Как для примера:
class SampleViewController : UIViewController {
var isOpenedFromBackNavigation = false
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
if self.isOpenedFromBackNavigation {
// code that should be run if we navigated back here
}
self.isOpenedFromBackNavigation = true
}
}
Не получаю ваш вопрос правильно! – Lion
вы должны написать метод на viewDidAppear, чтобы проверить, является ли текущий UIVIewController последним контроллером в представлении свойств. Контроллеры навигацииController –
@MohsenShakiba - это хорошая идея, но вам все равно нужно учитывать начальный показ контроллера вида. – Losiowaty