【发布时间】:2011-09-03 08:48:08
【问题描述】:
我对指定委托的类有疑问。
有时委托对象需要实现协议,有时不需要。例如,如果要显示 UIAlertView,则创建它时指定 delegate,例如 self。然后,调用UIAlertView 的类必须实现UIAlertViewDelegate 协议。
如果您使用connectionWithRequest:delegate: 消息创建其他类,例如NSUrlConnection,则指定一个委托,它将在连接进行时接收从NSUrlConnection 发送的委托消息,但指定为委托的对象没有实现一个协议。
我错过了什么吗?我如何理解何时应该实施协议?从 API 参考中是否总是像 UIAlertViewDelegate 一样清楚?
我注意到UIAlertView 参考仅提供实例方法并告诉您必须实现UIAlertViewDelegate 协议,而NSUrlConnection 没有谈论要实现的协议,但它有一个委托方法部分。
NSUrlConnection 是否可以像UIAlertView 类一样定义,没有委托方法但使用NSUrlConnectionDelegate 协议。
还是我错过了重点?在我看来,出于相似目的有两种不同的方式,但也许我错了。我希望我已经很清楚了,我只是想完全理解这些东西背后的基本原理。
【问题讨论】:
标签: objective-c ios delegates uialertview nsurlconnectiondelegate