【发布时间】:2019-03-15 06:13:17
【问题描述】:
我正在尝试为一个单词扰频器应用程序制作排行榜,因此我会在转到下一个最终将成为排行榜的视图控制器之前保存数据。我的插座都已连接,并且 segue 标识符写入正确,所以我不明白为什么在按下完成后应用程序崩溃
此处出现错误行:class AppDelegate: UIResponder, UIApplicationDelegate {
var finalScore = Int()
var playerName = String()
var allMyStoredData = UserDefaults.standard
class secondVC: UIViewController {
@IBOutlet weak var scoreLabel: UILabel!
@IBOutlet weak var nameTF: UITextField!
@IBOutlet weak var doneButton: UIButton!
var playerScore = 0
override func viewDidLoad() {
super.viewDidLoad()
scoreLabel.text = "Your score is: \(finalScore)"
loadData()
}
@IBAction func donePressed(_ sender: Any) {
saveData()
//this part won't execute
performSegue(withIdentifier: "toLeaderboard", sender: self)
}
func saveData () {
playerName = nameTF.text!
playerScore = finalScore
allMyStoredData.set(playerName, forKey: "saveTheName")
allMyStoredData.set(playerScore, forKey: "saveTheScore")
}
func loadData () {
if let loadPlayerName:String = UserDefaults.standard.value(forKey: "saveTheName") as? String {
playerName = loadPlayerName
}
if let loadTheScore:Int = UserDefaults.standard.value(forKey: "saveTheName") as? Int {
playerScore = loadTheScore
}
}
}
【问题讨论】:
-
尝试通过 Interface Builder 进行操作。
-
您需要在问题中包含完整的错误消息(作为文本),并且需要指出导致崩溃的确切行。
-
尝试添加之前的自我。像这样:self.performSegue(withIdentifier: ”toLeaderboard”, sender: self)
-
@Putte 我刚刚尝试过,但仍然遇到同样的错误
-
1.) 仔细检查您的连接。右键单击两个视图控制器,并在需要时删除。 —— 2.) 再次检查标识符。确保你拼写正确。 3.) 尝试更改演示文稿。例如,模态