如何仅初始化Swift类中的某些属性

时间:2014-10-26 06:54:45

标签: swift initialization

众所周知,Swift编译器强制在构造函数中初始化所有属性。但是,有时我只想要初始化一些属性。下面是一个例子,我只需要在第二个构造函数中使用变量b而不需要变量a但是编译器正在抱怨" a未初始化"。我想知道如何处理这个案子。

class aClass{
 var a:String
 var b:String

 init(a:String){
    self.a = "a"
 }

 init(a:String, b:String){
    self.a = "a"
    self.b = "b"
 }

}

1 个答案:

答案 0 :(得分:1)

这是选项的用途。您的财产声明b可以更改为var b: String?。这将使它不必在init中赋值。然后,当您想要使用它时,if let self.b = "my string" {...}或者,如果您知道它有值,您可以强行打开它:var myOtherString = b!