- 自分のクラスにプロトコルを宣言する
MyClass.h
@class MyClass;
@protocol MyClassDelegate
@optional
-(void)optionDelegateMethod:(MyClass*)myClass;
@required
-(void)requiredDelegateMethod:(MyClass*)myClass;
@end
@interface MyClass : NSObject
@property id <MyClassDelegate> delegate;
@end
- MyClass内でこのメソッドを呼び出す
MyClass.m
-(void)MyClassMethod{
[self.delegate requireDelegateMethod:self];
}
- 他のクラスでdelegateメソッドを実装する
SomeViewController.h
@interface SomeViewController : UIViewController <MyClassDelegate>{
MyClass *myClass;
}
SomeViewController.m
-(void)requiredDelegateMethod:(MyClass*)myClass{
NSLog(@"requireDelegateMethod");
}