2015-07-19 19 views
7

, Aralarında temel segues bazı denetleyicileri oluşturduk:Nasıl unwindForSegue: doğruViewController: çalışır? Benim basit uygulamasında

Sarı kontrolör -> BlueController -> GreenController -> OrangeController. Her birinin kendi özel sınıfı vardır.

OrangeController itibaren benim YellowController için unwindSegue yarattı. Tamamdır. Her sınıf dahilinde

Ben koyun:

override func unwindForSegue(unwindSegue: UIStoryboardSegue, towardsViewController subsequentVC: UIViewController) { 
    print(unwindSegue) 
    print(subsequentVC) 
} 

Ama hiç çağrılmadı. Niye ya? Bu işlevselliği test etmek için hangi demoyu hazırlamalıyım?

func allowedChildViewControllersForUnwindingFromSource(source: UIStoryboardUnwindSegueSource) -> [UIViewController] 
func childViewControllerContainingSegueSource(source: UIStoryboardUnwindSegueSource) -> UIViewController? 
+1

"Aralarında temel segues bazı denetleyicileri yarattık" Evet, ama segues ne tür onlar ve denetleyicilerin _what_ tür var? 'unwindForSegue' yalnızca _parent view controllers_ üzerinde çağrılır. Eğer modal (sunum) gibi bir şey yapmazsanız, örneğin, hiç çağrılmayacaktır, çünkü çözülme tamamen basit bir işten çıkarılmadır. – matt

cevap

7

çıkış eyleme (geri hareket sorumlu olan) kontrol bağlantı, IBAction returnType Storyboard olarak

-(IBAction) unwindForSegue:(nonnull UIStoryboardSegue *)unwindSegue towardsViewController:(nonnull UIViewController *)subsequentVC 

yöntemi ile uygulanması:

ile aynı olduğu viewcontroller'da. enter image description here

enter image description here

+3

Normal 'unwindForSegue' arasındaki fark nedir? –

İlgili konular