2010-03-13 63 views
1

我的头即将用这个逻辑爆炸,任何人都可以帮忙吗?Objective-C类问题?

A类#imports B类 类调​​用方法A在B类

这个伟大的工程

B类希望从由称为另一种方法发送一个响应返回给A级方法A.如果你#从类B中导入类A,它实际上是一个无限循环,整个事情崩溃。

有没有办法正确做到这一点,就像父类型的东西?

顺便说一句,我正在为iPhone开发。

编辑 当我从#IMPORT B类我得到这个编译器错误A类...

error: expected specifier-qualifier-list before 'StoreHoursCore' 

任何想法?

+1

这是__not__创建一个无限循环。 '#import'指令可防止多次包含文件。请描述你这样做的编译错误。 – zneak 2010-03-13 19:03:25

回答

7

我相信使用@class指令应该可以解决您的问题。

使用@class正向声明您的类类型,以便编译器不咳嗽。

看看SO上的这个question

+1

我会补充一点,这就是所谓的“正向声明” – Vladimir 2010-03-13 19:05:41

+0

你继续输入相同的东西在我做之前几秒钟:/ – 2010-03-13 19:08:54

+0

@Vladimir,编辑它,谢谢! – 2010-03-13 19:09:01

3

使用@class将其声明为类。这提示编译器知道它是一个类,而不必交叉多次包含和编译类(你得到错误的原因)。即:

@class myClass; 

#import预处理指令具有防止多重包括,但#include指令不。