1

这条线究竟做了什么:

id <ViewControllerDelegate> delegate

它总是在实现委托协议的视图控制器中声明为实例变量,但不明白它的作用。

谢谢

4

2 回答 2

2

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

它对于在编译时检查类型安全很有用,也有助于自动完成。

于 2013-06-09T14:19:17.560 回答
1

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

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

另外,你可以看看这个答案。希望有帮助!

于 2013-06-09T14:25:34.460 回答