通过类型实例进行Swift变量初始化

时间:2015-08-12 20:01:34

标签: swift variables types initialization instance

我想在类的开头声明一些变量,并在稍后和其他地方修改它们的值。我宁愿不为这些分配初始垃圾值以保持简洁。

我可以通过将它们声明为类型的实例来声明基本类型的变量吗?我的意思是:

class foo() {
    var isCool = Bool()
    var someInteger = Int()

    func gotTheFunc() -> Bool {
        isCool = true
        return isCool
    }
}

编译器允许我这样做,但是在声明像这样的类属性时,它实际上可以/应该做什么?

谢谢!

2 个答案:

答案 0 :(得分:1)

您应该在init方法中设置属性,然后您不必在声明时分配值。例如:

init(someInt: Int, isCool: Bool) {
    self.isCool = isCool
    self.someInteger = someInt
}

self关键字不是必需的,但要明确哪个是类的属性。

答案 1 :(得分:0)

您可以这样做但是在使用基本类型初始值设定项声明变量时

var isCool = Bool()
var someInteger = Int()

编译器执行此操作

var isCool = false
var someInteger = 0

如果要声明没有值的变量,则必须使用选项

var isCool : Bool?
var someInteger : Int?

但我会尽可能地避免选择。

旁注:类名应始终以大写字母开头

class Foo {}