这一行到底是做什么的:
id <ViewControllerDelegate> delegate
它总是被声明为实现委托协议的viewcontroller中的实例变量,但不明白它的作用。
由于
答案 0 :(得分:2)
这意味着委托是一个实现ViewControllerDelegate
协议方法的对象。它有助于编译器知道委托应该实现的方法。
在编译时检查类型安全性非常有用,也有助于自动完成。
答案 1 :(得分:1)
这意味着协议中声明的任何方法或属性也可以在委托中处理。通常,设置委托意味着任何符合协议的实例都会调用这些委托方法。
例如,表视图要求您实现委托,通常在'self'上。这样做意味着您继承了该协议中提供的属性和/或方法。这就是你如何获得那些神奇的- (UITableView *)table...
方法。这是它的基本思想。
另外,您可以查看this答案。希望有所帮助!