swift - 在什么情况下,我应该在 swift 中使用 _ 作为参数

标签 swift uitextfield swift3 uitextfielddelegate

我是苹果 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/

相关文章:

函数中的 Swift UnsafeMutablePointer 内存分配和释放

ios - 从日期选择器获取日期到变量中的字符串

swift : Sprite Animation Bug

ios - UITextField 模糊文本

ios - locationManager 代表不工作

ios - UIImage 裁剪出透明像素

ios - iPhone:在 UITextField 上禁用 Auto-Cap/autocorrect 问题

ios - 是否可以将图像或 xib 设置为文本字段中的值?

iOS 应用程序在使用 Firebase 进行身份验证时崩溃

快速转换 : ERROR - UnsafeMutablePointer