我有:
@interface A
@property (nonatomic, retain) B *toB;
@end
@interface B
@property (nonatomic, retain) A *toA;
@end
这导致编译器给我这个:
错误:'Property'之前的预期说明符限定符列表
现在,它似乎与独立解析文件的顺序有关,只要首先声明指向的对象,它们就会起作用。
我怎样才能解决这个问题?
答案 0 :(得分:2)
通过@class使用前向声明让编译器知道有一个名为A的类,它尚未看到该接口。
例如:
@class A;
@class B;
@interface A
@property (nonatomic, retain) B *toB;
@end
@interface B
@property (nonatomic, retain) A *toA;
@end