我只是在做白日梦,如何让一个Block对象也成为一名代表,例如到UIAlertView。我承认,这有点奇怪。但是可以向Block对象添加方法吗?你能在方法中访问捕获的变量吗?
答案 0 :(得分:1)
没有。块文字有一个运行时类,它由实现定义并由编译器决定。您无法控制块对象具有的类;因此,你不能使它成为自定义子类的实例。
答案 1 :(得分:0)
使用REKit,可以在调用委托方法时生成一个块。它不仅限于UIAlertView
。您可以将REKit用于委派模式所采用的所有实例。
请参阅REKit的“Delegate itself”示例。
答案 2 :(得分:0)
我的回答是肯定的,但与UIAlertView无关。
想象一个类提供一个块作为网络会话完成处理程序。现在你需要子类化这个类,并(除其他外)向处理程序添加一些东西。
您必须复制原始处理程序并添加代码。代码重复是一种糟糕的代码味道。但我不知道一种子类化块的方法。 :(