如何将我的AppDelegate定义为它实例化的类的实例变量
How to define my AppDelegate as instance variable of a class it instantiates?
我正在启动一个C++项目(使用Cocos2d-x,但并不重要),我的AppDelegate在其中创建一个IntroMenu对象。我想将AppDelegate定义为IntroMenu类的实例变量,但我没能做到…
以下是我的IntroMenu的定义:
简介菜单.h
class IntroMenu : public cocos2d::CCLayerColor
{
public:
AppDelegate* _app;
//etc...
}
简介菜单.m
CCScene* IntroMenu::scene()
{
CCScene *scene = CCScene::node();
IntroMenu *layer = IntroMenu::node();
scene->addChild(layer);
return scene;
}
当我从我的AppDelegate安装IntroMenu时,我在AppDelegate:中这样进行
introScene = IntroMenu::scene();
((IntroMenu*)introScene)->_app = this;
_app
是IntroMenu的公共变量(类型为AppDelegate)。
问题是,当我稍后想在AppDelegate的其他方法中使用_app
时,它是一个空指针。
如何正确实例化IntroMenu及其变量_app
?
谢谢!!
我认为正确的答案是:
AppDelegate *aD = ((AppDelegate*)CCApplication::sharedApplication());
aD->myAppDelegateMethod();
[[UIApplication sharedApplication] delegate]
通过这种方式,您可以访问您的应用程序委托类:)
相关文章:
- 从C++实例化QML
- 设计一个只能由特定类实例化的类(如果可能的话,通过make_unique)
- 如何创建一个空的全局类并在启动时实例化它
- 在两个类中共享相同的函数调用,并在不需要时避免空实例化
- 约束和显式模板实例化
- 为什么包含windows.h会产生语法错误,从而阻止类的实例化?(C2146,C2065)
- 对象实例化调用构造函数的次数太多
- 如何使用非默认构造函数实例化模板化类
- 静态数据成员模板专用化的实例化点在哪里
- 错误的cv::face FacemarkLBF实例化
- C++的解析器在可以区分比较和模板实例化之前会做什么?
- 为什么 gcc 和 clang 为函数模板的实例化生成不同的符号名称?
- 检查某些类型是否是模板类 std::optional 的实例化
- 我有一个对象,它将在整个程序的持续时间内实例化,但一个类成员不会,我应该动态分配它吗?
- 无法使用 SWIG 在 Python 中实例化C++类(获取属性错误)
- 模板化类构造函数的模板实例化
- 在 c++ 中的模板实例化中使用带有构造函数的类作为类型参数
- 在C 中,是否有一种(新的)方法来测试类是否在模板中具有虚拟破坏者而无需实例化实例
- 如何在没有复制构造函数和赋值运算符的情况下实例化实例变量
- 用C++实例化实例变量的正确方法