2010-07-27 188 views
0

如何在x-code(iphone)中使用全局變量。例如,假設我想在視圖控制器文件中聲明一堆變量(NSStrings),那麼我將如何在我的不同類中訪問它們?有人能幫我嗎?全局變量?

回答

2

全局變量是全局變量。您可以像在任何C程序中一樣使用它們,也就是說它們通常會以「globals.h」的形式聲明並在需要時導入。有了這個說法,依賴全局變量的做法通常是不好的做法。你可能有一個「ApplicationController」對象,它實質上跟蹤應用程序的全局狀態,但它的變量應該是實例變量,並且只能在內部訪問,或者通過getters/setter訪問。

如果您想在單個對象中聲明一串字符串以供其他許多對象引用,那麼通常會將該對象設置爲Singleton並將引用傳遞給需要訪問它的每個對象。

但是,你需要問自己爲什麼你需要這樣做,如果沒有更好的方法。我會打賭美元甜甜圈沒有一個很好的理由,你想做什麼。

給我們一些關於這些字符串是否是全局需要的更多細節,然後我們可以告訴你爲什麼他們不這樣做。 :)

+0

upvote。這就是你如何聲明一個全局變量,但它很可能是一個更好的方式來做你想做的事情。 – kubi 2010-07-27 11:45:24

+0

在我的每個類(20)中,我都有一個需要使用(例如)20個字符串的操作。每個類使用相同的字符串,而不是在每個類中聲明它們,我想知道是否有辦法只聲明一次,然後在我所有的類中使用它們。 – Roosh 2010-07-27 23:11:44

0

如果不是太過死亡,您可以使用singleton。另一種選擇是NSDefaults。當然,最簡單的方法就是簡單地定義.H

extern NSString * const STR_1; 

一個外部和.M值:

NSString * const STR_1 = @"String One"; 
0

只是聲明變量在.h文件,然後導入此文件任何你想使用它的課程。您可以創建任何類型的對象或變量全局。

0

如果您在委託中聲明變量,則可以使用setter和getter方法訪問任何其他控制器中的變量。

Warrior Answer

我希望,它會幫助你。