代表ivar解释

时间:2013-06-09 14:17:10

标签: ios objective-c delegates

这一行到底是做什么的:

id <ViewControllerDelegate> delegate

它总是被声明为实现委托协议的viewcontroller中的实例变量,但不明白它的作用。

由于

2 个答案:

答案 0 :(得分:2)

这意味着委托是一个实现ViewControllerDelegate协议方法的对象。它有助于编译器知道委托应该实现的方法。

在编译时检查类型安全性非常有用,也有助于自动完成。

答案 1 :(得分:1)

这意味着协议中声明的任何方法或属性也可以在委托中处理。通常,设置委托意味着任何符合协议的实例都会调用这些委托方法。

例如,表视图要求您实现委托,通常在'self'上。这样做意味着您继承了该协议中提供的属性和/或方法。这就是你如何获得那些神奇的- (UITableView *)table...方法。这是它的基本思想。

另外,您可以查看this答案。希望有所帮助!