2014-01-30 114 views
0

目前我有2個ViewController文件我想共享公用數據,但是我希望有一個名爲GlobalVariables的類存儲整個代碼中的所有變量。在其中一個ViewController文件中,我想設置一個變量的值(我已經在GlobalVariables.m文件中創建了一個setVariable方法),並且從ViewController中,我想調用這個方法來設置變量。如何在不創建GlobalVariables實例的情況下執行此操作,因爲當我在第二個ViewController文件中創建GlobalVariables的另一個實例時,對實例所做的任何更改都不會繼續進行?如何在不創建類的實例的情況下將值設置爲類?

+0

做一些搜索「單身人士」。 – rmaddy

回答

2

使用單例設計模式。這是在代碼的不同部分之間共享數據的一種非常強大的方式,無需手動傳遞數據。並且也將永遠是一個實例,通過了應用程序生命週期

請檢查此鏈接: Singleton Class

+0

單身設計模式很適合完成這項任務! – Mayankmmmx

+0

@Mayankmmmx:如果我的答案是你,那麼接受我的答案,這樣也有助於其他人。謝謝 –

0

定義您varible在AppDelegate中。 AppDelegate是一個Singleton類。 並訪問你想要的變量。

+1

我只是讓你知道,這種方法可能會給你一些嚴重的反彈!應用程序代理不應該像這樣使用。我記得在我的好日子裏,我建議這樣的方法,並由堆棧社區鞭打!只是給你一個頭:) – Pavan

+0

嘿你能告訴我,如果我想訪問appdelegate方法比我怎麼能叫他們 – morroko

+0

同意。不要使用應用程序代理作爲全局變量的傾倒場。 – rmaddy

0

目前還不清楚「設定班級價值」的含義。 Objective-C中有3種變量:全局變量,實例變量和局部變量。局部變量不相關。如果你不想創建一個實例,那麼實例變量就沒有了。那麼你想要全局變量。它們可以通過任何功能或方法進行設置和訪問。

相關問題