2013-11-03 32 views
1

我在這裏有一個基本問題。我知道我們可以使用NSUserDefaults來存儲永久存儲在設備中的數據。但是有沒有其他方法/變量可以用來爲一個會話存儲數據,即當用戶關閉/關閉應用程序並重新打開它時,數據將完全消失。只存儲一個會話數據的變量

我希望我能在不同的類在同一個會話(視圖控制器)

非常感謝在回顧數據(例如一個int)回來!

回答

2

這樣做的一個常見的波形是在您的應用程序委託中創建一個ivar,並設置和獲取它。

+0

Thx David!我會仔細看看的! – Summerhei

0

顯然,您要尋找的不是持久性,而是跨多個類的數據可用性。一個常見的模式是Singleton pattern。以下是一個示例實現。

@interface MySingleton : NSObject { 
    NSString *someProperty; 
} 

@property (nonatomic, retain) NSString *someProperty; 

+ (id)sharedManager; 

@end 


@implementation MyManager 

@synthesize someProperty; 

#pragma mark Singleton Methods 

+ (id)sharedManager { 
    static MyManager *sharedMyManager = nil; 
    static dispatch_once_t onceToken; 
    dispatch_once(&onceToken, ^{ 
     sharedMyManager = [[self alloc] init]; 
    }); 
    return sharedMyManager; 
} 

- (id)init { 
    if (self = [super init]) { 
    someProperty = [[NSString alloc] initWithString:@"Default Property Value"]; 
    } 
    return self; 
} 

- (void)dealloc { 
    // Should never be called, but just here for clarity really. 
} 
+0

thx guys!讓我試試這個! – Summerhei