如何在Objective-C中的两个类之间引用?

tre*_*nik 5 oop iphone reference objective-c

我正在开发一个iPhone应用程序,我对Objective-C以及class.h和class.m结构都不熟悉.

现在,我有两个类都需要拥有另一个类型的变量.但这似乎是不可能的.

如果在class1.m(或class2.m)中我包含class1.h,然后是class2.h,我不能在class1.h中声明class2变量,如果我包含class2.h然后class1.h,我可以'在class2.h中声明class1变量.

希望你有我的想法,因为这让我疯了.这样做真的不可能吗?

谢谢.

e.J*_*mes 20

您可以使用@class关键字在头文件中转发声明一个类.这使您可以使用类名来定义实例变量,而无需#import头文件.

Class1.h

@class Class2;

@interface Class1
{
    Class2 * class2_instance;
}
...
@end
Run Code Online (Sandbox Code Playgroud)

Class2.h

@class Class1;

@interface Class2
{
    Class1 * class1_instance;
}
...
@end
Run Code Online (Sandbox Code Playgroud)

请注意,您仍需要#import.m文件中的相应头文件