聲明兩個不同的代表。最好的辦法是,永遠不要實例化相同的委託兩次,因爲它最終會在你的代碼中發生奇怪的事情。
在你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