Это делегат
@protocol DropControllerDelegate;
@interface DropController : NSObject
id<DropControllerDelegate> delegate;
}
@property (nonatomic, assign) id<DropControllerDelegate> delegate;
+ (DropController*) sharedController;
@protocol DropControllerDelegate <NSObject>
- (void)openUserButtons;
- (void)startUpload;
- (void)uploadDone;
- (void)uploadFailed;
- (void)startDownload;
- (void)downloadDone;
- (void)subFolderLoaded;
@end
Это одиночный код:
static DropController *sharedCont = nil;
#pragma mark Singleton stuff
+ (DropController *) sharedController {
@synchronized(self) {
if (!sharedCont)
sharedCont = [[DropController alloc] init];
return sharedCont;
}
return sharedCont;
}
Код для установки делегата (в myControllerA и myControllerB):
DropController* dropHelper = [DropController sharedController];
dropHelper.delegate = self;
Я могу принимать вызовы в одном контроллере, но не в другом контроллере (код повторяет), это сводит меня с ума!