1
UserDefaults
で作業している間に無数のcoolFeatureEnabled
文字列リテラルを繰り返すのがうんざりです。 Swift 3でそれらを取り除く良い方法があれば?ここでSwift 3で `UserDefaults`の` forKey`文字列リテラルを取り除くには?
var coolFeatureEnabled: Bool {
get { return UserDefaults.standard.bool(forKey: "coolFeatureEnabled") }
set { UserDefaults.standard.set(newValue, forKey: "coolFeatureEnabled") }
}
で文字列リテラルを回避する方法である、あなたは驚かれることでしょう;-) –
@danあなたはスウィフト3を使用していることを確認しています?デフォルトの '#function'パラメータは関数名に展開されます。これは' coolFeatureEnabled'または 'anotherFeatureEnabled'です。 setterやgetterに 'print(key);'を挿入することで簡単にチェックすることができます –
@dan実際にはデフォルトのパラメータとして使用されるときに '#function' [関数が(https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Expressions.html#//apple_ref/doc/uid/TP40014097-CH32-ID389) - この例では、 '' coolFeatureEnabled''または '' anotherFeatureEnabled''の名前です。 – Hamish