我有一个不可变类初始值设定项的初始化模式,其中所有参数都在创建时传入
我基于此分配所有内部变量 - 所以有很多锅炉板,我倾向于忘记事情并犯错误。
我很好奇是否有办法在函数声明中分配内部属性。是否有关键词(如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, ...)
答案 0 :(得分:2)
不幸的是,只有当没有其他初始化程序存在时才会生成所需的初始化函数,即使这只限于结构体。
我建议提交错误,这似乎是一个有用的功能。但请记住,初始值不能像普通函数一样被引用(即你不能将它们存储在变量中)。