应用委托和协议

时间:2010-03-11 15:27:38

标签: iphone objective-c delegates protocols

我试图弄清楚为什么我应该学习有关委托和协议的这些事情。首先,我认为有必要创建代码的漂亮(呃)设计。然后我开始阅读,我无法找到原因,虽然我会找到(这是“好”的原因......)。

我应该何时应用代表和协议?实际的现实生活,或者只是一般的好,例子是有用的(我知道协议和代表的特征,至少在某种程度上,所以不需要解释)。

提前致谢!

4 个答案:

答案 0 :(得分:2)

可以在Cocoa框架中找到一些最好的示例。

NSTableView委托就是一个很好的例子。委托允许视图高度可定制,而无需对其进行子类化,但委托提供的所有自定义都是可选的。如果通过子类化实现此自定义,则视图必须了解模型的细节,这将破坏MVC模式。

Apple文档读起来很好:Cocoa Design Patterns: Delegation

答案 1 :(得分:0)

协议的用法是为代表指定接口。

委托用于实现其他langages命名回调。

答案 2 :(得分:0)

我最近遇到的另一个好资源是斯坦福大学iPhone应用程序开发课程,可通过iTunesU(http://itunes.stanford.edu/)免费获得。在第7讲中,他们讨论了编写视图控制器的一些最佳实践,并介绍了委托和协议的概念。

答案 3 :(得分:0)

当一个班级需要告诉另一个班级发生了什么事情并且它应该做某事时,他们是伟大的。

它们有助于节省用于子类化的时间,同时仍允许自定义其他类。