这是代表代表工作在控制器A但不在控制器B
@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;
我能够在一个控制器中接收呼叫,但不能在其他控制器中接收呼叫(代码是一个山寨版),这让我疯狂!
如果这是一个单身人士,那么你以前覆盖了委托集。 –
你的*其他*控制器是什么意思?看起来你正在打电话给一个单身人士。 – Perception
单身并不是一个问题,我有另一个与委托的共享对象,就像一个魅力。 – Enlil