Gri*_*ess 12 xcode objective-c
我遇到了一个似乎对我没有任何意义的Objective-C问题.我是一个相对精通的ObjC程序员,理解整个"前瞻性宣言"的概念,但这个让我摸不着头脑.所以这是交易:
ClassA是我的Xcode项目中的一个类,它只是项目.ClassB是ClassA的子类,它是公共的,并导入到我的框架的头文件中.
我正在建立一个"无法找到'ClassA'的接口声明,'ClassB'的超类......"错误.我已经@class ClassA;
在ClassB.h中提出了前向声明,但这似乎并没有解决问题.当我更改@class ClassA;
为#import ClassA.h
,它工作正常.但是,由于ClassA只是项目,因此依赖项目无法构建ClassB,因为它无法访问ClassA的源代码.
任何帮助将不胜感激,我希望这是有道理的.谢谢!
bbu*_*bum 10
要为类创建子类,超类的完整声明必须可供编译器使用. @class
只是启用对所述类的实例的引用 - 允许A *foo;
.
子类化需要更多的元数据(至少,它是在遗留运行时下完成的 - 我认为有可能在没有完整的超级@interface的情况下支持子类化.技术上可行,但可能没用.)
归档时间: |
|
查看次数: |
25835 次 |
最近记录: |