OSDN Git Service

Timerをクロージャ方式にした
[kcd/KCD.git] / KCD / AppDelegate.swift
index 253a40e..4393984 100644 (file)
@@ -13,8 +13,7 @@ final class AppDelegate: NSObject {
     
     static var shared: AppDelegate {
         
-        // swiftlint:disable:next force_cast
-        return NSApplication.shared.delegate as! AppDelegate
+        return NSApplication.shared.delegate as! AppDelegate    // swiftlint:disable:this force_cast
     }
         
     let appNameForUserAgent: String = "KCD(1.9b36) is not Safari/604.4.7"
@@ -29,24 +28,23 @@ final class AppDelegate: NSObject {
     
     // MARK: - Variable
     @IBOutlet private var debugMenuItem: NSMenuItem!
-    @IBOutlet private var billingWindowMenuItem: NSMenuItem!
     
     var jsonViewWindowController: JSONViewWindowController? {
         
         return windowManager.jsonViewWindowController
     }
     
-    private var browserWindowControllers: [ExternalBrowserWindowController] = []
     private var updaters: [() -> Void] = []
-    private var logedJSONViewWindowController: JSONViewWindowController?
     private var didLoadedMainMenu = false
     
     var screenShotSaveDirectory: String {
         
         get {
+            
             return UserDefaults.standard[.screenShotSaveDirectory] ?? ApplicationDirecrories.pictures.path
         }
         set {
+            
             UserDefaults.standard[.screenShotSaveDirectory] = newValue
         }
     }
@@ -116,11 +114,6 @@ final class AppDelegate: NSObject {
         
         return windowManager.createNewBrowser()
     }
-    
-    @objc func fire(_ timer: Timer) {
-        
-        updaters.forEach { $0() }
-    }
 }
 
 // MARK: - IBActions
@@ -251,12 +244,15 @@ extension AppDelegate {
             return true
             
         case #selector(AppDelegate.removeDatabaseFile(_:)):
+            
             return true
             
         case #selector(openInDeckBuilder(_:)):
+            
             return true
             
         default:
+            
             return windowManager.validateMenuItem(menuItem)
         }
     }
@@ -273,12 +269,10 @@ extension AppDelegate: NSApplicationDelegate {
             exit(0)
         }
         
-        NSUserNotificationCenter.default.delegate = self
-        Timer.scheduledTimer(timeInterval: 0.33,
-                             target: self,
-                             selector: #selector(AppDelegate.fire(_:)),
-                             userInfo: nil,
-                             repeats: true)
+        Timer.scheduledTimer(withTimeInterval: 0.33, repeats: true) { [weak self] _ in
+            
+            self?.updaters.forEach { $0() }
+        }
     }
     
     func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
@@ -310,6 +304,7 @@ extension AppDelegate: NSTouchBarProvider {
     var touchBar: NSTouchBar? {
         
         get {
+            
             if windowManager.isMainWindowMostFront {
                 
                 return nil