我是苹果 Swift 的新手。我正在尝试基于此 tutorial 构建一个演示应用程序。我发现该应用程序无法运行。经过多次尝试失败后,我发现如果我更改代码行:
func textFieldDidEndEditing(textField: UITextField) {
到
func textFieldDidEndEditing(_ textField: UITextField) {
我能够正确运行代码。
我想知道添加 _ 作为参数之一会发生什么。这两种方法都不会导致编译错误。但第一个确实给出了如下警告:
ViewController.swift:35:10: Instance method 'textFieldDidEndEditing(textField:)'
nearly matches optional requirement 'textFieldDidEndEditing' of protocol 'UITextFieldDelegate'
由于第一个是苹果教程给出的,所以不确定是否是一个错误。有人可以解答我的疑惑吗?
最佳答案
我认为您使用的是 Swift 3.0。您正在学习的教程可能是 Swift 2.2 或 Swift 2.3 版本。这只不过是我所观察到的语法变化。即使我昨天更新到 Xcode 8.0 时也遇到了这种情况
关于swift - 在什么情况下,我应该在 swift 中使用 _ 作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39767087/