按钮设置为零 Swift 2
Button set to nil Swift 2
我正在使用 Swift 2 和 Xcode 7 开发一个应用程序。我已经无数次完成以下代码并且我成功了:
button.setTitle("New Title, forState: .Normal)
但是,现在我收到 EXC_BAD_INSTRUCTION 错误。当我尝试 print(button)
时,出现了错误。它说 fatal error: unexpectedly found nil while unwrapping an Optional value
。我很确定 button
设置为零。我正在将按钮从 Main.Storyboard 连接到 ViewContoller.swift 我应该怎么做?
三种可能:
(1) 故事板中的按钮插座连接不正确。
(2) 此 ViewController 实例不是情节提要中的实例。
(3) 您调用此代码的时间过早(例如在 prepareForSegue
中)。
Outlets 通常被声明为隐式展开的可选类型。 (在类型后面有一个解释点。)
这意味着它可以为零,但您保证在使用它之前,它会被设置为 non-nil 值。
你不需要打开它,但如果它是 nil 则引用它会崩溃。
您应该可以使用此表格:
button?.setTitle("新标题, forState: .Normal)
如果按钮为 nil,将跳过方法调用。
(我说 "should be able to" 是因为过去一个半月我一直在使用 Objective-C,我的 Swift 开始有点生疏了。)
我正在使用 Swift 2 和 Xcode 7 开发一个应用程序。我已经无数次完成以下代码并且我成功了:
button.setTitle("New Title, forState: .Normal)
但是,现在我收到 EXC_BAD_INSTRUCTION 错误。当我尝试 print(button)
时,出现了错误。它说 fatal error: unexpectedly found nil while unwrapping an Optional value
。我很确定 button
设置为零。我正在将按钮从 Main.Storyboard 连接到 ViewContoller.swift 我应该怎么做?
三种可能:
(1) 故事板中的按钮插座连接不正确。
(2) 此 ViewController 实例不是情节提要中的实例。
(3) 您调用此代码的时间过早(例如在 prepareForSegue
中)。
Outlets 通常被声明为隐式展开的可选类型。 (在类型后面有一个解释点。)
这意味着它可以为零,但您保证在使用它之前,它会被设置为 non-nil 值。
你不需要打开它,但如果它是 nil 则引用它会崩溃。
您应该可以使用此表格:
button?.setTitle("新标题, forState: .Normal)
如果按钮为 nil,将跳过方法调用。
(我说 "should be able to" 是因为过去一个半月我一直在使用 Objective-C,我的 Swift 开始有点生疏了。)