2012-04-11 2 views
0

나는 클래스를 가지고 있는데, 그 클래스에서 나는 싱글 톤 패턴을 설정하고 메소드를 가지고있다. 어떻게 보이는지에 대한 간단한 예제가있다. 내가 전화를 생각하면/싱글 톤 클래스를 initalize 궁금하네요메소드 이름이 동일한 싱글 톤 클래스의 일부입니까?

#pragma mark Singleton Methods 
+ (id)sharedManager { 
    @synchronized(self) { 
     if (sharedMyManager == nil) 
      sharedMyManager = [[self alloc] init]; 
    } 
    return sharedMyManager; 
} 
- (id)init { 
    if (self = [super init]) { 
//so some init stuff here 
//... 
} 

-(void)savemethod { 
//etc etc 
} 

나중에 내가 저장 전화 싱글 초기화가 같은 클래스에서 다음 그래서

//set up plist controller class as a singleton so that you dont loose cache numbers etc 
    EnginePropertiesController *enginePC = [EnginePropertiesController sharedManager]; 

처럼 사용할 수 방법 ...

[enginePC saveMethod];

그럼 내가 궁금해하는 것은 같은 인스턴스의 saveMethod 부분입니까? 나는 그것이 동일한 초기화 이름 인 enginePC를 사용하고 있기 때문에 그것이라고 생각한다. 그러나 이것에 대한 약간의 설명을 원할 것이다.

답변

1

내가 이해한다면, saveMethod이 싱글 톤 인스턴스에서 호출된다는 것이 맞습니다. 포인터의 이름은 가리키는 것과 관계가 없습니다.

+0

cool .. 나는 그렇게 생각했지만 내 이해가 정확했는지 확인하고 싶었다. 나는 현재 재산 목록과 함께 몇 가지 물건을하고 있는데 내가 이유를 찾으려고 노력하고있는 멀티 태스킹에서 응용 프로그램을 삭제하면 내 저장 방법에 저장 값을 잃어버린입니다 ... 아마 이것은 이것이 내가 일하고 있다고 생각 다른 경우에 어떤 방법으로. –

+0

흥미 롭습니다. 새로운 질문을해도 좋지만 작성한'.plist' 파일 (즉,'app.plist'가 아닌)에 저장하려고합니까? – oltman

+0

또한 도움이된다면이 답을 올바른 것으로 표시하는 것을 잊지 마시기 바랍니다 :) – oltman