アプリなどを開発するブログ

React Native / Swift / Ruby on Railsなどの学習メモ。


自作クラスでの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(@"デリゲートメソッドが呼ばれました");
}