如何从应用程序委托,故事板,iOS 6获取我的视图控制器的实例

时间:2012-12-27 14:53:07

标签: iphone ios pointers uiviewcontroller appdelegate

尝试从app委托“实例化”我的初始视图控制器。我试图从app委托填充NSMutableArray。视图控制器“myMutabelArray”的属性获取在应用程序委托中创建的数组。使用下面的代码,数组不受影响,即使它的计数是4(有四个对象),就像在app委托中创建的那样。

UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle: nil];
ViewController *controller = (ViewController*)[mainStoryboard instantiateInitialViewController];
controller.myMutableArray = mutableArrayCreatedInAppDelegate;

当我从AppDelegate中记录计数时,我得到4。 当我从ViewController中记录计数时,我得到0

我还尝试了以下操作,这使我怀疑我没有根据需要获得指向视图控制器的指针。

UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle: nil];
ViewController *controller = (ViewController*)[mainStoryboard instantiateInitialViewController];
[controller.view setBackgroundColor:[UIColor lightGrayColor]];

1 个答案:

答案 0 :(得分:5)

尝试以下方法:

ViewController *controller = (ViewController*)self.window.rootViewController;

它将返回主故事板的初始视图控制器。