Swift - 根据函数参数分配局部变量

时间:2015-04-25 08:58:02

标签: swift syntax constructor initialization keyword

我有一个不可变类初始值设定项的初始化模式,其中所有参数都在创建时传入 我基于此分配所有内部变量 - 所以有很多锅炉板,我倾向于忘记事情并犯错误。
我很好奇是否有办法在函数声明中分配内部属性。是否有关键词(如inout)?

例如现在:

private var param1
private var param2
private var param3
...
private var paramN

init(param1, param2, param3, ..., paramN) {
  self.param1 = param1
  self.param2 = param2
  self.param3 = param3
  ...
  self.paramN = paramN
}

...如果有一种方法可以将函数param变量作为内部实例变量,那么会更清晰,更不容易出错:

init(self.param1, self.param2, ...)

1 个答案:

答案 0 :(得分:2)

不幸的是,只有当没有其他初始化程序存在时才会生成所需的初始化函数,即使这只限于结构体。

我建议提交错误,这似乎是一个有用的功能。但请记住,初始值不能像普通函数一样被引用(即你不能将它们存储在变量中)。