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 // ***************************************************************************