既出のものですが、備忘録として起稿します。
(文章はうまくないので伝え方が間違ってるかもしれませんが、ご了承ください。)
プロジェクト内でいろんなことをやる場合に、
どうしても用意されているdelegateだけではできないことも出てきます。
以下のように記述すれば、delegateを簡単に自作することがでます。
// hoge.h
#import
@protocol testDelegate;
@interface hogeViewController : UIViewController
{
id<testDelegate> delegate;
}
@property (nonatomic, retain) id<testDelegate> delegate;
@end
@protocol testDelegate
@optional
- (void)fooooo;
@end
// hoge.m
@synthesize delegate;
// ---> delegateしている-(void)testに委譲される。
上記のようにしてやると、hogeViewControllerから他に委譲できるようになります。
委譲する場合には
[delegate fooooo];
です。
またdelegateを受ける側は、
まず、ヘッダーファイルの記述に
@interfaceの部分にtestDelegateを追加して。
メソッドファイルのほうに
hogeViewController *hoge = [[hogeViewController alloc] initWithNibName:nil bundle:nil];
みたいな記述の後に、
hoge.delegate = self;
と記述してdelegateを受けれるようにします。