2016-12-28 7 views
0

Eine ViewController-Klasse hat bereits die UIView-Klasse importiert. Jetzt bei der Implementierung des Protokolls in die gleiche Klasse.Wie vermeidet man die Importklasse und implementiert das Protokoll?

Hier @ Protocol Klasse in bereits importierten WeeklyView-Klasse.

Jetzt in der Wochenansicht habe ich Szenario, um die @ Protokoll-Methode zu implementieren. Also muss ich PlanViewController dort importieren.

Es sieht wie KlasseA Import ClassB und ClassB Import ClassA aus, die falsch ist.

Wie kann dieses Verhalten in diesem Fall vermieden werden? und das Protokoll implementieren.

// Viewcontroller Klasse

#import <UIKit/UIKit.h> 
#import "WeeklyView.h" 
@protocol PlanViewControllerDelegate <NSObject> 
@optional 
-(void)nextWeekGlanceCategory :(NSString *)startweekDate endWeekDate:(NSString *)endWeekDate; 
@end 

// Eine andere Klasse Weeklyview

#import <UIKit/UIKit.h> 
#import "PlanViewController.h" 
@interface WeeklyView : UIView <UITableViewDelegate,UITableViewDataSource,PlanViewControllerDelegate> 
+0

Nun mein Vorschlag wird das Protokoll auf eine andere Headerdatei setzen. Die zweite Lösung wird den PlanViewController für die Implementierungsdatei importieren. dann auf der Header-Datei, die Sie @ Protokoll PlanViewControllerDelegate aufrufen, wird dies noch funktionieren. Drittens muss die Implementierungsdatei die Schnittstellenkategorie von sowesort enthalten und dann die Zuweisung des Delegaten dort – Joshua

Antwort

1

einfach Ihr Protokoll in separaten Header-Datei setzen.

Um Protokoll-Header-Datei zu erstellen, können Sie es wie folgt auswählen: Datei-> Neu-> Objective-c-Datei-> Protokoll.

Verwandte Themen