引数0で戻り値voidのBlocksのラッパークラス. コンストラクタにBlocksを渡して生成します.
Blocksをより手軽に扱えます.
呼び出しはinvokeメソッドです.
addTarget:action:forControlEvents:などでも呼び出せます.
BlocksWrapper.h
#import <Foundation/Foundation.h>
typedef void (^CallableBlock)();
@interface BlocksWrapper : NSObject
@property (strong, nonatomic) CallableBlock blocks;
- (BlocksWrapper *)initWithBlocks:(CallableBlock)blocks;
- (void)invoke;
@end
BlocksWrapper.m
#import "BlocksWrapper.h"
@implementation BlocksWrapper
@synthesize blocks = _blocks;
- (BlocksWrapper *)initWithBlocks:(CallableBlock)blocks
{
self = [super init];
self.blocks = [blocks copy];
return self;
}
- (void)invoke
{
self.blocks();
}
@end