2010-10-07 59 views
2

我試圖實現一個現有類的類別。 現有類中有一個靜態變量。 如果我嘗試訪問某個類別的靜態變量,我得到的錯誤是該靜態變量未聲明的 。訪問ObjC類別中的靜態變量

是否可以訪問ObjC類別中的靜態變量?

回答

3

要明確,Objective-C不會將靜態變量與類相關聯。默認情況下,靜態變量的作用域爲默認的任何文件。

要使靜態變量在其他文件中可見,請在相應的頭文件中添加一個以關鍵字extern爲前綴的聲明。因此,舉例來說,如果你已經在你的.m文件的一個地方定義了以下靜態變量

int seconds = 60; 

,那麼你可以添加以下聲明,.h文件:

extern int seconds; 

然後,任何.m文件導入.h文件將看到靜態變量。

+0

謝謝,所以我需要子類或將方法添加到現有的類爲我的需要。 – LeonS 2010-10-09 07:46:58

+0

不知道我跟着那個。你原來的問題似乎是關於靜態變量的可見性;我誤讀了嗎?如果這就是你要求的,你也可以在類別中添加類方法。類和實例方法以及C函數通常可以訪問靜態變量,只要它們在範圍內即可。這真的沒什麼特別的。 – jlehr 2010-10-12 16:18:29