使用块委派动态替换

时间:2014-08-29 18:15:01

标签: ios objective-c delegates block

受到delegates替换blockUIAlertView f.e的想法的启发,如UIAlertView

https://gist.github.com/puppybits/1523687

很明显,代表完全替换是不可能的,但对于像class这样的常规,你只需要一个回拨处理程序imho就可以了。

我只是徘徊是否有办法让它变得动态而不仅仅与一个SomeObject *someObject = [[SomeObject alloc] init]; [BlockReplacement performSelector:@selector(doSomething:) ofObject:someObject blockHandler:doneBlock forDelegateMethod:@selector(doneSomething:)]; 有关?

F.e BlockReplacement类负责执行方法,接收委托并在块中执行它。

类似的东西:

blockHandler: forDelegateMethod

存在一个问题 - someObject可能有超过1个委托方法,因此varargs需要类似{{1}}。

当然它是关于运行时方法注入的,它听起来像是疯狂,无用的想法吗?

0 个答案:

没有答案