0

比如我做了一个MyUIElement,我可以接受用户点击它。当用户单击它时,用户可以在我单击它时为我定义一个方法。例如,当我单击它时,它们可以将计数增加 1。

所以,如果我正在考虑如何实现这个逻辑......我可以制作一个MyUIElementDelegate,并回调MyUIElementDelegateonMyUIElementIsClicked:函数,或者我可以允许用户addTarget: action: forEvents:. 这两种方式也有效。但是他们之间有什么不同呢?谢谢。

4

1 回答 1

2

好吧,如果要调用的方法在同一个类上,那么addTarget会更容易,但如果该方法是在另一个类中定义的,那么实现委托将是调用该方法的更好主意。通过一些额外的编码,委托协议将为您提供更大的灵活性,因为它有两种类型的方法:@required 和 @optional。

于 2012-09-25T04:13:49.857 回答