2013-04-02 12 views

Antwort

19

Dies sollte es tun:

NSUInteger numberOfViewControllersOnStack = [self.navigationController.viewControllers count]; 
UIViewController *parentViewController = self.navigationController.viewControllers[numberOfViewControllersOnStack - 2]; 
Class parentVCClass = [parentViewController class]; 
NSString *className = NSStringFromClass(parentVCClass); 
+1

Es wäre nicht schlecht, wenn Sie überprüft haben, dass Sie mehr als 1 View-Controller auf dem Navigations-Stack haben. Wenn Sie versuchen, es auf dem Root-View-Controller zu verwenden, erhalten Sie eine Ausnahme. – Mert

+2

@Mert: Das stimmt. Ich nahm an, dass das Originalposter behaupten kann, dass mindestens zwei Controller auf dem Navigationsstapel sind. –

4

Get Klasse von View-Controller parent:

id class = [self.navigationController.viewControllers[0] class]; 

und seinen Namen:

NSString *className = NSStringFromClass(class); 
+1

Dies würde die Klasse des Navigations Controllers erhalten root view controller, nicht unbedingt das direkte übergeordnete Element des Top - View - Controllers (abhängig vom Navigationsstac k). –

Verwandte Themen