OSDN Git Service
(root)
/
kcd
/
KCD.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
64a6696
)
saveメソッドを一本化
author
masakih
<masakih@users.sourceforge.jp>
Wed, 14 Mar 2018 15:33:17 +0000
(
00:33
+0900)
committer
masakih
<masakih@users.sourceforge.jp>
Sun, 18 Mar 2018 01:40:33 +0000
(10:40 +0900)
KCD.xcodeproj/project.pbxproj
patch
|
blob
|
history
KCD/BookmarkListViewController.swift
patch
|
blob
|
history
KCD/BookmarkManager.swift
patch
|
blob
|
history
KCD/CoreDataManager.swift
patch
|
blob
|
history
KCD/GuardShelterCommand.swift
patch
|
blob
|
history
KCD/HistoryTableViewController.swift
patch
|
blob
|
history
KCD/JSONMapper.swift
patch
|
blob
|
history
KCD/MapInfoCommand.swift
patch
|
blob
|
history
diff --git
a/KCD.xcodeproj/project.pbxproj
b/KCD.xcodeproj/project.pbxproj
index
eecad9d
..
e55e191
100644
(file)
--- a/
KCD.xcodeproj/project.pbxproj
+++ b/
KCD.xcodeproj/project.pbxproj
@@
-1153,13
+1153,13
@@
F4BEEEA818D88FF30006F70C /* CoreData */ = {
isa = PBXGroup;
children = (
F4BEEEA818D88FF30006F70C /* CoreData */ = {
isa = PBXGroup;
children = (
- F4BDEEB11E73FE2000D689AE /* Entity.swift */,
F4E471281E46ECF1009B5AF4 /* CoreDataCore.swift */,
F4E471281E46ECF1009B5AF4 /* CoreDataCore.swift */,
- F4C4A57E201464E300F8B732 /* CoreDataProviderExtension.swift */,
- F4FF44D71FA21BF200039F21 /* CoreDataManager.swift */,
F44AA2661E814A4400EED8BE /* MOCGenerator.swift */,
F44AA2661E814A4400EED8BE /* MOCGenerator.swift */,
+ F4BDEEB11E73FE2000D689AE /* Entity.swift */,
+ F4FF44D71FA21BF200039F21 /* CoreDataManager.swift */,
F481D63E1F9105CB007E2CBE /* Entities.swift */,
F4FC3E8D1E4368BB00E41228 /* KCManagedObject.swift */,
F481D63E1F9105CB007E2CBE /* Entities.swift */,
F4FC3E8D1E4368BB00E41228 /* KCManagedObject.swift */,
+ F4C4A57E201464E300F8B732 /* CoreDataProviderExtension.swift */,
F4F9F8911C6BA26400D0EE76 /* KCD */,
F4F9F8921C6BA28200D0EE76 /* Local */,
F4F9F8931C6BA29500D0EE76 /* Temporary */,
F4F9F8911C6BA26400D0EE76 /* KCD */,
F4F9F8921C6BA28200D0EE76 /* Local */,
F4F9F8931C6BA29500D0EE76 /* Temporary */,
diff --git
a/KCD/BookmarkListViewController.swift
b/KCD/BookmarkListViewController.swift
index
1aa8797
..
b5952c0
100644
(file)
--- a/
KCD/BookmarkListViewController.swift
+++ b/
KCD/BookmarkListViewController.swift
@@
-160,7
+160,7
@@
extension BookmarkListViewController: NSTableViewDelegate, NSTableViewDataSource
bookmark.order = targetOrder + $0.offset + 1
}
bookmark.order = targetOrder + $0.offset + 1
}
- store.save(
errorHandler: store.presentOnMainThread
)
+ store.save()
self.bookmarkController.rearrangeObjects()
self.reorderingBoolmarks()
self.bookmarkController.rearrangeObjects()
self.reorderingBoolmarks()
diff --git
a/KCD/BookmarkManager.swift
b/KCD/BookmarkManager.swift
index
467bc4b
..
437fef0
100644
(file)
--- a/
KCD/BookmarkManager.swift
+++ b/
KCD/BookmarkManager.swift
@@
-77,7
+77,7
@@
final class BookmarkManager: NSObject, NSMenuDelegate {
return nil
}
return nil
}
- editorStore.save(
errorHandler: editorStore.presentOnMainThread
)
+ editorStore.save()
return new
}
return new
}
diff --git
a/KCD/CoreDataManager.swift
b/KCD/CoreDataManager.swift
index
29a2c8d
..
b97c131
100644
(file)
--- a/
KCD/CoreDataManager.swift
+++ b/
KCD/CoreDataManager.swift
@@
-30,8
+30,7
@@
protocol CoreDataProvider {
var context: NSManagedObjectContext { get }
var context: NSManagedObjectContext { get }
- func save(errorHandler: (Error) -> Void)
- func save() throws
+ func save(errorHandler: @escaping (Error) -> Void)
}
protocol CoreDataAccessor: CoreDataProvider {
}
protocol CoreDataAccessor: CoreDataProvider {
@@
-55,6
+54,21
@@
protocol CoreDataManager: CoreDataAccessor {
static func oneTimeEditor() -> Self
}
static func oneTimeEditor() -> Self
}
+func presentOnMainThread(_ error: Error) {
+
+ if Thread.isMainThread {
+
+ NSApp.presentError(error)
+
+ } else {
+
+ DispatchQueue.main.sync {
+
+ _ = NSApp.presentError(error)
+ }
+ }
+}
+
// MARK: - Extension
extension CoreDataProvider {
// MARK: - Extension
extension CoreDataProvider {
@@
-67,19
+81,7
@@
extension CoreDataProvider {
}
}
}
}
- func save(errorHandler: (Error) -> Void) {
-
- do {
-
- try save()
-
- } catch {
-
- errorHandler(error)
- }
- }
-
- func save() throws {
+ func save(errorHandler: @escaping (Error) -> Void = presentOnMainThread) {
// parentを辿ってsaveしていく
func propagateSaveAsync(_ context: NSManagedObjectContext) {
// parentを辿ってsaveしていく
func propagateSaveAsync(_ context: NSManagedObjectContext) {
@@
-99,17
+101,16
@@
extension CoreDataProvider {
} catch {
} catch {
-
Logger.shared.log("Could not save context as \(error)"
)
+
errorHandler(error
)
}
}
}
}
}
}
- var caughtError: Error?
context.performAndWait {
guard context.commitEditing() else {
context.performAndWait {
guard context.commitEditing() else {
-
caughtError = CoreDataError.couldNotSave("Unable to commit editing before saveing"
)
+
errorHandler(CoreDataError.couldNotSave("Unable to commit editing before saveing")
)
return
}
return
}
@@
-123,28
+124,7
@@
extension CoreDataProvider {
} catch let error as NSError {
} catch let error as NSError {
- caughtError = CoreDataError.couldNotSave(error.localizedDescription)
- return
- }
- }
-
- if let error = caughtError {
-
- throw error
- }
- }
-
- func presentOnMainThread(_ error: Error) {
-
- if Thread.isMainThread {
-
- NSApp.presentError(error)
-
- } else {
-
- DispatchQueue.main.sync {
-
- _ = NSApp.presentError(error)
+ errorHandler(CoreDataError.couldNotSave(error.localizedDescription))
}
}
}
}
}
}
diff --git
a/KCD/GuardShelterCommand.swift
b/KCD/GuardShelterCommand.swift
index
d1d1266
..
8558782
100644
(file)
--- a/
KCD/GuardShelterCommand.swift
+++ b/
KCD/GuardShelterCommand.swift
@@
-108,7
+108,7
@@
final class GuardShelterCommand: JSONCommand {
let store = TemporaryDataStore.oneTimeEditor()
store.sync {
store.notEnsuredGuardEscaped().forEach(store.delete)
let store = TemporaryDataStore.oneTimeEditor()
store.sync {
store.notEnsuredGuardEscaped().forEach(store.delete)
- store.save(
errorHandler: store.presentOnMainThread
)
+ store.save()
}
Thread.sleep(forTimeInterval: 0.1)
notify()
}
Thread.sleep(forTimeInterval: 0.1)
notify()
@@
-119,7
+119,7
@@
final class GuardShelterCommand: JSONCommand {
let store = TemporaryDataStore.oneTimeEditor()
store.sync {
store.guardEscaped().forEach(store.delete)
let store = TemporaryDataStore.oneTimeEditor()
store.sync {
store.guardEscaped().forEach(store.delete)
- store.save(
errorHandler: store.presentOnMainThread
)
+ store.save()
}
Thread.sleep(forTimeInterval: 0.1)
notify()
}
Thread.sleep(forTimeInterval: 0.1)
notify()
@@
-130,7
+130,7
@@
final class GuardShelterCommand: JSONCommand {
let store = TemporaryDataStore.oneTimeEditor()
store.sync {
store.guardEscaped().forEach { $0.ensured = true }
let store = TemporaryDataStore.oneTimeEditor()
store.sync {
store.guardEscaped().forEach { $0.ensured = true }
- store.save(
errorHandler: store.presentOnMainThread
)
+ store.save()
}
Thread.sleep(forTimeInterval: 0.1)
notify()
}
Thread.sleep(forTimeInterval: 0.1)
notify()
diff --git
a/KCD/HistoryTableViewController.swift
b/KCD/HistoryTableViewController.swift
index
9f99564
..
9388725
100644
(file)
--- a/
KCD/HistoryTableViewController.swift
+++ b/
KCD/HistoryTableViewController.swift
@@
-80,7
+80,7
@@
class HistoryTableViewController: NSViewController {
history.mark = !history.mark
}
history.mark = !history.mark
}
- store.save(
errorHandler: store.presentOnMainThread
)
+ store.save()
}
}
}
}
diff --git
a/KCD/JSONMapper.swift
b/KCD/JSONMapper.swift
index
b6a18c9
..
013a370
100644
(file)
--- a/
KCD/JSONMapper.swift
+++ b/
KCD/JSONMapper.swift
@@
-171,7
+171,7
@@
extension JSONMapper {
}
finishOperating()
}
finishOperating()
- store.save(
errorHandler: store.presentOnMainThread
)
+ store.save()
}
func commit() {
}
func commit() {
diff --git
a/KCD/MapInfoCommand.swift
b/KCD/MapInfoCommand.swift
index
367af51
..
c8bb0be
100644
(file)
--- a/
KCD/MapInfoCommand.swift
+++ b/
KCD/MapInfoCommand.swift
@@
-20,7
+20,7
@@
final class MapInfoCommand: JSONCommand {
let store = ServerDataStore.oneTimeEditor()
store.sync {
store.airBases().forEach(store.delete)
let store = ServerDataStore.oneTimeEditor()
store.sync {
store.airBases().forEach(store.delete)
- store.save(
errorHandler: store.presentOnMainThread
)
+ store.save()
}
AirBaseMapper(apiResponse).commit()
}
AirBaseMapper(apiResponse).commit()