1

我只是在幻想如何让 Block 对象也成为委托,例如 UIAlertView。这有点奇怪,我承认。但是是否可以向 Block 对象添加方法?您可以访问方法中捕获的变量吗?

4

3 回答 3

1

不。块文字有一个运行时类,它是实现定义的,由编译器决定。您无法控制块对象具有的类;因此,您不能使其成为自定义子类的实例。

于 2014-02-27T08:03:33.133 回答
0

使用REKit,您可以在调用委托方法时创建要执行的块。它不限于UIAlertView. 您可以对采用委托模式的所有实例使用 REKit。请参阅 REKit 的“委托本身”示例。

于 2013-02-14T10:30:21.250 回答
0

我的回答是肯定的,但与 UIAlertView 无关。

想象一个类提供一个块作为网络会话完成处理程序。现在你需要继承这个类,并且(除其他外)向处理程序添加一些东西。

您必须复制原始处理程序并添加您的代码。代码重复是一种不好的代码气味。但我不知道子类化块的方法。:(

于 2014-02-26T15:38:13.963 回答