2013-02-21 108 views
0

對於Objective C和xCode,我還是比較新的,所以請原諒我。在視圖控制器之間傳遞數據

我用下面的代碼在我的故事板雙視角控制器設置和IM移動到另一個:

UIStoryboard * storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
UIViewController * viewController = [storyBoard instantiateViewControllerWithIdentifier:@"stageOne"]; 
[self presentViewController:viewController animated:YES completion:nil]; 

現在這個班上控制第二視圖控制器我有一個屬性的設置,雖然工程巨大,我試圖發送數據。我試圖如下:

UIStoryboard * storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
UIViewController * viewController = [storyBoard instantiateViewControllerWithIdentifier:@"stageOne"]; 
viewController.forename = @"Hello World"; 
[self presentViewController:viewController animated:YES completion:nil]; 

雖然這不工作,我得到的是一個錯誤「PROPERT‘用的名字’在類型‘的UIViewController’的對象未找到」。

任何幫助表示讚賞,如果你能給我留下一些例子代碼,那將是太棒了。

回答

0

您的代碼的問題是您訪問尚未在內存中創建的uicontrols。你必須改變你的語句的執行順序,像這樣...

UIStoryboard * storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
holidayQuestion * viewController = [storyBoard instantiateViewControllerWithIdentifier:@"stageOne"]; 

[self presentViewController:viewController animated:YES completion:nil]; 
viewController.forename = @"Hello World"; 
+0

不幸的是,我仍然有同樣的錯誤:「屬性'forename'未找到類型'UIViewController'」 – Adam 2013-02-21 11:14:03

+0

可以確保屬性」forename「聲明正確或不在該視圖控制器? – Ganapathy 2013-02-21 11:17:40

+0

@property(strong,nonatomic)NSString * forename; – Adam 2013-02-21 11:21:08

0

基本上,對於2個控制器之間傳遞數據,則可以使用2種設計模式:DelegationObserver.

在你的情況,可以使用委託。你的頭文件中是否有名稱爲forename的公共財產?

+0

該屬性定義爲:@property(strong,nonatomic)NSString * forename; – Adam 2013-02-21 11:08:38

相關問題