2012-07-26 5 views
1

내 앱에서 싱글 톤을 사용하려고합니다. 싱글 톤을 사용하여 8 개의 문자열을 공유하고 싶습니다.싱글 톤을 참조하는 방법은 무엇입니까?

이것은 내가 언급 된 튜토리얼은에 ->http://www.galloway.me.uk/tutorials/singleton-classes/

내 코드 : - MyManager.h

#import <foundation/Foundation.h> 

@interface MyManager : NSObject { 
NSString *someProperty1; 
NSString *someProperty2; 
NSString *someProperty3; 
NSString *someProperty4; 
NSString *someProperty5; 
NSString *someProperty6; 
NSString *someProperty7; 
NSString *someProperty8; 
} 

@property (nonatomic, retain) NSString *someProperty1; 
@property (nonatomic, retain) NSString *someProperty2; 
@property (nonatomic, retain) NSString *someProperty3; 
@property (nonatomic, retain) NSString *someProperty4; 
@property (nonatomic, retain) NSString *someProperty5; 
@property (nonatomic, retain) NSString *someProperty6; 
@property (nonatomic, retain) NSString *someProperty7; 
@property (nonatomic, retain) NSString *someProperty8; 

+ (id)sharedManager; 

@end 

MyManager.m

#import "MyManager.h" 

@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]) { 
someProperty1 = [[NSString alloc] initWithString:@"Default Property Value"]; 
someProperty2 = [[NSString alloc] initWithString:@"Default Property Value"]; 
someProperty3 = [[NSString alloc] initWithString:@"Default Property Value"]; 
someProperty4 = [[NSString alloc] initWithString:@"Default Property Value"]; 
someProperty5 = [[NSString alloc] initWithString:@"Default Property Value"]; 
someProperty6 = [[NSString alloc] initWithString:@"Default Property Value"]; 
someProperty7 = [[NSString alloc] initWithString:@"Default Property Value"]; 
someProperty8 = [[NSString alloc] initWithString:@"Default Property Value"]; 
    } 
    return self; 
} 

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

@end 

나는이 싱글 톤을 사용하려면 이 문자열 변수를 사용하여 하나의 다른보기에 문자열을 추가 한 다음이를 사용하여 다른 세 번째보기의 데이터베이스에 저장하십시오.

누군가 이러한 변수를 참조하고 이러한 변수에 문자열을 저장하고 세 번째 다른보기에서 다시 액세스하는 방법을 알려주시겠습니까?

답변

4
  1. 싱글 톤을 사용하는 import MyManager.h.
  2. [[MyManager sharedManager] someProperty1]; // for getting

  • [[MyManager sharedManager] setSomeProperty1:@abc"]; //for setting
  • 하거나 빠른 응답이 또한 같은

    MyManager *manager = [MyManager sharedManager]; 
    manager.someProperty1 = @"abc"; 
    NSString *str = manager.someProperty1; 
    
    +0

    감사를 사용할 수 있습니다. 텍스트 필드에서 그 값을 얻는다면. 2 단계는 어떻게 완료 될까요? [[MyManager 공유 관리자] setSomeProperty1 : textfield1.text]; ? 그게 맞습니까? –

    +0

    예'textfield1.text'는 문자열을 반환합니다. –

    +0

    정말 고마워요! 이걸 시도하고 너에게 돌아 가자. –

    관련 문제