【发布时间】:2017-11-03 18:25:00
【问题描述】:
我的 Swift 3 代码中有几个这样的属性:
var dinActive: Bool {
get { return UserDefaults.standard.bool (forKey: "bo", fallback: true) }
set { UserDefaults.standard.set (newValue, forKey: "bo") }
}
var spdif1Active: Bool {
get { return UserDefaults.standard.bool (forKey: "spdif1", fallback: true) }
set { UserDefaults.standard.set (newValue, forKey: "spdif1") }
}
我想知道我是否可以使它更紧凑。例如,我会避免在 getter 和 setter 函数中重复字符串文字,例如 let s = "bo"。以某种方式可能吗?
另外,我想知道我是否可以将这种重复的模式制作成更短的代码,就像我可以使用类和泛型,或者使用 C 中的 #define 宏一样。不过,这可能最好单独提出题。如果您对此有任何建议,但尚未在 SO 上得到答复,只需添加评论,我会提出一个新问题。
【问题讨论】: