在父母中实施子代表?
Posted
技术标签:
【中文标题】在父母中实施子代表?【英文标题】:Implement Child Delegate in Parent? 【发布时间】:2016-03-13 06:54:44 【问题描述】:如何在 Parent 中实现 Child 的委托?
Parent.h:
@interface Parent : NSObject
Child.h
#import "Parent.h"
@protocol ChildDelegate <NSObject>
- (void)someMethod;
@end
@interface Child : Parent
我不能将 Parent 的接口声明为:
@interface Parent : NSObject<ChildDelegate>
因为需要导入"Child.h"
,所以会循环导入。
我该如何解决这个问题?
【问题讨论】:
将ChildDelegate
移动到一个新的头文件中,比如"ChildDelegate.h"
。
你能举个例子吗?
它是一个单独的文件,并且该文件必须由父母和孩子共同导入?
【参考方案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
【讨论】:
以上是关于在父母中实施子代表?的主要内容,如果未能解决你的问题,请参考以下文章