由对象C中的前向声明引起的循环引用和警告

hue*_*oro 1 warnings objective-c

我有两个相互引用的类,因此需要一个前向声明来避免循环引用.由于前向声明,我在尝试引用具有前向声明的类的类名或属性时会收到各种警告.有什么建议?关键的限制是我需要保持让类​​相互引用的能力

ClassA.h

#import "ClassB.h"

@interface ClassA : NSObject {
    ClassB *class_b;
}
@end
Run Code Online (Sandbox Code Playgroud)

ClassB.h

@class ClassA;

@interface ClassB : NSObject {
     ClassA *class_a;

}

@end
Run Code Online (Sandbox Code Playgroud)

ClassB.m

#import "ClassB.h"


@implementation ClassB

-(void)method{
}
- (id)init
{
    (self = [super init]);
    class_a = [[ClassA alloc] init];
    return self;
}


@end
Run Code Online (Sandbox Code Playgroud)

我得到的警告如下:

ClassB.m:13: warning: receiver 'ClassA' is a forward class and corresponding @interface may not exist
Run Code Online (Sandbox Code Playgroud)

Rob*_*ier 7

在ClassB.m你需要#import "ClassA.h".该@class向前声明仅仅是头文件.