快速访问文本字段的值时出现奇怪的错误

Posted

技术标签:

【中文标题】快速访问文本字段的值时出现奇怪的错误【英文标题】:Weird error when access the value of textfield swift 【发布时间】:2020-05-24 08:33:12 【问题描述】:
import UIKit

protocol ChangeColor 
    func changeColor(color: UIColor)

class newItemTableViewController: UITableViewController 

    @IBOutlet var nameTextField: UITextField!
    @IBOutlet var priceTextField: UITextField!
    @IBOutlet var taxTextField: UITextField!

    var delegate: ChangeColor?

    override func viewDidLoad() 
        super.viewDidLoad()

    

    @IBAction func name(_ sender: Any) 
        delegate?.changeColor(color: .link)
        if (priceTextField?.text == "" && nameTextField?.text == "" && taxTextField?.text == "") 
            delegate?.changeColor(color: .lightGray)
        
    

    @IBAction func price(_ sender: Any) 
        delegate?.changeColor(color: .link)
        if (priceTextField?.text == "" && nameTextField?.text == "" && taxTextField?.text == "") 
            delegate?.changeColor(color: .lightGray)
        
    

    @IBAction func tax(_ sender: Any) 
        delegate?.changeColor(color: .link)
        if (priceTextField?.text == "" && nameTextField?.text == "" && taxTextField?.text == "") 
            delegate?.changeColor(color: .lightGray)
        
      


我在尝试输入文本字段并在之后删除文本时遇到以下错误。我不明白为什么!

2020-05-24 10:30:14.587967+0200 invoice[3725:1111317] -[UITableViewCellContentView text]:无法识别的选择器发送到实例 0x104e07680 2020-05-24 10:30:14.588852+0200 invoice[3725:1111317] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[UITableViewCellContentView 文本]:无法识别的选择器发送到实例 0x104e07680” * 首先抛出调用栈: (0x1b6a34164 0x1b6748c1c 0x1b69327e0 0x1babadb6c 0x1b6a3885c 0x1b6a3ab60 0x102921044 0x102921430 0x1bab7f4c4 0x1ba569fe8 0x1ba56a350 0x1bae62214 0x1babacd68 0x1bae61dec 0x1babace48 0x1bae61c50 0x1babaca68 0x1bb0346f8 0x1bae60874 0x1bae1734c 0x1badff3b0 0x1badfff74 0x1bab7f4c4 0x1ba6aca20 0x1ba73c54c 0x1ba745b30 0x1ba742528 0x1ba741a70 0x1ba735430 0x1ba734bc4 0x1ba734980 0x1babbc044 0x1bab971cc 0x1bac19e0c 0x1bac1ca14 0x1bac14c88 0x1b69af860 0x1b69af7b4 0x1b69aef04 0x1b69a9ca4 0x1b69a9660 0x1c0dba604 0x1bab7e15c 0x10292d050 0x1b68251ec) libc++abi.dylib:以 NSException 类型的未捕获异常终止

【问题讨论】:

你在 git 上更新代码了吗? 我做到了! github.com/m4thus4n/project 崩溃的地方 > 关于这个 if 语句:if priceTextField?.text == "" && taxTextField?.text == "" delegate?.changeColor(color: .lightGray) 【参考方案1】:

您将错误的插座连接到taxTextField 这是应用程序崩溃的主要原因。

将您的 taxTextField 连接到 UITextField。你已经连接到 UIView。

【讨论】:

以上是关于快速访问文本字段的值时出现奇怪的错误的主要内容,如果未能解决你的问题,请参考以下文章

使用文本输入字段时出现 Javascript 中的 NaN

访问字段名称包含变音符号时出现pyodbc错误

尝试访问向量中对象中的字段时出现段错误

快速服务器中的 CORS 阻止访问

访问分配的内存时出现访问冲突错误[重复]

检查对象是不是存在时出现奇怪的错误