コールバック的に呼びたい処理をブロックプロパティにして使う方法。
ヘッダー
typedef void (^Handler)(void);
@interface MyViewController : UIViewController
@property (nonatomic, copy) Handler handler;
- (IBAction)buttonTapped:(id)sender;
@end
実装
- (IBAction)buttonTapped:(id)sender {
self.handler();
}
使う側
- (void)func
{
MyViewController* myVC = ...;
myVC.handler = {
// do something
};
}
MyViewController
にはボタンがあってボタンが呼ばれたときに何かするコールバックみたいなイメージ。ブロック周りの書き方はつい忘れてしまうのでスニペット的な目的でここに残しておく。