From 794a1a54523e4a9bf314ec6ba4adebcc6abb5e78 Mon Sep 17 00:00:00 2001 From: Dan Barber Date: Wed, 20 Feb 2019 21:55:44 -0500 Subject: [PATCH] Add observer helper method for prefs --- Persephone/AppDelegate.swift | 4 ++-- Persephone/Models/Preferences.swift | 16 +++++++++++----- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/Persephone/AppDelegate.swift b/Persephone/AppDelegate.swift index 0f6d3e3..863806b 100644 --- a/Persephone/AppDelegate.swift +++ b/Persephone/AppDelegate.swift @@ -19,8 +19,8 @@ class AppDelegate: NSObject, NSApplicationDelegate { func applicationDidFinishLaunching(_ aNotification: Notification) { connect() - UserDefaults.standard.addObserver(self, forKeyPath: "mpdHost", options: .new, context: nil) - UserDefaults.standard.addObserver(self, forKeyPath: "mpdPort", options: .new, context: nil) + preferences.addObserver(self, forKeyPath: "mpdHost") + preferences.addObserver(self, forKeyPath: "mpdPort") } func applicationWillTerminate(_ aNotification: Notification) { diff --git a/Persephone/Models/Preferences.swift b/Persephone/Models/Preferences.swift index 7666d90..acb630f 100644 --- a/Persephone/Models/Preferences.swift +++ b/Persephone/Models/Preferences.swift @@ -9,24 +9,26 @@ import Foundation struct Preferences { + let preferences = UserDefaults.standard + var mpdHost: String? { get { - return UserDefaults.standard.string(forKey: "mpdHost") + return preferences.string(forKey: "mpdHost") } set { - UserDefaults.standard.set(newValue, forKey: "mpdHost") + preferences.set(newValue, forKey: "mpdHost") } } var mpdPort: Int? { get { - return UserDefaults.standard.value(forKey: "mpdPort") as? Int + return preferences.value(forKey: "mpdPort") as? Int } set { if (newValue.map { $0 > 0 } ?? false) { - UserDefaults.standard.set(newValue, forKey: "mpdPort") + preferences.set(newValue, forKey: "mpdPort") } else { - UserDefaults.standard.removeObject(forKey: "mpdPort") + preferences.removeObject(forKey: "mpdPort") } } } @@ -38,4 +40,8 @@ struct Preferences { var mpdPortOrDefault: Int { return mpdPort ?? 6600 } + + func addObserver(_ observer: NSObject, forKeyPath keyPath: String) { + preferences.addObserver(observer, forKeyPath: keyPath, options: .new, context: nil) + } }