【问题标题】:How to avoid import class and implement protocol?如何避免导入类和实现协议?
【发布时间】: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


【解决方案1】:

只需将您的协议放在单独的头文件中即可。

要创建协议头文件,您可以像这样选择它: 文件->新建->Objective-c文件->协议。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-19
    • 1970-01-01
    相关资源
    最近更新 更多