我有这样的协议:
#import <Foundation/Foundation.h>
@protocol StoreDisplayerDelegate <NSObject>
-(void) changeActionForObjectWithId:(NSString *)objectID ;
@end
我有一个符合先例协议的callassStoreDisplayerDelegate
@interface ShelfVC : UIViewController :<StoreDisplayerDelegate>
....
@implementation ShelfVC
...
- (void)viewDidLoad {
...
DownloadManager *manager = [DownloadManager sharedInstance];
[manager setStoreDisplayerDelegate:self];
....
}
#pragma mark StoreDisplayerDelegate methods
-(void) changeActionForObjectWithId:(NSString *)objectID {
......
}
@end
在我的代码中(在同一个类中)有时我会调用委托方法来做一些事情,例如:
- (void)anOtherMethod{
[self changeActionForObjectWithId:nil];
}
我的问题 1. 是:当对象是另一个对象的委托时,委托实现的方法是否仅由另一个对象调用(女巫有参考)?我的意思是,例如,在我显示的代码中,应该是changeActionForObjectWithId:
downLoad 管理器刚刚调用的方法,还是我可以像这样在我的类的内部使用它:
- 我在做什么清洁或使用委托模式的糟糕设计?
我希望这很清楚。