是否建议不要导入父母或兄弟姐妹' cocos2d中的类头文件?

时间:2015-05-19 07:23:29

标签: ios objective-c design-patterns cocos2d-iphone compilation

例如,有三个类,Aclass,Bclass和Cclass。 Aclass将Bclass和Cclass的一些实例初始化为不同的子节点。通常我会在Aclass.h或Alcass.m中导入Bclass.h和Cclass.h。到目前为止,Bclass和Cclass还没有相互认识。然而,例如Bclass需要知道Cclass的属性和方法。一种方法是在Bclass.h或Bclass.m中导入Cclass.h;稍后在Cclass上需要了解Bclass,然后我将在Cclass.h或Cclass.m中导入Bclass.h。有时候,如果有"进口周期"那些无法通过编译的东西,那么我可以将其中一个导入从xx.h更改为@class Xclass。

虽然这有效,但我认为这不是正确或委托的方式。我以前只使用委托来避免导入父类。那么,如果一个班级需要了解它的兄弟姐妹,最好的设计方法是什么?

1 个答案:

答案 0 :(得分:1)

如果你要进行导入循环,你应该做的只是将标题导入到.m文件中,然后如果你真的需要.h中的那个对象,请在标题顶部使用@class ClassName;向编译器承诺对象的类型存在。

编辑: 我的坏,tl; dr' ed the last sentance,这是接近它的正确方法