2011-07-21 19 views
0

我有两个类。这两个类都是相互代表。这给我错误,如“无法找到协议声明”。在网上搜索后,我得出结论,这是循环依赖的情况。如何在单独的头文件中声明协议

要打破这种依赖关系,他们建议的解决方案是在另一个头文件中定义协议。我找不到有关如何执行此操作的任何教程,以及它如何影响我的代码?

这将是非常有帮助的,如果有人创建了一个这样的例子。 在此先感谢。

+0

你可以显示你写的代码给对方,这样我就可以根据你的要求编辑你的代码 – Dinakar

+0

通常我们写作@class b而不是#import class b ... – Dinakar

+0

Kindly Display你到目前为止所尝试过的.. –

回答

0

如果您正在使用XCode 4您刚才创建新的文件一如既往,不同的是,你需要选择Objective-C protocolCocoa Touch部分而不是Objective-C classUIViewController subclass
您可能使用的其他方法是创建新的Objective-C class,然后只需删除.m文件manualy并在.h文件中将@interface更改为@protocol

2

我有一个例子给你..

@class ClassA; 
@class ClassAController; 

@protocol CreateClassADelegate 
-(void)CreateClassA:(ClassAController *)sender didCreateClassA:(ClassA *)ClassAObj; 
-(void)CreateClassACancel:(TSInputController *)sender; 
@end 

希望这会帮助你。