达到变量变量9223372036854775808会使我的程序崩溃

时间:2019-07-05 03:07:04

标签: swift

达到可变变量9223372036854775808会使我的程序崩溃。

我找不到任何信息。

import UIKit

class ViewController: UIViewController {
    @IBOutlet weak var disview: UILabel!
    var dislikes = 1

    @IBAction func dislike(_ sender: Any) { //Add to dislikes VAR and refresh display
        dislikes += dislikes //when this reaches 9223372036854775808 my program crashes
        print(dislikes)
        disview.text = "\(dislikes)"
    }

    @IBAction func reset(_ sender: Any) { //Reset dislikes varibles to 0 and refresh display
        dislikes = 0 
        print("reset dislikes")
        disview.text = "\(dislikes)"
    }

我得到:

  

线程1:EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子代码= 0x0)

1 个答案:

答案 0 :(得分:0)

是的,整数溢出将使您的程序在Swift中崩溃。

如果要允许溢出,可以使用overflow operators&+&-&*

dislikes = dislikes &+ dislikes