我对Swift比较新,想知道是否可以在Swift中设置一个等于另一个变量的变量.我有一个虚拟计数器变量,我想设置等于另一个变量,但它给了我一个错误.它似乎可以在Playground环境中使用,但不能在ViewController中使用.
import UIKit class ViewController: UIViewController { var count = 10.0 var count2 = count ... }
谢谢
在这种情况下,我建议你使用一个懒惰的属性,只有在你访问它时才会被初始化:
import UIKit class ViewController: UIViewController { var count = 10.0 lazy var count2: Int = { self.count }() ... }
懒惰:上面解释过
{ self.count }
:一个闭包,它只是一个没有名字的函数,并()
在正文后用括号执行.
就像一个函数一样,它有一个返回类型(Int
),在这种情况下,Swift推断return
出闭包相当于{ return self.count }
有关更多信息,请参阅有关闭包和延迟初始化的这些链接.