objective-c - 我怎样才能在 Objective-C 中的两个类之间有引用?

标签 objective-c iphone oop reference

我正在开发一个 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/

相关文章:

objective-c - 单击返回按钮时添加功能 -ios

iphone - MKAnnotationView 不可拖动,尽管我认为它已正确实现?

ios - 为什么我应该使自定义协议(protocol)符合 NSObject?

c# - 您如何在 .NET 的算法代码中断言?

vb.net - 如何使类成员对于创建的每个实例都是唯一的?

javascript - 在javascript中通过属性查找类实例

iphone - 在 UIImageView 中旋转图像

ios - "unrecognized selector sent to instance"在 performSegueWithIdentifier

AS3 的 Shape 类的 objective-c 等价物

iphone - 将简单的 Obj-C 转换为 Python