我正在尝试将我的目标C代码转换为Swift,我已经在目标C中完成了这项工作。我想运行一个名为“doneEnteringText”的方法,当用户点击键盘上的return键时,该键出现在点击某个文本字段时。这是完美工作的目标C代码:
[_nameTextField addTarget:self action:@selector(doneEnteringText) forControlEvents:UIControlEventEditingDidEndOnExit];
这是我的快速翻译:
nameTextField.addTarget(self, action: doneEnteringText(), forControlEvents: UIControlEvents.EditingDidEndOnExit)
当我试图编译Swift代码时,我得到一个错误,说我“不能用列表类型的参数调用addTarget。。。。
知道为什么吗?任何帮助都会很棒的!
最佳答案
问题是doneEnteringText()
是一个方法调用,而不是选择器。因此,它不能等同于Objective-C@selector(doneEnteringText)
。在Swift中,你想说它是一个字符串,"doneEnteringText"
。
关于ios - Swift无法调用UITextField的添加目标,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29689377/