2 // TemporaryDataStoreAccessor.swift
5 // Created by Hori,Masaki on 2017/10/25.
6 // Copyright © 2017年 Hori,Masaki. All rights reserved.
11 extension TemporaryDataStore {
13 func battle() -> Battle? {
15 return battles().first
18 func battles() -> [Battle] {
20 guard let battles = try? self.objects(of: Battle.self) else {
30 battles().forEach { delete($0) }
33 func createBattle() -> Battle? {
35 return insertNewObject(for: Battle.self)
38 func sortedDamagesById() -> [Damage] {
40 let sortDescriptors = SortDescriptors(keyPath: \Damage.id, ascending: true)
42 guard let damages = try? objects(of: Damage.self, sortDescriptors: sortDescriptors) else {
50 func damages() -> [Damage] {
52 guard let damages = try? objects(of: Damage.self) else {
60 func createDamage() -> Damage? {
62 return insertNewObject(for: Damage.self)
65 func guardEscaped() -> [GuardEscaped] {
67 guard let escapeds = try? objects(of: GuardEscaped.self) else {
75 func ensuredGuardEscaped(byShipId shipId: Int) -> GuardEscaped? {
77 let predicate = Predicate(\GuardEscaped.shipID, equalTo: shipId)
78 .and(Predicate(true: \GuardEscaped.ensured))
80 guard let escapes = try? objects(of: GuardEscaped.self, predicate: predicate) else {
88 func notEnsuredGuardEscaped() -> [GuardEscaped] {
90 let predicate = Predicate(false: \GuardEscaped.ensured)
92 guard let escapeds = try? objects(of: GuardEscaped.self, predicate: predicate) else {
100 func createGuardEscaped() -> GuardEscaped? {
102 return insertNewObject(for: GuardEscaped.self)