WgUserModel.h:16:26: error: attempting to use the forward class 'WgBaseObject' as superclass of 'WgUserModel'
@interface WgUserModel : WgBaseObject
^
WgUserModel.h:14:22: note: forward declaration of class here
@class PicturesModel,WgBaseObject;
意思是WgUserModel编译时父类WgBaseObject还未编译,一般是在pch文件里父类没有在子类被编译之前编译出现的,
解决方法:
1、首先是所有类不要在头文件里引用别的类的头文件,如果要引用直接使用@class引用要使用的类就可,避免循环引用,如果这两个类写在pch里可能会引起多次编译问题,导致编译失败
2、保证父类先于子类编译,尤其是pch里引用两个类而这两个类又有继承关系的时候。此处是保证pch里面WgBaseObject先于WgUserModel编译,即WgBaseObject.h放在WgUserModel.h前面
网友评论