【问题标题】:Invalid selector error on setting delegate: Xcode 10 swift 4设置委托时出现无效的选择器错误:Xcode 10 swift 4
【发布时间】:2019-03-26 12:57:51
【问题描述】:

应用程序在我设置 TextField 委托的那一行崩溃:

listNameTextField = self

在viewDidLoad 方法中

报错

'NSInvalidArgumentException', reason: '-[UIView setDelegate:]: unrecognized selector sent to instance

我已经尝试使listNameTextField 变量strong 超过weak 引用,但这并没有改变问题

import UIKit

class CreateListViewController: UIViewController, UITextFieldDelegate {

    @IBOutlet var listNameTextField: UITextField!
    var listNameString: String = ""

    override func viewDidLoad() {
        super.viewDidLoad()
        self.title = "Create List"
        listNameTextField.delegate = self
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    @IBAction func submitListName(_ sender: UIButton) {
        if listNameString != "" {
            let storyboard = UIStoryboard(name: "Main", bundle: nil)
            let controller = storyboard.instantiateViewController(withIdentifier: "ListView")
            self.present(controller, animated: true, completion: nil)
        }
    }

    func textFieldShouldReturn(_ textField: UITextField) -> Bool {

        textField.resignFirstResponder()
        return true
    }

    func textFieldDidEndEditing(_ textField: UITextField) {

        if let text = listNameTextField.text {
            listNameString = text
        }
    }
}

【问题讨论】:

    标签: ios uitextfield swift4 xcode10


    【解决方案1】:

    根据您的错误,您的listNameTextField 只是UIView。
    检查您的xib/storyboard 中的连接。

    您不能将情节提要中 UIView 的类型更改为 UITextField,因为情节提要在 xml 中为 UITextField 生成了其他属性。

    相反,您需要从情节提要中删除您原来的 UIView 并添加新的 UITextField 并建立新的连接。

    【讨论】:

    • 故事板显示了一个出口listNameTextField ---- List Name Text Field。我认为这意味着它是正确的类型。我确保在建立连接时将UIView 更改为UITextField。
    • 谢谢,其实你是对的,当我重新添加它时它工作了。
    • @PranayPant 很乐意为您提供帮助。不要忘记标记为答案:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多