代表的意思是什么?为什么我们需要它?

时间:2010-11-09 14:19:47

标签: objective-c delegates delegation

  

可能重复:
  Delegates, can't get my head around them

朋友们,

代表在目标C中的意思是什么?为什么我们需要它?我们什么时候应该使用它?它有什么类型吗?怎么用?

请朋友们,用简单的单词和例子来解释。我看到很多文章,论坛..但我仍然无法抓住它的确切解释..

谢谢

1 个答案:

答案 0 :(得分:4)

委托是一种修改类行为而不需要对类进行子类化的方法。通常你不想大幅改变行为,但稍微调整一下;子类化将是过度的,所以这是代表们进场的地方。

以这种方式看待它:一个青少年代表一个班级,而她的父母代表一个班级。这位少年的朋友打电话给她来到商场,但这位少年不得不问她的父母是否可以先行。父母 - 代表 - 可以说是或否。这就是代表们在Cocoa中的工作方式。

  

是否有任何类型?

代表通常可以是任何类型。在10.6中,许多代表使用可选方法实现协议,因此您将看到类似id <BlahClassDelegate>的类型,但这在10.6之前并不常见。