2013-11-03 2 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 얘들 아 !! 내가 이것을 시도하자! – Summerhei

관련 문제