SetScoringTableViewController

SetScoringTableViewController

我试图弄清楚如何在LocationViewController和SetScoringTableViewController中获得委托,并在GameDetailsTableViewController中实现它们两者。 LocationViewControllerDelegate已经在工作,但是当我添加新的SetScoringTableViewController时,程序出现错误。

LocationViewController.h

#import "ViewController.h"

@class LocationViewController;

 @protocol LocationViewControllerDelegate <NSObject>

- (void)addItemViewController:(LocationViewController *)controller didFinishEnteringItem:(NSString *)name;

 @end

@interface LocationViewController : UIViewController
  @property (nonatomic, weak) id <LocationViewControllerDelegate> delegate;
    @end

SetScoringTableViewController.h
#import <UIKit/UIKit.h>
#import "GameDetailsTableViewController.h"
#import "LocationViewController.h"

@class SetScoringTableViewController;

@protocol SetScoringTableViewControllerDelegate <NSObject>

- (void)addItemViewControllerSS:(SetScoringTableViewController *)SScontroller didFinishEnteringItemSS:(NSString *)SSname;

@end

 @interface SetScoringTableViewController : UITableViewController
    @property (nonatomic, strong) id <SetScoringTableViewControllerDelegate> SSdelegate;

    @end

GameDetailsTableViewController.h
#import <UIKit/UIKit.h>
#import "LocationViewController.h"
#import "SetScoringTableViewController.h"

@interface MainViewController : UITableViewController  <LocationViewControllerDelegate, SetScoringTableViewControllerDelegate>

当我运行它时,我得到一个错误:“即使有,也找不到'SetScoringTableViewControllerDelegate'的协议声明。
我发现解决此问题的唯一方法是将“SetScoringTableViewController委托放入LocationView Controller中,但是我知道这是不对的。我们将不胜感激。

最佳答案

您遇到的是一个#import cycle。打破导入循环
删除此导入行:

#import "GameDetailsTableViewController.h"

SetScoringTableViewController.h中并将其放在.m文件中。

关于ios - 向新 Controller 添加新委托(delegate)的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32567763/

10-08 20:53