Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 使用变量reach 9223372036854775808会使我的程序崩溃_Swift - Fatal编程技术网

Swift 使用变量reach 9223372036854775808会使我的程序崩溃

Swift 使用变量reach 9223372036854775808会使我的程序崩溃,swift,Swift,使用变量reach 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 displa

使用变量reach 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_指令代码=EXC_I386_INVOP,子代码=0x0


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

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


这个数字不适合有符号的64位整数。既然你永远不会有这么多不喜欢的东西,那就不成问题了。@rmaddy他把这个数字加起来,每次都加倍。这不是像100次按下吗?printInt.max,你会知道为什么。执行printInt.max会使我的程序崩溃,但我得到了一个离题的话题,但为什么不喜欢从1开始而不是从0开始?这是不是有点消极;或者只是不喜欢&+=不喜欢。当然,它应该是不喜欢的&+=1。
dislikes = dislikes &+ dislikes