2016-03-13 69 views
0

如何在Parent中實現Child的代表?在父級實現子委託?

Parent.h:

@interface Parent : NSObject 

Child.h

#import "Parent.h" 
@protocol ChildDelegate <NSObject> 
- (void)someMethod; 
@end 

@interface Child : Parent 

我不能聲明父的接口爲:

@interface Parent : NSObject<ChildDelegate> 

,因爲它需要進口"Child.h",它將被循環輸入。

我該如何解決這個問題?

+1

將'ChildDelegate'移動到一個新的頭文件中,比如''ChildDelegate.h'''。 – Pang

+0

你能舉個例子嗎? – Rendy

+0

它是一個單獨的文件,並且該文件必須由父母和孩子導入? – Rendy

回答

1

您應該聲明源文件中的協議一致性(使用.m擴展名)。

您可以在Parent.h中聲明Parent類,但不符合ChildDelegate協議。

@interface Parent : NSObject 

而在您的Parent.m文件中,您可以編寫如下內容。

#import "Child.h" 

@interface Parent() <ChildDelegate> 

@end 

@implementation Parent 
// Your implementation code here 
@end