OSDN Git Service

staticプロパティをインスタンスプロパティに変更
[kcd/KCD.git] / KCD / SlotItem.swift
index ace62b1..a5f28e3 100644 (file)
@@ -8,7 +8,7 @@
 
 import Foundation
 
-// swiftlint:disable variable_name
+// swiftlint:disable identifier_name
 final class SlotItem: KCManagedObject {
     
     @NSManaged var alv: Int
@@ -20,36 +20,41 @@ final class SlotItem: KCManagedObject {
     @NSManaged var master_slotItem: MasterSlotItem
     @NSManaged var extraEquippedShip: Ship?
 }
-// swiftlint:eable variable_name
+// swiftlint:eable identifier_name
 
 extension SlotItem {
     
-    dynamic var name: String {
+    @objc dynamic var name: String {
         
         return master_slotItem.name
     }
     
-    dynamic var equippedShipName: String? {
+    private var equippedOrExShip: Ship? {
         
-        return equippedShip?.name
+        return [equippedShip, extraEquippedShip].compactMap { $0 }.first
     }
     
-    dynamic var equippedShipLv: NSNumber? {
+    @objc dynamic var equippedShipName: String? {
         
-        return equippedShip?.lv as NSNumber?
+        return equippedOrExShip?.name
     }
     
-    dynamic var masterSlotItemRare: Int {
+    @objc dynamic var equippedShipLv: NSNumber? {
+        
+        return equippedOrExShip?.lv as NSNumber?
+    }
+    
+    @objc dynamic var masterSlotItemRare: Int {
         
         return master_slotItem.rare
     }
     
-    dynamic var typeName: Int {
+    @objc dynamic var typeName: Int {
         
         return master_slotItem.type_2
     }
     
-    dynamic var isLocked: Bool {
+    @objc dynamic var isLocked: Bool {
         
         return locked
     }