我的问题是:
现在当我编译它时,Xcode抱怨丢失文件(通过框架公共头部间接导入的私有头文件)。我在stackoverflow的某个地方读到我应该这样做:
“在公共头文件中使用@class包含其他接口并在实现文件(.m)中使用#import。”
我发现这个解决方案非常不满意 - 你也必须将它用于循环依赖。有没有更好的办法让我的标题保密?
答案 0 :(得分:1)
要获得循环引用,请使用标题中的@class指令和源文件中的#import。
在OtherClass.h中:
@class MyClass;
@interface OtherClass
{
MyClass *myInstance;
}
@end
在OtherClass.m中:
#import "OtherClass.h"
#import "MyClass.h"
@implement OtherClass
@end
在MyClass.h中:
@class OtherClass;
@interface MyClass
{
OtherClass *otherInstance;
}
@end
在MyClass.m中:
#import "MyClass.h"
#import "OtherClass.h"
@implement MyClass
@end