OSDN Git Service

不要となっていたプロパティを削除
[kcd/KCD.git] / KCD / ResourceViewController.swift
index 39008f4..f74ea88 100644 (file)
@@ -8,41 +8,58 @@
 
 import Cocoa
 
-class ResourceViewController: NSViewController {
-    class func keyPathsForValuesAffectingShipNumberColor() -> Set<String> {
-        return ["maxChara", "shipCount", "minimumColoredShipCount"]
+final class ResourceViewController: NSViewController {
+    
+    @objc override class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String> {
+        
+        switch key {
+            
+        case #keyPath(shipNumberColor): return [#keyPath(maxChara), #keyPath(shipCount), #keyPath(minimumColoredShipCount)]
+            
+        default: return []
+            
+        }
     }
     
-    let managedObjectContext = ServerDataStore.default.managedObjectContext
+    @objc let managedObjectContext = ServerDataStore.default.context
     
     deinit {
-        unbind("maxChara")
-        unbind("shipCount")
+        
+        unbind(NSBindingName(#keyPath(maxChara)))
+        unbind(NSBindingName(#keyPath(shipCount)))
     }
     
-    @IBOutlet var shipController: NSArrayController!
-    @IBOutlet var basicController: NSObjectController!
+    @IBOutlet private var shipController: NSArrayController!
+    @IBOutlet private var basicController: NSObjectController!
     
-    dynamic var maxChara: Int = 0
-    dynamic var shipCount: Int = 0
-    dynamic var shipNumberColor: NSColor {
+    @objc dynamic var maxChara: Int = 0
+    @objc dynamic var shipCount: Int = 0
+    @objc dynamic var shipNumberColor: NSColor {
+        
         if shipCount > maxChara - minimumColoredShipCount {
-            return NSColor.orange
+            
+            return .orange
         }
-        return NSColor.controlTextColor
+        
+        return .controlTextColor
     }
-    dynamic var minimumColoredShipCount: Int {
-        get { return UserDefaults.standard.minimumColoredShipCount }
-        set { UserDefaults.standard.minimumColoredShipCount = newValue }
+    
+    @objc dynamic var minimumColoredShipCount: Int {
+        
+        get { return UserDefaults.standard[.minimumColoredShipCount] }
+        set { UserDefaults.standard[.minimumColoredShipCount] = newValue }
     }
-    override var nibName: String! {
-        return "ResourceViewController"
+    
+    override var nibName: NSNib.Name {
+        
+        return .nibName(instanceOf: self)
     }
     
     override func viewDidLoad() {
+        
         super.viewDidLoad()
         
-        bind("maxChara", to: basicController, withKeyPath: "selection.max_chara", options: nil)
-        bind("shipCount", to: shipController, withKeyPath: "arrangedObjects.@count", options: nil)
+        bind(NSBindingName(#keyPath(maxChara)), to: basicController, withKeyPath: "selection.max_chara", options: nil)
+        bind(NSBindingName(#keyPath(shipCount)), to: shipController, withKeyPath: "arrangedObjects.@count", options: nil)
     }
 }