From 8066bf2a5ac0fb056cd36f1003798f11399d2329 Mon Sep 17 00:00:00 2001 From: John Rommel Estropia Date: Sun, 9 Aug 2015 05:05:26 +0900 Subject: [PATCH] fixed assertion failures when fetching from detached data transactions --- .../BaseDataTransaction+Querying.swift | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/CoreStore/Fetching and Querying/BaseDataTransaction+Querying.swift b/CoreStore/Fetching and Querying/BaseDataTransaction+Querying.swift index c7db64a..861b805 100644 --- a/CoreStore/Fetching and Querying/BaseDataTransaction+Querying.swift +++ b/CoreStore/Fetching and Querying/BaseDataTransaction+Querying.swift @@ -43,7 +43,7 @@ public extension BaseDataTransaction { public func fetchOne(from: From, _ fetchClauses: FetchClause...) -> T? { CoreStore.assert( - self.transactionQueue.isCurrentExecutionContext(), + self.bypassesQueueing || self.transactionQueue.isCurrentExecutionContext(), "Attempted to fetch from a \(typeName(self)) outside its designated queue." ) @@ -60,7 +60,7 @@ public extension BaseDataTransaction { public func fetchOne(from: From, _ fetchClauses: [FetchClause]) -> T? { CoreStore.assert( - self.transactionQueue.isCurrentExecutionContext(), + self.bypassesQueueing || self.transactionQueue.isCurrentExecutionContext(), "Attempted to fetch from a \(typeName(self)) outside its designated queue." ) @@ -77,7 +77,7 @@ public extension BaseDataTransaction { public func fetchAll(from: From, _ fetchClauses: FetchClause...) -> [T]? { CoreStore.assert( - self.transactionQueue.isCurrentExecutionContext(), + self.bypassesQueueing || self.transactionQueue.isCurrentExecutionContext(), "Attempted to fetch from a \(typeName(self)) outside its designated queue." ) @@ -94,7 +94,7 @@ public extension BaseDataTransaction { public func fetchAll(from: From, _ fetchClauses: [FetchClause]) -> [T]? { CoreStore.assert( - self.transactionQueue.isCurrentExecutionContext(), + self.bypassesQueueing || self.transactionQueue.isCurrentExecutionContext(), "Attempted to fetch from a \(typeName(self)) outside its designated queue." ) @@ -111,7 +111,7 @@ public extension BaseDataTransaction { public func fetchCount(from: From, _ fetchClauses: FetchClause...) -> Int? { CoreStore.assert( - self.transactionQueue.isCurrentExecutionContext(), + self.bypassesQueueing || self.transactionQueue.isCurrentExecutionContext(), "Attempted to fetch from a \(typeName(self)) outside its designated queue." ) @@ -128,7 +128,7 @@ public extension BaseDataTransaction { public func fetchCount(from: From, _ fetchClauses: [FetchClause]) -> Int? { CoreStore.assert( - self.transactionQueue.isCurrentExecutionContext(), + self.bypassesQueueing || self.transactionQueue.isCurrentExecutionContext(), "Attempted to fetch from a \(typeName(self)) outside its designated queue." ) @@ -145,7 +145,7 @@ public extension BaseDataTransaction { public func fetchObjectID(from: From, _ fetchClauses: FetchClause...) -> NSManagedObjectID? { CoreStore.assert( - self.transactionQueue.isCurrentExecutionContext(), + self.bypassesQueueing || self.transactionQueue.isCurrentExecutionContext(), "Attempted to fetch from a \(typeName(self)) outside its designated queue." ) @@ -162,7 +162,7 @@ public extension BaseDataTransaction { public func fetchObjectID(from: From, _ fetchClauses: [FetchClause]) -> NSManagedObjectID? { CoreStore.assert( - self.transactionQueue.isCurrentExecutionContext(), + self.bypassesQueueing || self.transactionQueue.isCurrentExecutionContext(), "Attempted to fetch from a \(typeName(self)) outside its designated queue." ) @@ -179,7 +179,7 @@ public extension BaseDataTransaction { public func fetchObjectIDs(from: From, _ fetchClauses: FetchClause...) -> [NSManagedObjectID]? { CoreStore.assert( - self.transactionQueue.isCurrentExecutionContext(), + self.bypassesQueueing || self.transactionQueue.isCurrentExecutionContext(), "Attempted to fetch from a \(typeName(self)) outside its designated queue." ) @@ -196,7 +196,7 @@ public extension BaseDataTransaction { public func fetchObjectIDs(from: From, _ fetchClauses: [FetchClause]) -> [NSManagedObjectID]? { CoreStore.assert( - self.transactionQueue.isCurrentExecutionContext(), + self.bypassesQueueing || self.transactionQueue.isCurrentExecutionContext(), "Attempted to fetch from a \(typeName(self)) outside its designated queue." ) @@ -213,7 +213,7 @@ public extension BaseDataTransaction { public func deleteAll(from: From, _ deleteClauses: DeleteClause...) -> Int? { CoreStore.assert( - self.transactionQueue.isCurrentExecutionContext(), + self.bypassesQueueing || self.transactionQueue.isCurrentExecutionContext(), "Attempted to delete from a \(typeName(self)) outside its designated queue." ) @@ -230,7 +230,7 @@ public extension BaseDataTransaction { public func deleteAll(from: From, _ deleteClauses: [DeleteClause]) -> Int? { CoreStore.assert( - self.transactionQueue.isCurrentExecutionContext(), + self.bypassesQueueing || self.transactionQueue.isCurrentExecutionContext(), "Attempted to delete from a \(typeName(self)) outside its designated queue." ) @@ -250,7 +250,7 @@ public extension BaseDataTransaction { public func queryValue(from: From, _ selectClause: Select, _ queryClauses: QueryClause...) -> U? { CoreStore.assert( - self.transactionQueue.isCurrentExecutionContext(), + self.bypassesQueueing || self.transactionQueue.isCurrentExecutionContext(), "Attempted to query from a \(typeName(self)) outside its designated queue." ) @@ -270,7 +270,7 @@ public extension BaseDataTransaction { public func queryValue(from: From, _ selectClause: Select, _ queryClauses: [QueryClause]) -> U? { CoreStore.assert( - self.transactionQueue.isCurrentExecutionContext(), + self.bypassesQueueing || self.transactionQueue.isCurrentExecutionContext(), "Attempted to query from a \(typeName(self)) outside its designated queue." ) @@ -290,7 +290,7 @@ public extension BaseDataTransaction { public func queryAttributes(from: From, _ selectClause: Select, _ queryClauses: QueryClause...) -> [[NSString: AnyObject]]? { CoreStore.assert( - self.transactionQueue.isCurrentExecutionContext(), + self.bypassesQueueing || self.transactionQueue.isCurrentExecutionContext(), "Attempted to query from a \(typeName(self)) outside its designated queue." ) @@ -310,7 +310,7 @@ public extension BaseDataTransaction { public func queryAttributes(from: From, _ selectClause: Select, _ queryClauses: [QueryClause]) -> [[NSString: AnyObject]]? { CoreStore.assert( - self.transactionQueue.isCurrentExecutionContext(), + self.bypassesQueueing || self.transactionQueue.isCurrentExecutionContext(), "Attempted to query from a \(typeName(self)) outside its designated queue." )