声明两个不同的代表。最好的办法是,永远不要实例化相同的委托两次,因为它最终会在你的代码中发生奇怪的事情。
在你UIImagePickerController.h写:
#pragma mark - Protocols advance declarations
@protocol imageTypeADelegate
@required
-(void) takeImageOfTypeA:(id)object;
@end
#pragma mark - Protocols advance declarations
@protocol imageTypeBDelegate
@required
-(void) takeImageOfTypeB:(id)object;
@end
将它们添加到你的财产申报这样
#pragma mark - Property declarations
@property (assign) id <imageTypeADelegate> typeADelegate;
@property (assign) id <imageTypeADelegate> typeBDelegate;
然后您在.m文件中加入:
#pragma mark - Protocols
-(void) pressedButtonToTakeImageOfTypeA:(id)sender;
{
[[self _typeADelegate] takeImageOfTypeA:(id)object];
}
-(void) pressedButtonToTakeImageOfTypeB:(id)sender;
{
[[self _typeBDelegate] takeImageOfTypeB:(id)object];
}
然后,无论你需要什么课程,他们都可以运行例程OU要做的就是它添加到你想要的.H它来通知
#import "UIImagePickerController.h"
@interface OtherViewController : UIViewController <imageTypeADelegate, imageTypeBDelegate>
,并在您的m某处
-(void) takeImageOfTypeA:(id)object;
{
// Do something
}
-(void) takeImageOfTypeA:(id)object;
{
// Do something
}
/〜完线
当然,我真的应该的我自己也想到了。我猜,百事可乐Max还不够。干杯。 – NSTJ 2012-07-10 17:53:48