自作クラスでのdelegate実装方法
objective-cの自作クラスで、自分でdelegateを作りたい時があります。
そんな時にさくっと実装するためのメモ。
デリゲート元のクラス
MySample.h
// デリゲートプロトコルの定義 @protocol MySampleDelegate -(void)sampleMethod; @end @interface SampleObject : NSObject { } // デリゲート先が参照するためのプロパティ @property (nonatomic)id <MySampleDelegate> delegate;
MySample.m
// デリゲート先のメソッドを呼ぶ -(void)hoge { [self.delegate sampleMethod]; }
デリゲート先のクラス
SampleViewController.h
#import "MySample.h" @interface ViewController : UIViewController<SampleDelegate> @end
SampleViewController.m
// デリゲートメソッドの実装 -(void)sampleMethod { NSLog(@"デリゲートメソッドが呼ばれました"); }