在目标C中“添加目标”和“实现委托”之间有什么不同?

时间:2012-09-25 04:00:36

标签: objective-c ios

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

所以,如果我正在考虑如何实现这个逻辑......我可以制作一个MyUIElementDelegate,并回拨MyUIElementDelegate的{​​{1}}函数,或者我可以允许用户到onMyUIElementIsClicked:。这两种方式也有效。但他们之间有什么不同?感谢。

1 个答案:

答案 0 :(得分:2)

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