遵循 Xcode 的 Apple 'Food Tracker' 教程 - 无法获取更改标签文本的按钮
Posted
技术标签:
【中文标题】遵循 Xcode 的 Apple \'Food Tracker\' 教程 - 无法获取更改标签文本的按钮【英文标题】:Following Apple 'Food Tracker' tutorial for Xcode - can't get button to change label text遵循 Xcode 的 Apple 'Food Tracker' 教程 - 无法获取更改标签文本的按钮 【发布时间】:2019-06-09 12:14:23 【问题描述】:我正在关注official ios Apps tutorial 在 Xcode 中制作一个基本的单视图应用程序。
到目前为止,我们所做的实际上是:
在 UI 中添加了一个标签并将初始文本设置为“膳食名称:” 在 UI 中添加了一个文本框 在 UI 中添加了一个按钮然后我们向视图控制器添加了一些非常简单的代码,将标签声明为一个出口和一个按钮操作,当被调用时,应该将标签的文本更改为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。 (应用启动正常,只是在按下按钮时)
据我了解,这意味着有些东西是空白的,但我唯一的选择是:
文本框不是空白的,因为在我按下按钮之前,我在里面写了“饼干”之类的东西 标签文本,不为空,因为默认设置为“膳食名称:”我真的不知道是什么触发了这个错误?
【问题讨论】:
【参考方案1】:据我了解,这意味着某些东西是空白的,不能是
不,这意味着你需要确保插座
mealNameLabel.text = "Default Text" // here mealNameLabel is nil
连接到IB中的标签
【讨论】:
谢谢,我认为它们是连接的,因为我首先将 UI 元素拖到文本编辑器中以创建出口/操作。但结果是,他们仍然没有连接!以上是关于遵循 Xcode 的 Apple 'Food Tracker' 教程 - 无法获取更改标签文本的按钮的主要内容,如果未能解决你的问题,请参考以下文章