OSDN Git Service

Equatableを自動実装させるようにした
[kcd/KCD.git] / KCD / Quest.swift
index 13bcee4..ce83056 100644 (file)
@@ -8,8 +8,9 @@
 
 import Foundation
 
-// swiftlint:disable variable_name
-class Quest: KCManagedObject {
+// swiftlint:disable identifier_name
+final class Quest: KCManagedObject {
+    
     @NSManaged var bonus_flag: Bool
     @NSManaged var category: Int
     @NSManaged var detail: String
@@ -24,13 +25,23 @@ class Quest: KCManagedObject {
     @NSManaged var title: String
     @NSManaged var type: Int
 }
-// swiftlint:eable variable_name
+// swiftlint:eable identifier_name
 
 extension Quest {
-    class func keyPathsForValuesAffectingCompositStatus() -> Set<String> {
-        return ["state", "progress_flag"]
+    
+    @objc override class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String> {
+        
+        switch key {
+            
+        case #keyPath(compositStatus): return [#keyPath(state), #keyPath(progress_flag)]
+            
+        default: return []
+            
+        }
     }
-    dynamic var compositStatus: Int {
+    
+    @objc dynamic var compositStatus: Int {
+        
         return progress_flag * 4 + state
     }
 }