Delegate サンプル
コーディング時に大枠を何処かからコピーペーストして修正実装
するパターンがよくあると思います。
実装時、コピペ用のテンプレートとしてご利用ください。
コードサンプル
// ***************************************************************************
// ■ デリゲートのプロトコル
// TestDelegate
@protocol TestDelegate <NSObject>
-(void) didFinishTestDelegate:(NSString*)status setTest:(NSString*)test;
@end
// ***************************************************************************
// ■ デリゲートの呼ばれる方
// Test.h
#import "TestDelegate.h"
@interface Test : NSObject
@property(nonatomic) id<TestDelegate> delegate;
@end
// -------------------------------------------------------------------------------
// Test.m
#import "BaseViewController.h"
@implementation BaseViewController
- (NSString *) getData{
// デリゲートを呼ぶ
[self.delegate didFinishTestDelegate:status setTest:test];
}
@end
// ***************************************************************************
// ■ デリゲートを呼ぶ方
// DoClass.h
#import "ApiDelegate.h"
@interface BaseViewController : NSObject
<ApiDelegate>
@end
// -------------------------------------------------------------------------------
// DoClass.m
#import "BaseViewController.h"
@implementation BaseViewController
- (void) getData{
TestDelegate *doDel = [[TestDelegate alloc] init];
doDel.delegate = self;
[doDel getData];
}
// デリゲートが呼ばれる
- (void) didFinishTestDelegate:(NSString*)status setTest:(NSString *)test{
NSLog(@"BaseApi didFinishParserDelegate");
}
@end
// ***************************************************************************

