展开可选的IBOutlet时出现错误(线程1:致命错误:展开可选的值时意外发现nil)

时间:2019-01-17 05:50:55

标签: ios swift optional unwrap

我知道为什么会发生此问题,但我不知道如何解决。我使用了覆盖函式,将ViewController类中的方法firstFirstResponder(它的作用完全相同)添加到了Array ( [0] => ABC [1] => 00001 ) 自动键盘中。我如何使它不具有零价值?我是否给IBOutlet一个值而不是使用“!”?

功能:使键盘自动弹出,而不是点击文本字段(类似于iOS上的Spotlight搜索)

让我知道是否需要发送更多信息!

IBOutlet

我得到的错误是:

  

线程1:致命错误:在展开可选值时意外发现nil

2 个答案:

答案 0 :(得分:0)

获得nil值的原因是因为您的笔尖尚未初始化,因此文本字段为nil。我认为您在视图控制器生命周期中过早调用文本字段中的成为firstFirstResponder的对象。

答案 1 :(得分:-2)

我将IBObject autoKeyboard设为可选,因此将代码行更改为以下内容:

    override func viewDidAppear(_ animated: Bool) {
    autoKeyboard?.becomeFirstResponder()
}

现在可以使用!