【发布时间】:2016-12-28 09:27:34
【问题描述】:
一个 ViewController 类已经将 UIView 类导入其中。 现在将协议实现到同一个类中。
这里是 @protocol 类中已经导入的 WeeklyView 类。
现在在每周视图中,我得到了实现@protocol 方法的场景。 所以我需要将 PlanViewController 导入那里。
看起来classA import ClassB和ClassB import ClassA是错误的。
在这种情况下如何避免这种行为?并执行协议。
// ViewController 类
#import <UIKit/UIKit.h>
#import "WeeklyView.h"
@protocol PlanViewControllerDelegate <NSObject>
@optional
-(void)nextWeekGlanceCategory :(NSString *)startweekDate endWeekDate:(NSString *)endWeekDate;
@end
//另一个类的周视图
#import <UIKit/UIKit.h>
#import "PlanViewController.h"
@interface WeeklyView : UIView <UITableViewDelegate,UITableViewDataSource,PlanViewControllerDelegate>
【问题讨论】:
-
好吧,我的建议是将协议放到不同的 headerFile 中。第二种解决方案是在实现文件上导入 planViewController。然后在你调用@protocol PlanViewControllerDelegate 的头文件上,这仍然有效。第三个让实现文件包含某种接口类别,然后在那里分配委托
标签: objective-c protocols