【发布时间】:2013-06-19 13:18:18
【问题描述】:
我真的对委托和协议的概念感到困惑。它们是否等同于 Java 中的接口和适配器类?它们是如何工作的? 到目前为止,我读过的所有资源都没有帮助。 “委托是一种简单而强大的模式,其中程序中的一个对象代表另一个对象或与另一个对象协作。委托对象保留对另一个对象(委托)的引用,并在适当的时间发送消息给它。”我不知道这是什么意思。 有人可以解释一下它们是什么并举一个简单的例子吗?提前致谢!
编辑:
据我所知,
1) 委托实现协议(接口的另一个名称)
2) 对象注册一个委托(实现协议)
3) 对象可以在委托上调用协议方法
因此,委托将对象与协议连接起来。
如果我错了,请纠正我。
我还是不明白为什么对象本身不能实现协议?本来可以轻松得多!
【问题讨论】:
-
你读过哪些文章,你发现哪些例子你想不通?
-
不,委托不像接口。
-
协议就像 Java 中的接口。它们是 Objective-C 语言的一个具体特征。然而,委托是连接到其他对象的对象,并在“其他对象”的状态发生变化时发送消息。它们只是一个模式。
-
Totumus Maximus: developer.apple.com/library/ios/#documentation/general/… iosdevelopertips.com/objective-c/… 无法弄清楚代表是什么以及协议是什么。如果你花时间回答一个问题,至少要明智地利用这段时间,真正回答一个问题,而不是问另一个问题。
-
ole_92。当一个对象不能单独完成一项工作或只想允许其他方参与该事件时,它就声明了一个协议。例如,如果 UITableView 没有要求它的数据源或委托来提供某些信息或响应某些用户交互,那么它就不可能是灵活的类。