2011-08-08 35 views
0

我需要調用:有誰知道如何從不同的視圖控制器訪問變量?

@property (nonatomic, retain) IBOutletCollection(UIButton) NSArray *buttons; 

從視圖 - 控制X,但能夠訪問和設置視圖控制器y中的按鈕顏色。基本上我做了一個設置頁面,允許不同的配色方案。有任何想法嗎?謝謝!

+0

使用屬性似乎是一個壞主意在這裏,你將最終獲得一個屬性對每個視圖要自定義。相反,實現另一個視圖控制器可以調用的方法(將其作爲該控制器的委託方法是個好主意),使該方法接受一個參數,如顏色或主題或任何其他參數,並根據該方法執行所有自定義你得到的參數。 –

+0

你能解釋一下嗎?我對此很陌生。謝謝! – rreichel

回答

0

您可以使用委派。

基本上,viewcontroller y將是viewcontroller x的委託,每當有人更改設置頁面時,viewcontroller x會通知viewcontroller y該更改。 X將通知Ÿ像這樣:然後

[delegate doSomething withParameter: parameter] 

的viewController Y就應該執行與該參數(你想傳遞變量)的某些方法。

有一對夫婦涉及其他的事情,所以你應該在代表團讀了

0

您需要實例化視圖控制器Ÿ時引用傳遞給您的視圖控制器X:

ViewControllerY *viewController = [[[ViewControllerY alloc] initWithNibName:@"ViewControllerY" bundle:nil] autorelease]; 
viewController.viewControllerX = myRefToViewControllerX; //declare a property on your ViewControllerY 
//show view controller Y 
相關問題