2013-07-15 69 views
1

此問題涉及基於運行時選項動態初始化不同視圖控制器。基本上,當應用程序啓動時,Web服務發送一段XML/JSON來定義用戶首選項等。在iOS中動態初始化視圖控制器

我們需要根據這些變量確定下一個用戶顯示哪個視圖控制器。因此,我們有一個課程提出了一些問題(哪些功能是開啓/關閉等),然後我們需要能夠返回一個類或基於此類來初始化一個類。因爲我不希望導入每個視圖控制器頭在每個視圖控制器,如何使用一些方法,比如我初始化類:

[[self nextClassManager] getNextClass]; 

感謝

+1

'ID VC = [[[自nextClassManager] getNextClass]的alloc] INIT];' – 2013-07-15 10:18:56

+0

將在 'getNextClass' 方法的標題什麼樣的?即它會返回什麼類型? – Da49

+0

'Class'是返回類型。 – 2013-07-15 10:29:38

回答

0

我採用了一個類似於打開視圖控制器東西服務器命令,根據控制器的類名:

- (void)openViewController:(NSString *)theControllerClassName { 
    Class theControllerClass = NSClassFromString(theControllerClassName); 
    if (theControllerClass && [theControllerClass isSubclassOfClass:[UIViewController class]]) { 
     UIViewController* controller = [[theControllerClass performSelector:@selector(alloc)] init]; 

     UINavigationController *nav = (UINavigationController *)self.tabBarController.selectedViewController; 
     [nav pushViewController:controller animated:YES]; 
     [controller release]; 
    } 
} 
相關問題