2013-05-30 21 views
9

viewDidLoad İçinde, önceki denetleyiciye bağlı olarak bazı özel kodlar istiyorum.Saldırgan kaynak görünümü denetleyicisine başvuru

Bunu işlemek için hedef denetleyicinin viewDidLoad dosyasında segue kaynak denetleyicisine veya önceki işaret kimliğine nasıl erişebilirim?

+1

Hedef denetleyicisinde mi demek istiyorsun? Son cümlenin net değil. – rdelmar

cevap

7

Sizi oluşturan segue'ye referans almanın bir yolu yoktur. Hedef denetleyicisi bir mülk (bizim örneğimizde sourceVC) oluşturun ve (kaynak görünümü denetleyicisi olarak) prepareForSegue yönteminde bu özelliğine kendini atayabilirsiniz:

[(DestinationVCClass *)segue.destinationViewController sourceVC] = self; 
+0

Teşekkürler anladım – StuartM

5

[self presentingViewController]'u kullanabilir ve segue verilen VC'ye erişebilirsiniz. Genellikle böyle bir durum için isMemberOfClass: ile çiftlemek isterim.

+1

Bu sadece sadece bir korsan modal olduğunda çalışır, bir itme için çalışmayacaktır. – rdelmar

+0

Modal bir segue hakkında konuşuyor gibi geliyor, ama evet, iyi bir çağrı. –

+0

Bu yöntemi çağırarak rootViewController'ı alıyorum, bu yüzden mantık biraz bozuk görünüyor. – Bob

0

Sen sökülme segue yönteminde aşağıdakileri yapın hedef

self.source = (UIStoryboardSegue *)segue.sourceViewController; 

Hedefi UIStoryboardSegue hedefi olarak tanımlayın. Yukarıdaki satır, kaynak veya önceki segue verecektir.

İlgili konular