2011-10-05 332 views
1

我是新的iphone,我只是開發兩個小應用程序,並在這些應用程序時,當我需要項目級別的全局變量,我用於在應用程序委託聲明,但我在某處讀取,這不是最好的辦法,所以有人可以告訴我什麼是最好的方法來聲明項目級別的全局變量?在iphone sdk中聲明全局變量的最佳方法是什麼?

回答

1

做我剛纔已經回答了類似的question幾天就回來一個例子。據我所知,使用singleton將是最好的方法。你也可以看到my answer關於使用單例的全局變量。
您也可以使用appDelegate來實現此目的。但我不會推薦使用appDelegate。澄清請參閱this

0

它要麼u使用這個詞的extern在頭文件

的extern的NSString * yourVar;

或爲u提到u能在您的應用程序委託聲明它..

2

那麼這真的取決於你需要訪問的變量數。如果你需要在應用程序的任何地方訪問很多變量,我會建議做一個單例。 How to make a singleton

這裏是它的工作原理如何薩欽Shanbhag

@implementation MySingleton 
static MySingleton* _sharedMySingleton = nil; 

+(MySingleton*)sharedMySingleton 
{ 
    @synchronized([MySingleton class]) 
    { 
    if (!_sharedMySingleton) 
     [[self alloc] init]; 

     return _sharedMySingleton; 
    } 

return nil; 
} 
2

這裏有許多不同的方法來做到這一點:

  1. 聲明變量在.H,像「myView.h」文件和訪問它通過導入這個.h文件中(由#import "myView.h"文件)

  2. 聲明變量如.H的extern,像 「myView.h」 文件爲extern NSArray *myGlobalArray;然後在AppDelegate中文件,分配&初始化變量:

    myGlobalArray = [[NSArray中的alloc] INIT];

  3. 然後只是#import "myView.h"你需要這個變量。

    我瘦了會幫你一點點。

相關問題