2015-12-03 3 views
0

У меня есть viewControlle r с containerView andUIPageViewController.Инициализация parentView проблемы parentView

Я вызываю метод редактированияProfile, но он не будет передаваться в parentNewCarRequestVC. Но как только я делаю действие, он переходит в parentNewCarRequestVC. Поэтому, пожалуйста, как я могу инициализировать parentView после запуска экрана.

Мне очень жаль, если я не очень хорошо объяснил свою проблему.

override func viewDidAppear(animated: Bool) { 
    editingProfile() 
} 

func editingProfile(){ 
    if let parentVC = self.parentViewController as? UIPageViewController{ 
     if let parentNewCarRequestVC = parentVC.parentViewController as? NewCarRequestViewController{ 

      print("DONE") 
     } 
    } 
} 
+0

попробуйте вызвать ваш метод в 'override func viewDidLoad()'. –

+0

я назвал метод в viewDidLoad, но он не работает :(@AbhishekSharma –

ответ

0

Ваши предположения должны быть ошибочными. Сделайте это:

func editingProfile(){ 

    print(self.parentViewController) 
    print(self.parentViewController.parentViewController) 

    if let parentVC = self.parentViewController as? UIPageViewController{ 
     if let parentNewCarRequestVC = parentVC.parentViewController as? NewCarRequestViewController{ 

     print("DONE") 
    } 
} 

}

Покажите нам выход отладчик для обоих отпечатков.

+0

Выход: первая: Необязательно () второе: ноль –

+0

Не могли бы вы сказать мне, пожалуйста, почему это ввести один раз я сделать любой action? –

+0

Так что ваш родительский родитель равен нулю. Это довольно просто. Если это «нуль», ваш код никогда не достигнет DONE. –

0

call ur method id viewDidLoad. Если вы хотите вызвать в viewWillAppear, тогда инициализируйте в viewDidLoad и

parentNewCarRequestVC = parentVC.parentViewController as? NewCarRequestViewController в представленииWillAppear.

+0

Прошу прощения, инициализировать в viewDidLoad? –

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