2015-01-11 131 views
0

我想在使用故事板的應用程序中的視圖控制器中訪問數組變量。從AppDelegate訪問故事板ViewController問題

背景:

我已經與Ray Wenderlich tutorial on Storyboards下沿。

一旦我完成了教程,我回去嘗試了一條不同的路線,儘管我無法訪問視圖控制器。除了我的設置是最初的場景是一個視圖控制器,一切都差不多。我到了作者在他的表格中向NSMutableArray添加一些數據的部分。

他們的代碼,我使用爲指導

UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController; 
UINavigationController *navigationController = [tabBarController viewControllers][0]; 
PlayersViewController *playersViewController = [navigationController viewControllers][0]; 
playersViewController.players = _players; 

我希望這將是一個簡單的複製我所用視圖控制器看到,沿適當類型傳球,但是沒有。

我有視圖控制器>視圖控制器>導航視圖控制器> UITableViewController。

ScreenShot

我的代碼:

UIViewController *vc = (UIViewController*)self.window.rootViewController; 
UIViewController vc1 = [vc viewController][0]; 
UINavigationController *nc = [vc1 viewController][0]; 
SearchViewTableViewController *svc = [nc viewControllers][0]; 
svc.myarray = _myarray; 

我曾嘗試多種組合和我越來越行不通。

對於我來說,引用類/視圖/場景必須有一個更簡單的方法。 有什麼幫助嗎?

+0

一個UIViewController不是數組所以這'[VC的viewController] [0];'或'此[VC1的viewController] [0];'沒有意義。我不明白你想要做什麼...... –

+0

請注意,viewController * s *屬性是一個數組,而不是viewController。雖然我仍然不明白你想通過偏離教程中的代碼來完成什麼。 –

回答

1

確保您正在導入ViewController頭文件。
確保您已向ViewController提供了一個Storyboard標識符。 然後像這樣應該工作:

MyViewController *myVC = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"MyViewController"]; 
myVC.myMutableArray = [NSMutableArray new]; 
....