UITextFieldDelegate方法未调用

uoh*_*ela 1 uitextfield ios swift

我正在关注Big Nerd Ranch iOS编程书(快速版),并且有此文件。

import UIKit

class ConversionViewController: UIViewController, UITextFieldDelegate {

    @IBOutlet var celsiusLabel: UILabel!
    @IBOutlet var textField: UITextField!

    func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
        print("here")
        return true
    }

    //rest of the code here
}
Run Code Online (Sandbox Code Playgroud)

由于某些原因,未调用textField委托方法。我在控制台中看不到“这里”日志。我已经多次检查了命名和语法。有任何想法吗?

And*_*ren 5

您需要将文本字段的委托设置为self。

override func viewDidLoad() {
     super.viewDidLoad()
     textField.delegate = self
}
Run Code Online (Sandbox Code Playgroud)