1

我正在尝试为 iPhone 编写一个简单的猜测 swift 应用程序。代码运行成功,显示“Build Succeeded”。但是,我不断收到针对特定行的此消息:“线程 1:信号 SIGABRT”。

该行包含“num += Int((rand()%4) + 1)”,它在操场上运行良好。

有人能告诉我如何解决这个问题吗?

import UIKit

class ViewController: UIViewController {


var num = 0


@IBOutlet var GuessField: UITextField!


@IBOutlet var ResultLabel: UILabel!


@IBOutlet var ScoreLabel: UILabel!


@IBAction func NewGameButton(sender: UIBarButtonItem) {


num += Int( (rand()%4) + 1)

    /* Random numbers generated at num range from 1 to 4, which respectively
    correspond to strings BMW, Mercedes, Lamborgini, and Ford. */

}




override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

@IBAction func ResultButton(sender: AnyObject) {

    if GuessField.text == "BMW" {
        if num == 1 {ResultLabel.text = "You Win!"}
        else {ResultLabel.text = "Try Again!"}

    }

    if GuessField.text == "Mercedes" {
        if num == 2 {ResultLabel.text = "You Win!"}
        else {ResultLabel.text = "Try Again!"}

    }


    if GuessField.text == "Lamborgini" {
        if num == 3 {ResultLabel.text = "You Win!"}
        else {ResultLabel.text = "Try Again!"}

    }

    if GuessField.text == "Ford" {
        if num == 4 {ResultLabel.text = "You Win!"}
        else {ResultLabel.text = "Try Again!"}

    }


}

}
4

2 回答 2

2

如果您创建了一个控件并向视图控制器添加了一个出口连接,然后在从控件的连接中正确删除出口连接之前从页面中删除了该控件,则会发生“线程 1:信号 SIGABRT”错误。我以前也有同样的问题。也可能是说您的课程不符合 KeyValueCoding 或其他内容。确保在移除控件之前清除控件的所有连接。

于 2015-07-24T15:14:47.780 回答
1

尝试说num = Int( (rand()%4) + 1)而不是num += Int( (rand()%4) + 1)

于 2015-07-23T23:36:14.713 回答