Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.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-在一行中定义多个全局变量_Swift_Variables_Line_Global_Definition - Fatal编程技术网

Swift-在一行中定义多个全局变量

Swift-在一行中定义多个全局变量,swift,variables,line,global,definition,Swift,Variables,Line,Global,Definition,由于Swift 2.0,我遇到了一个问题:如果每行只定义一个全局变量,那么定义全局变量只能很好地工作。对于局部变量,没有这样的问题。在Swift 1.0中,这很好,但苹果已经改变了一些东西 例如: var x1: Int = 0 var y1: Int = 0 var z1: Int = 0 func Test1 () { x1 = 30 y1 = 20 z1 = 10 } var x2: Int = 0, y2: Int = 0, z2: Int = 0 func

由于Swift 2.0,我遇到了一个问题:如果每行只定义一个全局变量,那么定义全局变量只能很好地工作。对于局部变量,没有这样的问题。在Swift 1.0中,这很好,但苹果已经改变了一些东西

例如:

var x1: Int = 0
var y1: Int = 0
var z1: Int = 0

func Test1 ()
{
    x1 = 30
    y1 = 20
    z1 = 10
}

var x2: Int = 0, y2: Int = 0, z2: Int = 0

func Test2 ()
{
    x2 = 30
    y2 = 20
    z2 = 10
}

func main_program ()
{
    Test1()
    Test2()
    print("x1=\(x1), y1=\(y1), z1=\(z1)\n")
    print("x2=\(x2), y2=\(y2), z2=\(z2)\n")
}
当您现在调用main_程序时,您将获得

x1=30, y1=20, z1=10
x2=0, y2=0, z2=10
在候机楼。但这两行应该相同,并且与Swift 1.0一致

所以我不得不改变我所有的程序,在一行中只定义一个全局变量。如果变量是某些公式的一部分,你会得到一些有趣的结果,而不仅仅是零

这是Swift中的一个错误还是这种行为有严重的背景?

来自:

Xcode 7 beta 6中的已知问题-Swift 2.0和Objective-C 在单个
var
let
中声明多个全局变量可能会导致其值损坏。(22207407)解决方法:使用单独的
var
let
声明每个变量

从:

Xcode 7 beta 6中的已知问题-Swift 2.0和Objective-C 在单个
var
let
中声明多个全局变量可能会导致其值损坏。(22207407)解决方法:使用单独的
var
let
声明每个变量