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