OSDN Git Service

CollectionViewの実装から具体的なクラス名を排除
[kcd/KCD.git] / KCD / MainTabVIewItemViewController.swift
index 4e4f053..ffdb005 100644 (file)
@@ -45,14 +45,15 @@ class MainTabVIewItemViewController: NSViewController {
             
         case .destroyer, .lightCruiser, .heavyCruiser,
              .aircraftCarrier, .battleShip, .submarine:
-            return NSPredicate(format: "master_ship.stype.id IN %@", shipTypeCategories[selectedShipType.rawValue])
+            return NSPredicate(#keyPath(Ship.master_ship.stype.id), valuesIn: shipTypeCategories[selectedShipType.rawValue])
             
         case .other:
             let omitTypes = shipTypeCategories
+                .lazy
                 .enumerated()
                 .filter { $0.offset != 0 && $0.offset != 7 }
                 .flatMap { $0.element }
-            return NSPredicate(format: "NOT master_ship.stype.id IN %@", omitTypes)
+            return .not(NSPredicate(#keyPath(Ship.master_ship.stype.id), valuesIn: omitTypes))
         }
     }
 }