2013-05-03 15 views
0

我有一個的viewController FilterViewController.m.h設置在目標C的變量是可見的另一視圖中

我有一個步進其中設置了一個名爲value帶有int數據類型的變量,具有1和16之間的可變值

步進器設置方法stepperValueChanged中的值,並且在此方法中,我需要設置要在我的FirstViewController中訪問的「全局」變量。

如何將變量作用域設置爲在FirstViewController中可見?

我明白我可以用班級來做到這一點,但我不確定如何。這主要是爲了學習要點。

回答

0

不建議在代碼中使用全局變量,如果必須使用全局變量,則意味着執行不當。

例如,您需要檢查兩個類是如何連接的,也許您可​​以使用委託來通知值已更改,或者使用新值發送通知。

+0

嗨!感謝發佈。請問爲什麼使用全局變量不好?在C我偶爾會使用它們,這似乎不是不好的做法?我想我只在過程程序中使用它們,而不是在OOP中使用它們 – 2013-05-03 10:14:08

+0

難以正確使用它們,你必須知道哪些類正在訪問它們以及什麼時候訪問它們,並且容易犯錯誤,所以不建議這樣做。 – 2013-05-03 10:16:22

0

您應該可以傳遞該值,然後使用委託方法(如果使用故事板,請展開segue)將更新後的值發回。

另一個可行的選擇(雖然我覺得這裏矯枉過正)是使用單例創建一個更新的對象。

作爲一種替代方法(雖然不推薦,除非這兩個控制器除了傳遞值之外沒有任何連接),您可以使用CoreDataNSUserDefaults來保存該值。

相關問題