2014-07-10 54 views
0

增值財產上的ViewController我有以下代碼:從AppDelegate中

UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController; 
[tabBarController performSegueWithIdentifier:@"push_display_incomming_call" sender:self]; 

這說明我的ViewController我想看到正確。但現在我想改變的ViewController的屬性的值是真實上映之前,Segue公司,我想沒有成功以下。

incommingCallViewController *mainController = (incommingCallViewController*) tabBarController; 
      mainController.name.text = @"Eddwn Paz"; 

這是從xcode的控制檯中的堆棧跟蹤:

2014-07-10 16:46:09.413 mobile-app[9354:60b] -[OptionsTabBarViewController name]: unrecognized selector sent to instance 0x17552540 
2014-07-10 16:46:09.414 mobile-app[9354:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[OptionsTabBarViewController name]: unrecognized selector sent to instance 0x17552540' 

回答

2

假設push_display_incomming_call賽格瑞呈現IncommingCallViewController視圖控制器作爲模態。所以,你應該使用代碼:

IncommingCallViewController *callVC = 
    (IncommingCallViewController *)tabBarController.presentedViewController; 
callVC.name.text = @"Eddwn Paz"; 

備註:

,您會收到錯誤,因爲您嘗試使用tabBarController作爲incommingCallViewController實例,同時它是UITabBarController實例因此沒有要求name財產。

+0

現在,我得到 – eddwinpaz

+0

PrepareForSegue不能從AppDelegate.m使用未聲明的標識符「賽格瑞」以下錯誤使用???? – eddwinpaz

+0

我知道如何viewControllers之間傳遞的價值觀,我試圖做的是通過從AppDelegate.m – eddwinpaz