2014-02-16 4 views
0

모든 클래스 사이에 많은 정적 NSString을 공유해야합니다. 싱글 톤을 사용하고 싶습니다.싱글 톤 구현으로 데이터 공유

static GlobalData *sharedSingleton = NULL; 

    + (GlobalData *)sharedGlobals 
    { 
     @synchronized(self) 
     { 
      if (sharedSingleton == NULL) 
       sharedSingleton = [[self alloc] init]; 
     } 

     //should i put a nsstring here ?    

     return(sharedSingleton); 
    } 

내 질문은, 난 내 정적 NSStrings 어떻게 설정합니까 :

나는이 싱글을 시도?

+0

어떻게'GlobalData'가 정적'NSString'과 관련이 있습니까? – user3125367

답변

0

일반 문자열과 같은 방식으로 고정 문자열을 설정합니다. 즉, @interface에 선언하면 단일 문자 초기화 프로그램에서 초기화 할 수 있습니다. 싱글 톤은 어떤 인스턴스와도 똑같이 사용됩니다 (정적 변수 sharedSingleton에 의해 모니터 됨).

또한 많은 개체에서 동일한 문자열을 사용하고 있으며 앱의 수명주기 동안 일정한 문자열을 사용하는 경우 문자열을 #define과 함께 상수로 선언하는 것을 고려해 볼 수 있습니다.

편집 선언을해야 뭔가

@interface GlobalData 
@property NSString *myString; 
... 
@end 

추천하고 코드의 어떤 부분에서.

NSLog(@"%@", [[GlobalData sharedGlobals] myString]; 
+0

감사하지만 인터페이스에서 평소와 같이 문자열을 설정하면 외부에서 [globalData sharedGlobals] .string을 사용하여 헴이 보이지 않습니다. – Curnelious

+0

@Curnelious 더 많은 코드를 표시하십시오. '문자열을 다음과 같이 설정하십시오. 인터페이스에서 평소 '. – user3125367

+0

수정 된 수정보기 – Merlevede