iPhone App2011.07.14 11:29

요즘 다이어트 시대를 맞이해 연습차 칼로리 계산기를 만들어 보았다.

근데 칼로리를 지속적으로 저장해야 하는데 c# 같은경우는 그냥 static class 하나 만들어서 저장을 했는데

objective c에서도 있었다.

// SingletonClass.h

#import <Foundation/Foundation.h>

@interface SingletonClass : NSObject

{

}

+ (SingletonClass *)sharedSingletonClass;

@end

일단 이렇게 헤더 class를 만들고

// SingletonClass.m

#import "SingletonClass.h"

@implementation SingletonClass

+ (SingletonClass *)sharedSingletonClass

{

   static SingletonClass *singletonClass = nil;

  

   if(singletonClass == nil)

   {

   @synchronized(self)

   {

   if(singletonClass == nil)

   {

   singletonClass = [[self alloc] init];

   }

   }

   }

  

   return singletonClass;

}

@end

구현부에 이렇게 하면 된다.

사용은

SingletonClass *s = [SingletonClass sharedSingletonClass];

이렇게 하면 된다.

이렇게 하면 클래스 인스턴스를 한번만 생성되어서 어디서나 클래스를 만들어도

스태틱한 class가 되는것이다.

참고 : http://b4you.net/blog/210

Posted by 동동(이재동)