2011-07-20 63 views
0

我有幾個筆尖文件,我需要跟蹤用戶點擊按鈕的次數。在這個方法中,我明顯會包含一些像counter++;,假設counter是一個int變量。但我的問題是,我不知道在哪裏定義該變量,以便我所有的nib文件都可以訪問它。創建全局變量iPhone/iPad

我試過的是在AppDelegate.h和.m文件中定義int變量計數器,但我無法訪問其他.m文件中的變量。

或者我可能需要在main.m文件中創建它。

回答

3

我知道有兩種選擇:

  1. 使用AppDelegate中。對於其他類訪問AppDelegate,你需要#import它。對於這些類訪問AppDelegate中的變量和方法,它們必須在其頭文件(.h)中聲明。
  2. 使用單身。類訪問「共享」類並訪問該共享類的變量和方法。有關更多信息,請參閱http://getsetgames.com/2009/08/30/the-objective-c-singleton/
+0

+1單的想法。 – Perception

2

通常,全局狀態被認爲是bad

要訪問您的應用程序代理很簡單:

MyAppDelegate* delegate = [[UIApplication sharedApplication] delegate]; 
+1

在某些情況下它們可能不好,但有時它們的使用是不可避免的。這也取決於你使用的語言。 –

+0

我不會說'不可避免的',更可能是'簡單的出路'。一旦陷入這個洞,離開它就非常困難/痛苦。我在這方面不是聖人,我會輕鬆地分配......但是,這些類型的習慣遲早會把我們扼殺在屁股裏。 –