2013-02-24 109 views
0

我想在mainViewController的TextView中打印一個NSString。但是這個命令應該來自第二個ViewController。我在mainViewController.h中聲明瞭一個字符串,但在secondViewController.m中需要這個字符串! (文本應該打印在mainViewController中)。當我想訪問這個字符串時,它說Xcode不知道這個變量。我怎樣才能創建一個字符串/變量,我可以從我所有的ViewControllers(xib!)編輯和打印?許多視圖控制器編輯NSString?

+1

如何使變量公共靜態?這樣,mainViewController不需要實例嗎? – Jeff 2013-02-24 17:40:48

+0

我該怎麼做? – 2013-02-24 17:42:13

+0

我不知道; Obj-C超出了我的舒適區。然而,快速谷歌給了我像'extern'或'static' – Jeff 2013-02-24 17:45:35

回答

1

這聽起來像你想在兩個視圖控制器之間共享一個模型。這是正確的MVC方法,因此只需要視圖控制器中的一個更改模型中的值,並將通知所有其他視圖控制器並且可以更新其各自的視圖:

請看一下this excellent article如何實施。

0

剛剛宣佈,在經過sharedApplication方法。在你的情況下,任何的ViewController的AppDelegate &訪問的NSString變量分配在secondViewController值,它&訪問,在mainViewController值

AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate]; 
NSLOg(@"Nsstring value=%@",appDelegate.stringVariable); 

分配值:[email protected]"fromSecondViewController");

+0

不工作或我傻:/ 當我把這個在我的AppDelegate我得到這個錯誤: 的第一行代碼: (ERROR)初始化器元件是不是編譯時間常數 的代碼第二行: (警告)類型說明符缺失,默認爲「INT」 (警告)庫功能的不兼容的重聲明「的NSLog」 (ERROR )期望參數聲明 (錯誤)預期')' – 2013-02-25 21:02:41

相關問題