Forward declaration of class here

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前面

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。