Cocos2d에서 SingleTon 사용방법 및 소스코드

2016. 2. 19. 16:52Korean/개발백과사전

프로그램 개발을 하면서 SingleTon을 사용하면 편리할 때가 있습니다.


SingleTon이 무엇인지는 각설하고 사용방법 및 소스코드를 첨부합니다.



"LayerMngt.h"  라고 선언한 헤더파일입니다.


class LayerMngt

{

public:

LayerMngt();

~LayerMngt();


// Singleton object

static LayerMngt& getInstance();

static void releaseInstance();

static LayerMngt* m_pInstance;


public:

void testFunc();


private:

       int testVariable;

};



"LayerMngt.cpp" 소스코드입니다.



#include "LayerMngt.h"


LayerMngt *LayerMngt::m_pInstance = nullptr;


LayerMngt::LayerMngt() {}

LayerMngt::~LayerMngt(){}


//-----------------------------------------------------------------------------

// getInstance

//-----------------------------------------------------------------------------

LayerMngt& LayerMngt::getInstance()

{

if (m_pInstance == nullptr)

m_pInstance = new LayerMngt();


return *m_pInstance;

}


//-----------------------------------------------------------------------------

// releaseInstance

//-----------------------------------------------------------------------------

void LayerMngt::releaseInstance()

{

if (m_pInstance != nullptr)

delete m_pInstance;

}


//-----------------------------------------------------------------------------

// testFunc

//-----------------------------------------------------------------------------

void LayerMngt::testFunc()

{

testVariable = 20;

}



간단하죠?


자 이제 이 기본 클래스를 가지고 사용만 하면 되겠네요.


SingleTon 클래스 사용하는 방법은 잘 아실테지만 그래도 적어 볼께요.


사용하고자 하는 곳에 헤더파일을 정의해줍니다.


#include "LayerMngt.h"


그리고 필요할때 호출하는 방법은


LayerMngt::getInstance().testFunce()


이렇게 해주면 되겠네요.


간단하죠?


즐거운 코딩되세요.