,我需要更多的行爲添加到我需要延長,即實現方法,看起來像到的方法添加附加行爲沒有子
- (void)extendMethod:(SEL)selector forClass:(Class)class withCompletionBlock:(void (^)(void))completionBlock;
所以每次Class
實例調用的方法與另外SEL
選擇方法應該被調用我的完成塊。
我試過方法調配,但遇到了一些問題:我想調用原始方法實現。
我需要的是與子類非常相似,但是這應該被實現而沒有子類。
UPDATE:
比如我的UIViewController
子命名MyViewController
。 MyViewController
有- (void)viewDidLoad
方法。某處在應用程序調用我的方法
[methodExtender extendMethod:@selector(viewDidLoad)
forClass:[MyViewController class]
withCompletionBlock:^{
NSLog(@"view did load called");
}];
所以後調用MyViewController我完成塊的每個實例的viewDidLoad方法。
都是阻塞的方法嗎? – 2013-05-10 14:47:47
@DanShelly,對不起,我不明白你的評論 – user1248568 2013-05-10 14:49:25
是你需要調用的原始方法阻止正在執行的線程,直到完成? – 2013-05-10 14:50:03