我究竟做錯了什么?
我收到此錯誤:
讓 letterString = sender.title(for: .normal)! // 執行緒 1:致命錯誤:在解開 Optional 值時意外發現 nil
當我嘗試快速獲取按鈕的標題時,如下所示:
import UIKit
class ViewController: UIViewController {
// My IBOutlets
@IBOutlet var treeImageView: UIImageView!
@IBOutlet var correctWordLabel: UILabel!
@IBOutlet var scoreLabel: UILabel!
// My Outlet Collection
@IBOutlet var letterButtons: [UIButton]!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
// Begin the round.
newRound()
}
var listOfWords = ["estufa", "nevera", "computadora", "empanada", "chuleta", "camarones", "brincar", "correr", "caminar", "tigre", "jirafa", "mono", "kisseemmee", "Tampa", "Orlando"]
let incorrectMovesAllowed = 7
let totalWins = 0
let totalLosses = 0
// My IBActions
@IBAction func letterButtonPressed(_ sender: UIButton) {
sender.isEnabled = false
let letterString = sender.title(for: .normal)! // Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value
let letter = Character(letterString.lowercased())
currentGame.playerGuessed(letter: letter)
updateUI()
}
var currentGame: Game!
func newRound() {
let newWord = listOfWords.removeFirst()
currentGame = Game(word: newWord, incorrectMovesRemaining: incorrectMovesAllowed, guessedLetters: [])
updateUI()
}
func updateUI() {
scoreLabel.text = "Wins: \(totalWins), Losses: \(totalLosses)"
treeImageView.image = UIImage(named: "Tree \(currentGame.incorrectMovesRemaining)")
}
}
// Game.swift 檔案代碼:
import Foundation
struct Game {
var word: String
var incorrectMovesRemaining: Int
var guessedLetters: [Character]
mutating func playerGuessed(letter: Character) {
guessedLetters.append(letter)
if !word.contains(letter) {
incorrectMovesRemaining -= 1
}
}
}
我是新手。這是我的第一個程式。如果您對解決方案進行編碼,我將不勝感激。
uj5u.com熱心網友回復:
您可以獲得UIButtonusingtitleLabel屬性的標題。檢查下面的代碼。
sender.titleLabel?.text
由于上面的代碼回傳的是可選的,你可以使用可選鏈來安全地獲取字串
if let titleLabel = sender.titleLabel {
let title = titleLabel.text
}
或者
您還可以使用以下currentTitle屬性。
sender.currentTitle
uj5u.com熱心網友回復:
您可以使用:sender.titleLabel.text
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/368977.html
標籤:迅速
