我正在學習ios開發。根據我的教程,我有如下代碼來制作按鈕反射演示。
import UIKit
class ViewController: UIViewController {
@IBAction func buttonPressed(_ sender: UIButton) {
let title = sender.title(for: .selected)!
let text = "\(title) buttion pressed"
out.text = text
}
@IBOutlet weak var out: UILabel!
}
單擊模擬器中的按鈕后,出現錯誤。
Unexpectedly found nil while unwrapping an Optional value
let title = sender.title(for: .selected)!
導致此錯誤。我的 Xcode 版本是 13.4。
我已通過拖動將按鈕與方法正確關聯。
left
通過雙擊它并在情節提要中輸入資料,我的按鈕具有標題名稱“左” 。
如果我洗掉!
of let title = sender.title(for: .selected)!
,我的標簽可以顯示nil button pressed
。似乎 IBOutlet 可以正常作業。
我是否錯過了獲得按鈕標題的任何一點?
uj5u.com熱心網友回復:
我正在學習ios開發。根據我的教程...
這就是問題所在:您的教程太舊了。它所說的不是當今事物的運作方式。如果您現在不想了解事情是如何作業的,那么在情節提要中將按鈕樣式更改為 Default 以將按鈕行為移到過去,就像您的教程一樣,然后您的代碼將按預期作業。
uj5u.com熱心網友回復:
您必須將 IBOutlet 連接到情節提要。我已經使用了您的代碼,并且運行良好。請檢查隨附的螢屏截圖。圖片
uj5u.com熱心網友回復:
如果您在使用.selected
. 您是否為按鈕的選定狀態設定了標題。
guard let buttonTitle = sender.titleLabel?.text else {
return
}
let text = "\(buttonTitle) button pressed"
out.text = text
*更新代碼
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/488277.html