2011-02-18 66 views
0

問候,目標C:存儲所有視圖中可訪問的變量

我試圖寫我的第一個iPhone應用程序。我需要能夠訪問所有視圖中的數據。數據在用戶登錄時存儲,之後需要可用於所有視圖。

我想創建一個靜態類,但是當我嘗試訪問靜態類時,我的應用程序崩潰,控制檯上沒有輸出。

將數據寫入文件的唯一方法是?或者還有另一個我沒有想到的更清潔的解決方案?

提前許多感謝,

回答

7

使用單例類,我一直使用它們來獲取全局數據管理器類,這些類需要在應用程序中的任何地方訪問。你可以創建一個這樣的簡單的:

@interface NewsArchiveManager : NetworkDataManager 
{ 
} 

+ (NewsArchiveManager *) sharedInstance; 
@end 

@implementation NewsArchiveManager 

- (id) init 
{ 
    self = [super init]; 
    if (self) 
    { 
     // custom initialization goes here 
    } 

    return self; 
} 


+ (NewsArchiveManager *) sharedInstance 
{ 
    static NewsArchiveManager *g_instance = nil; 

    if (g_instance == nil) 
    { 
     g_instance = [[self alloc] init]; 
    } 

    return g_instance; 
} 


- (void) dealloc 
{ 
    [super dealloc]; 
} 

@end 
+0

你提供的代碼似乎是一個標準的做法,我可以在任何地方看到它。但我一直在想。這種** sharedInstance **方法會不會導致內存泄漏?只有alloc和init,但沒有dealloc/release來釋放那部分內存... – 2011-02-18 15:46:56

1

我不知道你的意思「靜態類」是什麼,但你想要的是一個singleton。請參閱this question瞭解如何設置一種方法。