每当我以编程方式创建 UI 对象UITextField
时,我都会这样做:
txt.delegate = self;
出现编译器警告并要求我添加UITextFieldDelegate
.h 文件。
我注意到,不管有没有,代码都可以正常工作。
但是编译器警告消失了。为什么是这样?
每当我以编程方式创建 UI 对象UITextField
时,我都会这样做:
txt.delegate = self;
出现编译器警告并要求我添加UITextFieldDelegate
.h 文件。
我注意到,不管有没有,代码都可以正常工作。
但是编译器警告消失了。为什么是这样?
delegate
除非您实际使用委托方法,否则您实际上不需要设置对象的属性。例如,如果您需要知道何时UITextField
开始编辑。如果您不需要知道这些事情何时发生,则无需设置委托。
换个角度看,如果你让你的类符合委托方法(通过<SomeClassDelegate>
在.h
文件中添加),然后忘记实现所需的委托方法,你会收到编译器的警告,当应用程序崩溃时运行(并向您的对象发送所需的委托消息)。
要回答关于不添加UITextFieldDelegate
到.h
文件的问题,假设您的朋友正在寻找法语翻译。你找到一个长相外国的男人并介绍他。你的朋友问“但是他会说法语吗?” 你回答“我不知道”。这是你的警告。