一人でできるもん(涙

企画、アプリ設計・制作、サーバ構築、DB設計、サーバサイドプログラム、デザインまで一人でやらされてる都合のいいひr(yu

NSInvocation

非同期で3秒後にこのメソッド実行したいってなった時に

+ (void)afterRunMethod:(id)target action:(SEL)action args:(NSArray *)args delay:(CGFloat)delay {

 NSMethodSignature *sig = [target methodSignatureForSelector:action];

 NSInvocation *inv = [NSInvocation invocationWithMethodSignature:sig];

 [inv setTarget:target];

 [inv setSelector:action];

 NSInteger i=2;

 for(id arg in args){

  [inv setArgument:(void *)&arg atIndex:i];

  i++;

 }

 [inv performSelector:@selector(invoke) withObject:nil afterDelay:delay];

}

こんな感じのメソッド用意してやってるんだけど、毎回targetとactionを設定するのがめんどいので

typedef void (^func_t)(void);

+ (void)afterRunMethod:(func_t)func args:(NSArray *)args

こんな感じでやりたいんだけど、だれかいい方法しりませんかね?

============自己解決===========

+ (void)runBlock:(void (^)())block

{

    block();

}

こんなん一個用意しておけば解決することに気づいた。

俺あほや・・・・、