当前位置: 首页 > 知识库问答 >
问题:

是否建议不要在cocos2d中导入父级或兄弟级的类头文件?

张和颂
2023-03-14

例如,有三个类,Aclass、Bclass和Cclass。Aclass将Bclass和Cclass的一些实例初始化为不同的子类。通常我会导入B类。h和C类。h在课堂上。h或阿尔卡斯。m、 到目前为止,B班和C班还不认识。然而,在某些情况下,例如Bclass需要知道Cclass的属性和方法。一种方法是导入类。B班的h。h或B类。M稍后,Cclass需要了解Bclass,然后我将导入Bclass。在课堂上。h或C类。m、 有时,如果有“导入周期”无法通过编译,那么我可能会将其中一个导入从xx更改。h进入@class Xclass。

虽然这是可行的,但我觉得这不是正确的或授权的方式。我过去使用委托只是为了避免导入父类。那么,如果一个类需要了解它的兄弟姐妹,那么设计的最佳方式是什么呢?

共有1个答案

养昊天
2023-03-14

如果您有导入周期,您应该做的就是将标头导入到. m文件中,然后如果您真的需要. h中的该对象,请使用@class ClassName;在您的标头顶部向编译器promise对象的类型存在。

编辑:我的坏,tl;埃德博士最后一句话,这是正确的方法

 类似资料:
  • 本文向大家介绍JavaScript和jquery获取父级元素、子级元素、兄弟元素的方法,包括了JavaScript和jquery获取父级元素、子级元素、兄弟元素的方法的使用技巧和注意事项,需要的朋友参考一下 最近工作中总遇到取各种父啊子啊兄弟姐妹啊,每次都得查,这次整理个全乎的~ 先给大家上干货: 【js的获取方式】 【jQuery的获取方式】

  • 问题内容: 哪种风格更好? 风格A: 风格B: 假设 在代码的其他地方没有使用,仅在此函数内部使用。 问题答案: 确实,如前所述,通常最好遵循PEP 8的建议,并在顶部进行导入。虽然有一些例外。理解它们的关键在于您在第二段中嵌入的问题:“导入在哪个阶段发生?” 导入实际上是一个可执行语句。导入模块时,模块中的所有可执行语句都会运行。“ def”也是可执行的语句;它的执行将使定义的名称与(已编译的)

  • 问题内容: 我父母的渲染中有以下代码 以及下面我孩子图表中的代码 我以为仅在所有子项都加载后才调用父级的componentDidMount。但是在这里,父级的componentDidMount在子级的componentDidMount之前被调用。 这是工作方式吗?还是我做错了什么。 如果这是工作方式,我如何检测从父级加载所有子级组件的时间? 问题答案: 是的,孩子的称为父母之前的。 运行下面的代码

  • 问题内容: 我处理这个问题已有一段时间了,研究了我可以找到的所有相关问题,例如:这个,这个和这个。您能帮我解决这个错误吗?这是logcat抛出的唯一一个。 相关代码: radio.java activity_radio.xml 问题答案: 定义在您需要定义它特定视图方式在这里你不能在该方法两个参数。 您的错误还表示 无法找到方法playPauseMusic(View) 意味着编译器需要 带有单个参

  • 我的软件包要复杂得多,但这里的所有内容都被剥离出来,并作为一个例子更易于阅读: (注意:我从官方教程中借用了这个结构) 我希望能够引用echo。从wavwrite中获取py。皮耶。 在wavwrite.py,我这样做了我的参考: 我得到这个错误: 我有一个朋友评论说,我应该尝试绝对导入,在这种情况下,我得到了一个不同的问题。 在wavwrite.py,我这样做了我的参考: 或 我得到这个错误: 这

  • 刚刚在学校学习过二叉树,二叉树的两条规则是 每个节点最多有2个子节点 存在为每个节点的子节点(有序对)定义的线性排序 现在,所有类型的二叉树(完整、完整等)都是二叉树,因此它们必须满足这两个条件。 然而,我在GeeksForGeeks上看到了这个例子: 这里如何定义“线性排序”,有序对? 对于图中的兄弟节点,一些左侧节点比右侧节点大,一些右侧节点比左侧节点大。 如果要求检查给定的树是否是二叉树,我