我阅读了这个教程,您的第一个iPhone应用程序,它工作得很好。我的问题是关于本教程中的一行,内容如下:
视图控制器也将是文本字段的委托;因此,它必须采用UITextFieldDelegate协议。要指定类采用协议,在接口中,在类继承的类的名称之后添加尖括号(<>)中的协议名称。
如果我将协议从视图控制器中删除,则仍然调用该方法(接收消息),并取消键盘。我注意到UITextFieldDelegate协议的所有方法都是可选的。如果是这样的话,为什么要声明视图控制器遵守协议?我少了什么?:-)
发布于 2009-07-15 18:01:13
因为程序员喜欢把事情组织起来。即使协议的所有方法都是可选的,如果将类用作委托,那么正式声明您的类实现该协议仍然是很好的形式。委托类还可能要求您的类实现协议--这意味着如果您实现方法,但不声明您实现了协议,您将得到编译警告。
https://stackoverflow.com/questions/1132922
复制相似问题