Objective c 导致编译器错误的相互依赖对象

Objective c 导致编译器错误的相互依赖对象,objective-c,compiler-construction,Objective C,Compiler Construction,我有: 这导致编译器向我提供以下信息: 错误:“属性”之前应有说明符限定符列表 现在,这似乎与独立解析文件的顺序有关,只要首先声明指向的对象,它们就可以工作 如何解决这个问题?通过@class使用前向声明,让编译器知道有一个名为a的类尚未看到接口 例如: @interface A @property (nonatomic, retain) B *toB; @end @interface B @property (nonatomic, retain) A *toA; @end 无需在此转发声明

我有:

这导致编译器向我提供以下信息:

错误:“属性”之前应有说明符限定符列表

现在,这似乎与独立解析文件的顺序有关,只要首先声明指向的对象,它们就可以工作


如何解决这个问题?

通过@class使用前向声明,让编译器知道有一个名为a的类尚未看到接口

例如:

@interface A
@property (nonatomic, retain) B *toB;
@end

@interface B
@property (nonatomic, retain) A *toA;
@end

无需在此转发声明A,只需在B的声明中使用B.A时,B已经声明。谢谢,我觉得应该是这样的:-)
@class A;
@class B;

@interface A
@property (nonatomic, retain) B *toB;
@end

@interface B
@property (nonatomic, retain) A *toA;
@end