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

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

原文地址:https://www.cnblogs.com/songcf/p/4549788.html