OSDN Git Service

Doutakuを導入
[kcd/KCD.git] / KCD / ShipMapper.swift
index 057ab9e..a259e99 100644 (file)
@@ -169,7 +169,7 @@ final class ShipMapper: JSONMapper {
     private func setMaster(_ masterId: Int, to ship: Ship) {
         
         guard let mShip = masterShips.binarySearch(comparator: { $0.id ==? masterId }),
-            let masterShip = store?.object(of: MasterShip.entity, with: mShip.objectID) else {
+            let masterShip = store?.exchange(mShip) else {
                 
                 return Logger.shared.log("Can not convert to current moc object masterShip")
         }
@@ -185,10 +185,10 @@ final class ShipMapper: JSONMapper {
         
         let newItems: [SlotItem] = convertedSlotItems
             .filter { $0 != 0 && $0 != -1 }
-            .flatMap { item in
+            .compactMap { item in
                 
                 guard let found = self.slotItems.binarySearch(comparator: { $0.id ==? item }),
-                    let slotItem = store.object(of: SlotItem.entity, with: found.objectID) else {
+                    let slotItem = store.exchange(found) else {
                         
                         let maxV = convertedSlotItems.last
                         if maxV != nil, maxV! < item {
@@ -213,7 +213,7 @@ final class ShipMapper: JSONMapper {
             return
         }
         guard let found = slotItems.binarySearch(comparator: { $0.id ==? exSlotItem }),
-            let ex = store?.object(of: SlotItem.entity, with: found.objectID) else {
+            let ex = store?.exchange(found) else {
                 
                 return Logger.shared.log("Can not convert to current moc object")
         }