over 7 years ago

當系統中某項資源只有一個,而且絕對獨一無二時,最適合使用這個Pattern,也就是說使用這個Pattern可以確保物件個體只有一個,不會因programmer的疏忽而產生兩個或兩個以上。
  

Wiki - Singleton

  • Setter & Getter CC_SYNTHESIZE 參考寫法
  • Singleton.h

    class Singleton {
    public:
    static Singleton* getInstance();
    
    // 所需要透過Singleton存取的變數
    CC_SYNTHESIZE(string, email, Email); 
    
    private:
    static Singleton* singleton;        
    Singleton();
     };
    
  • Singleton.cpp

    Singleton* Singleton::singleton = nullptr;
    Singleton::Singleton() { }
    Singleton* Singleton::getInstance(){
    if (singleton == nullptr) singleton = new Singleton;
      return singleton;
    }
    
  • 用法

    Singleton::getInstance()->getEmail();
    Singleton::getInstance()->setEmail("email@gmail.com");
    

最後, 我們有個關於 Cocos2d-x 的Facebook社團, 如果有任何疑難問題, 歡迎到社團發問。

Cocos2dx Taiwan 開發者社團

← Cocos2dx 多國語言的處理方式 Cocos2dx - 傳入 Lambda 當作函式參數 →
 
comments powered by Disqus