2012-04-08 153 views
2

我想在使用故事板的iPhone應用程序中擁有全局數組/變量。有沒有辦法從許多不同的故事板屏幕訪問這樣一個全局變量?iPhone - 故事板中的全局變量

由於 凱文

回答

1

故事板部分是有點不相關:在可可實現這一點的標準方式是定義一個對象作爲模型,分享在應用程序中定義的控制器當中其標題(通過故事板或其他),並在應用程序啓動代碼中創建共享模型的實例。

有關在Objective C中實現單例的信息,請參閱this link

+1

*就問*:我們不能在申報文件的appDelegate這些變量並使用它在每個班級? – 2012-04-08 17:42:13

+0

我會appreaciate如果你拋出一些光。 – 2012-04-08 17:42:36

+2

@anonymous從技術上講,你可以把它放在任何文件中,而Appdelegate在這方面既不會更好也不會更糟。但是,這不是放置模型的最典型選擇。共享變量的最佳選擇是在一個共同的位置有一個適當命名的共享類。 – dasblinkenlight 2012-04-08 19:16:38

1

也許最簡單的就是將信息存儲在NSUserDefaults中。它可以在應用程序的任何地方訪問,所以應該是你想要的。我張貼的一個片段,如果你不知道如何處理它:)

如何設置:

NSUserDefaults *settings = [NSUserDefaults standardUserDefaults]; 
BOOL yourVariable = YES; 
[settings setBool:yourVariable forKey:@"myVariableKey"]; 
[settings synchronize]; 

如何獲得它:

NSUserDefaults *settings = [NSUserDefaults standardUserDefaults]; 
BOOL yourVariable = [settings boolForKey:@"myVariableKey"]; 

我張貼布爾的例子,但它可以是任何你需要的價值 - 例如:

[settings setValue:@"Hello!" forKey:@"welcomeMessage"]; 
+0

謝謝,作品非常棒! 如果我釋放NSUserDefault對象,那麼釋放項目永久保存的空間,我認爲? – Kevin 2012-04-08 22:45:57