遵循针对Xcode的Apple“食品追踪器”教程-无法获取更改标签文本的按钮

时间:2019-06-09 12:14:23

标签: swift xcode

我正在跟踪official iOS Apps tutorial,以Xcode制作基本的Single View应用程序。

从目前来看,我们所做的只是:

  • 在用户界面中添加了一个标签,并将初始文本设置为“膳食名称:”
  • 在用户界面中添加了一个文本框
  • 在用户界面中添加了一个按钮

然后,我们在视图控制器中添加了一些非常简单的代码,将标签声明为插座和按钮动作,当调用该按钮动作时,应将标签的文本更改为Default Text

我的ViewController代码现在与教程代码相同,即:

class ViewController: UIViewController {
    //MARK: Properties

    @IBOutlet weak var nameTextField: UITextField!
    @IBOutlet weak var mealNameLabel: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }

    //MARK: Actions

    @IBAction func setDefaultLabelText(_ sender: UIButton) {
        mealNameLabel.text = "Default Text"
    }
}

问题是,当我按模拟器中的按钮时,收到一条错误消息,提示隐式展开的可选值为nil。 (应用程序启动正常,只需按一下按钮即可)

据我了解,这意味着有些空白是不可能的,但我唯一的可选选项是:

  • 该文本框不是空白的,因为在按下按钮之前我先写了“饼干”或其中的内容
  • 标签文本,该文本不为空,因为默认情况下它设置为“餐名:”

我真的无法找出触发错误的所谓nil值是什么?

1 个答案:

答案 0 :(得分:1)

  

据我了解,这意味着有些空白是不可能的

否,这意味着您需要确定插座

mealNameLabel.text = "Default Text" // here mealNameLabel is nil 

已连接到IB中的标签