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