cocos2d-x lua 实现单例(管理类)

version: cocos2d-x 3.6

示例代码

local DogManager = class("DogManager")

-- other require
local UserData = require("src/app/controller/UserData") DogManager.instance = nil function DogManager:getInstance()
if not DogManager.instance then
DogManager.instance = DogManager:create()
DogManager.instance:initData()
end
return DogManager.instance
end function DogManager:initData()
-- do something
end return DogManager

注意事项

其他文件中require该单例时,填写的文件路径要保持一致,例如不能一个文件使用

require("src/app/controller/DogManager"), 另一个文件使用`require

("controller/DogManager")`, require使用传入的参数作为key,这样很容易造成key不

一致而创建两个DogManager

cocos2d-x lua 实现单例(管理类)的更多相关文章

  1. C++实现一个单例模板类

    单例模式在项目开发中使用得比较多,一个单例的模板类显得很有必要,避免每次都要重复定义一个单例类型 //非多线程模式下的一个单例模板类的实现 // template_singleton.h #inclu ...

  2. C++可继承的单例基类模板

    目录 一.介绍 二.代码 三.关键处 五.参考资料 一.介绍 最近在写一个项目,其中用到好几个单例,类本身的设计不是很复杂,但是如果每个都写一遍单例又觉得有点冗余:所以查资料写了一个单例基类模板,只要 ...

  3. javase基础笔记4——异常/单例和类集框架

    继承 extends final关键 多态 是在继承的基础上 接口 interface 异常 exception 包的访问可控制权限 private default protect public 异常 ...

  4. php单例模式实现对象只被创建一次 mysql单例操作类

    这是我在php面试题中遇到的一道试题,单例模式按字面来看就是某一个类只有一个实例,这样做的好处还是很大的,比如说数据库的连接,我们只需要实例化一次,不需要每次都去new了,这样极大的降低了资源的耗费. ...

  5. C# 通用单例窗体类

    /// <summary> /// 通用的单例制作器 /// </summary> /// <typeparam name="T"></t ...

  6. Lua面向对象 --- 单例

    GameManager.lua: --单例模式是利用一个全局表来实现的 GameManager = {} Manager = {__index = GameManager} function Game ...

  7. 分享一个单例模型类Singleton代码

    相关代码: ;                foreach (string key in dict.Keys)                {                    if (cou ...

  8. 一个基于C++11的单例模板类

    #ifndef _SINGLETON_H_#define _SINGLETON_H_ template<typename T>class Singleton : public Uncopy ...

  9. Java基础--单例类创建和测试

    单例模式的主要作用是保证在Java程序中,某个类只有一个实例存在.单例模式有很多好处,它能够避免实例对象的重复创建,不仅可以减少每次创建对象的时间开销,还可以节约内存空间:能够避免由于操作多个实例导致 ...

随机推荐

  1. 用VMware 8安装Ubuntu 12.04详细过程(图解)

    转载 http://www.cnblogs.com/achillesyang/archive/2012/06/21/2557152.html

  2. .NET中获取字符串的MD5码

    C# 代码: 导入命名空间(需要在Web页面的代码页中引用) using System.Web.Security; 获取MD5码 string Password = FormsAuthenticati ...

  3. 转】Maven学习总结(八)——使用Maven构建多模块项目

    原博文出自于: http://www.cnblogs.com/xdp-gacl/p/4242221.html 感谢! 在平时的Javaweb项目开发中为了便于后期的维护,我们一般会进行分层开发,最常见 ...

  4. Spring Auto proxy creator example

    In last Spring AOP examples – advice, pointcut and advisor, you have to manually create a proxy bean ...

  5. Edit Box多行显示时如何使滚动条始终在下方

    两种方法: ①  CEdit *pEdit = ((CEdit*)GetDlgItem(IDC_EDIT_RXDATA)); pEdit->LineScroll(pEdit->GetLin ...

  6. AfxGetMainWnd()函数用法

    CWnd* AfxGetMainWnd( ); 使用AfxGetMainWnd函数获取MFC程序中的主框架类指针是一个常用作法. 就是获得应用程序主窗口的指针,AfxGetMainWnd()-> ...

  7. FORTRAN程序设计权威指南

    <FORTRAN程序设计权威指南> 基本信息 作者: 白海波    出版社:机械工业出版社 ISBN:9787111421146 上架时间:2013-7-23 出版日期:2013 年7月 ...

  8. 【JDBC】预编译SQL与防注入式攻击

    在JDBC编程中,常用Statement.PreparedStatement 和 CallableStatement三种方式来执行查询语句,其中 Statement 用于通用查询, PreparedS ...

  9. 更改Android AVD路径

    添加环境变量 变量名:ANDROID_SDK_HOME 变量值:D:\Program Files\Java //SDK路径

  10. opennebula 自定义安装目录

    /bin//mkinstalldirs /usr/local/lib /bin//mkinstalldirs /usr/local/include /bin//mkinstalldirs /usr/l ...