我从 swift 着手,试图让我的代码简洁。
我有一个自定义的 init
方法
var title, initMainText, initBtnTitle: String?
...
init(title: String?, mainText: String?, buttonTitle: String?) {
if let t = title {
self.title = t
}
if let t = mainText {
self.initMainText = t
}
if let t = buttonTitle {
self.initBtnTitle = t
}
...
}
...
是否有更简洁的方法来解包所有这些条件?
最佳答案
有几种解决方法:
守卫
- 多个
let
/var
在同一个if
- 具有默认值的参数
- 三元条件运算符
- 无合并运算符
- 不要在
init
中接受可选参数(如 nhgrif 所建议)
看你的例子似乎
self.title
self.initMainText
self.initBtnTitle
是可选的,所以你可以简单地写:
init(title: String?, mainText: String?, buttonTitle: String?) {
self.title = title
self.initMainText = mainText
self.initBtnTitle = buttonTitle
...
}
关于swift - 如何在 Swift 2 中避免多个 if let 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33054422/