別のクラス「CoordinationController.h」があり、いくつかのプロトコルが含まれています
例:
@protocol CoordinationControllerDelegate <NSObject>
- (void)startScrollingUpToXPosition:(NSInteger)xPosition scrollingUpToYPosition:(NSInteger)yPosition;
@end
しかし、 「CoordinationController.m」ファイルは実装していません。しかし、このプロトコルは、私の「ControllerManager.m」クラスを除くすべてのviewControllerクラスに実装されています。
そして、「ControllerManager.h」クラスが1つあります。ここに、NSArray のコントローラー オブジェクトのリストがあります。
ControllerManager.h
@interface THSControllerManager : NSObject
{
NSArray *_controllers;
}
@end
ControllerManager.m
@interface ControllerManager ()
@property (nonatomic, retain) NSArray *controllers;
@end
@implementation ControllerManager
@synthesize controller = _controllers;
- (id)init
{
self = [super init];
if(self)
{
self.controllers = [NSArray arrayWithObjects:viewController1, viewController2, nil];
}
}
@end
ここで、実装されたすべてのコントローラーに対してプロトコルを呼び出す必要があります。どうすれば達成できますか。
CoordinationController
クラスでクラスのオブジェクトを作成する必要ControllerManager
があるか、他の方法で親切に提案してください。同じ機能を実現する他の方法がありますので、コメントしてください。