[kit] Add an extension to UserDefaults object to mediate reading/writing values we care about
This commit is contained in:
parent
73a4bec59c
commit
72fc00d1ca
2 changed files with 51 additions and 4 deletions
|
|
@ -8,8 +8,51 @@
|
|||
|
||||
import Cocoa
|
||||
|
||||
class PreferencesWindowController: NSWindowController {
|
||||
override func prepare(for segue: NSStoryboardSegue, sender: Any?) {
|
||||
print("prepare for segue:\(segue), sender:\(String(describing: sender))")
|
||||
extension UserDefaults {
|
||||
var color0: Float4? {
|
||||
get {
|
||||
return float4(forKey: "color0")
|
||||
}
|
||||
set {
|
||||
set(newValue, forKey: "color0")
|
||||
}
|
||||
}
|
||||
|
||||
var color1: Float4? {
|
||||
get {
|
||||
return float4(forKey: "color1")
|
||||
}
|
||||
set {
|
||||
set(newValue, forKey: "color1")
|
||||
}
|
||||
}
|
||||
|
||||
var color2: Float4? {
|
||||
get {
|
||||
return float4(forKey: "color2")
|
||||
}
|
||||
set {
|
||||
set(newValue, forKey: "color2")
|
||||
}
|
||||
}
|
||||
|
||||
var color3: Float4? {
|
||||
get {
|
||||
return float4(forKey: "color3")
|
||||
}
|
||||
set {
|
||||
set(newValue, forKey: "color3")
|
||||
}
|
||||
}
|
||||
|
||||
func float4(forKey key: String) -> Float4? {
|
||||
guard let values = array(forKey: key) as? [Float], values.count >= 4 else {
|
||||
return nil
|
||||
}
|
||||
return Float4(values[0], values[1], values[2], values[3])
|
||||
}
|
||||
|
||||
func set(value: Float4, forKey key: String) {
|
||||
set([Float](float4: value), forKey: key)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue