Ios 是否可以将Swift 2中的一个变量设置为另一个变量?

Ios 是否可以将Swift 2中的一个变量设置为另一个变量?,ios,swift2,Ios,Swift2,我对Swift比较陌生,我想知道是否可以将一个变量设置为Swift中的另一个变量。我有一个伪计数器变量,我想将它设置为等于另一个变量,但它给了我一个错误。在操场环境中似乎可以,但在ViewController中不可能 import UIKit class ViewController: UIViewController { var count = 10.0 var count2 = count ... } var count = 10.0 var count2:

我对Swift比较陌生,我想知道是否可以将一个变量设置为Swift中的另一个变量。我有一个伪计数器变量,我想将它设置为等于另一个变量,但它给了我一个错误。在操场环境中似乎可以,但在ViewController中不可能

import UIKit
class ViewController: UIViewController {
    var count = 10.0
    var count2 = count
    ...
}
var count = 10.0
   var count2: Int? {
    return Int(count)
}

谢谢

我尝试按如下方式更改它,但它没有给我错误消息实例成员计数不能在视图控制器中使用

import UIKit
class ViewController: UIViewController {
    var count = 10.0
    var count2 = count
    ...
}
var count = 10.0
   var count2: Int? {
    return Int(count)
}

我不确定是否理解您的需求,但您可能可以使用“变量”的属性观察器来强制两者具有相同的值

struct S {
    var a: Int = 0 {
        didSet {
            if b != a {
                b = a
            }
        }
    }
    var b: Int = 0 {
        didSet {
            if a != b {
                a = b
            }
        }
    }
}

var s = S()
s.a = 10
print(s)    // S(a: 10, b: 10)
s.b = 100
print(s)    // S(a: 100, b: 100)

在这种情况下,我建议您使用一个只有在您访问它时才会初始化的惰性属性:

import UIKit
class ViewController: UIViewController {
    var count = 10.0
    lazy var count2: Int = { self.count }()
    ...
}
有关语法和语义的更多信息:
  • 懒惰:上面解释过

  • {self.count}
    :一个闭包,它只是一个没有名字的函数,在正文后用括号
    ()
    执行

    与函数一样,它有一个返回类型(
    Int
    ),在本例中,Swift推断
    返回值
    ,因此闭包等价于
    {return self.count}


有关更多信息,请参阅这些关于和的链接。

只需在类内声明变量时设置类型或初始值:

var count = 10
var count2 : Int
然后,在类的初始值设定项中,将它们设置为相等:

init() {
     count2 = count
}

将变量设置为另一个变量是什么意思?粘贴您的变量声明和赋值代码,以便我们提供反馈。您是否在同一类中分配变量?如果第一类是变量,而第二类是同一个变量,则应如下所示,class 1 myVar=1 class 2 Class1.myVar=“New variable”;如果两者的类型相同,则始终可以使一个变量与另一个变量“相等”。我认为这叫做“任务”。