check correct queue for managed object value access

This commit is contained in:
John Estropia
2017-04-12 19:22:18 +09:00
parent 9f3db61ff7
commit a73306fecb
10 changed files with 239 additions and 40 deletions

View File

@@ -70,6 +70,10 @@ public enum ValueContainer<O: CoreStoreObject> {
get {
CoreStore.assert(
self.accessRawObject().isRunningInAllowedQueue() == true,
"Attempted to access \(cs_typeName(O.self))'s value outside it's designated queue."
)
return self.accessRawObject()
.getValue(
forKvcKey: self.keyPath,
@@ -78,6 +82,10 @@ public enum ValueContainer<O: CoreStoreObject> {
}
set {
CoreStore.assert(
self.accessRawObject().isRunningInAllowedQueue() == true,
"Attempted to access \(cs_typeName(O.self))'s value outside it's designated queue."
)
self.accessRawObject()
.setValue(
newValue,
@@ -139,6 +147,10 @@ public enum ValueContainer<O: CoreStoreObject> {
get {
CoreStore.assert(
self.accessRawObject().isRunningInAllowedQueue() == true,
"Attempted to access \(cs_typeName(O.self))'s value outside it's designated queue."
)
return self.accessRawObject()
.getValue(
forKvcKey: self.keyPath,
@@ -147,6 +159,10 @@ public enum ValueContainer<O: CoreStoreObject> {
}
set {
CoreStore.assert(
self.accessRawObject().isRunningInAllowedQueue() == true,
"Attempted to access \(cs_typeName(O.self))'s value outside it's designated queue."
)
self.accessRawObject()
.setValue(
newValue,