我正在开发一个 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 变量。
希望你能理解我的想法,因为这让我抓狂。真的不可能做到吗?
谢谢。
最佳答案
您可以使用@class
关键字在头文件中前向声明一个类。这使您可以使用类名来定义实例变量,而无需 #import
头文件。
Class1.h
@class Class2;
@interface Class1
{
Class2 * class2_instance;
}
...
@end
Class2.h
@class Class1;
@interface Class2
{
Class1 * class1_instance;
}
...
@end
请注意,您仍然需要在 .m 文件中#import
适当的头文件
关于objective-c - 我怎样才能在 Objective-C 中的两个类之间有引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1119570/