From b2dba0d6fd0811ce688217b842c4177bd14a84b7 Mon Sep 17 00:00:00 2001 From: John Estropia Date: Sun, 31 Mar 2019 00:29:43 +0900 Subject: [PATCH] update pod version and jazzy docs --- .travis.yml | 7 +- CoreStore.podspec | 4 +- docs/Classes.html | 217 ++- docs/Classes/AsynchronousDataTransaction.html | 177 ++- docs/Classes/BaseDataTransaction.html | 471 ++++-- .../CSAsynchronousDataTransaction.html | 162 +- docs/Classes/CSBaseDataTransaction.html | 162 +- docs/Classes/CSCoreStore.html | 164 +- docs/Classes/CSDataStack.html | 164 +- docs/Classes/CSError.html | 162 +- docs/Classes/CSFrom.html | 162 +- docs/Classes/CSGroupBy.html | 162 +- docs/Classes/CSInMemoryStore.html | 162 +- docs/Classes/CSInto.html | 162 +- docs/Classes/CSListMonitor.html | 169 ++- docs/Classes/CSMigrationResult.html | 170 ++- docs/Classes/CSMigrationType.html | 162 +- docs/Classes/CSObjectMonitor.html | 162 +- docs/Classes/CSOrderBy.html | 162 +- docs/Classes/CSSQLiteStore.html | 162 +- docs/Classes/CSSectionBy.html | 162 +- docs/Classes/CSSelect.html | 162 +- docs/Classes/CSSelectTerm.html | 162 +- docs/Classes/CSSetupResult.html | 166 ++- .../Classes/CSSynchronousDataTransaction.html | 162 +- docs/Classes/CSTweak.html | 162 +- docs/Classes/CSUnsafeDataModelSchema.html | 162 +- docs/Classes/CSUnsafeDataTransaction.html | 162 +- docs/Classes/CSWhere.html | 162 +- docs/Classes/CSXcodeDataModelSchema.html | 162 +- docs/Classes/CoreStoreObject.html | 162 +- docs/Classes/CoreStoreObjectObjectDiff.html | 162 +- docs/Classes/CoreStoreObjectOrderedDiff.html | 162 +- .../CoreStoreObjectTransformableDiff.html | 162 +- .../Classes/CoreStoreObjectUnorderedDiff.html | 162 +- docs/Classes/CoreStoreObjectValueDiff.html | 162 +- docs/Classes/CoreStoreSchema.html | 164 +- docs/Classes/CustomSchemaMappingProvider.html | 162 +- .../CustomMapping.html | 162 +- .../UnsafeDestinationObject.html | 162 +- .../UnsafeSourceObject.html | 162 +- docs/Classes/DataStack.html | 493 ++++-- docs/Classes/DefaultLogger.html | 162 +- docs/Classes/DynamicEntity.html | 162 +- docs/Classes/Entity.html | 360 ++++- docs/Classes/ICloudStore.html | 1309 ---------------- docs/Classes/InMemoryStore.html | 162 +- .../InferredSchemaMappingProvider.html | 167 ++- docs/Classes/ListMonitor.html | 280 +++- docs/Classes/ObjectMonitor.html | 162 +- docs/Classes/SQLiteStore.html | 162 +- docs/Classes/SchemaHistory.html | 162 +- docs/Classes/SynchronousDataTransaction.html | 162 +- docs/Classes/UnsafeDataModelSchema.html | 162 +- docs/Classes/UnsafeDataTransaction.html | 245 ++- docs/Classes/UserInfo.html | 162 +- docs/Classes/XcodeDataModelSchema.html | 164 +- docs/Classes/XcodeSchemaMappingProvider.html | 162 +- docs/Enums.html | 277 ++-- docs/Enums/CSErrorCode.html | 162 +- docs/Enums/CSLocalStorageOptions.html | 162 +- docs/Enums/CoreStore.html | 491 ++++-- docs/Enums/CoreStoreError.html | 193 ++- docs/Enums/CoreStoreErrorCode.html | 189 ++- docs/Enums/MigrationType.html | 162 +- docs/Enums/RelationshipContainer.html | 162 +- .../RelationshipContainer/ToManyOrdered.html | 162 +- .../ToManyUnordered.html | 162 +- docs/Enums/RelationshipContainer/ToOne.html | 162 +- docs/Enums/SelectTerm.html | 202 ++- docs/Enums/TransformableContainer.html | 162 +- .../TransformableContainer/Optional.html | 162 +- .../TransformableContainer/Required.html | 162 +- docs/Enums/ValueContainer.html | 162 +- docs/Enums/ValueContainer/Optional.html | 162 +- docs/Enums/ValueContainer/Required.html | 162 +- docs/Extensions.html | 284 +++- docs/Extensions/Bool.html | 162 +- docs/Extensions/CGFloat.html | 162 +- docs/Extensions/Data.html | 164 +- docs/Extensions/Date.html | 162 +- docs/Extensions/Double.html | 162 +- docs/Extensions/Float.html | 162 +- docs/Extensions/Int.html | 162 +- docs/Extensions/Int16.html | 162 +- docs/Extensions/Int32.html | 162 +- docs/Extensions/Int64.html | 162 +- docs/Extensions/Int8.html | 162 +- docs/Extensions/KeyPath.html | 228 ++- docs/Extensions/KeyPathString.html | 197 ++- docs/Extensions/NSAttributeType.html | 939 ++++++++++++ docs/Extensions/NSData.html | 162 +- docs/Extensions/NSDate.html | 162 +- docs/Extensions/NSDeleteRule.html | 939 ++++++++++++ docs/Extensions/NSManagedObject.html | 162 +- docs/Extensions/NSManagedObjectContext.html | 288 +++- docs/Extensions/NSManagedObjectID.html | 162 +- docs/Extensions/NSNull.html | 162 +- docs/Extensions/NSNumber.html | 162 +- docs/Extensions/NSString.html | 162 +- docs/Extensions/NSURL.html | 162 +- docs/Extensions/NSUUID.html | 162 +- docs/Extensions/Progress.html | 164 +- docs/Extensions/RawRepresentable.html | 162 +- .../Result.html} | 371 ++--- .../Selector.html} | 316 ++-- docs/Extensions/Sequence.html | 162 +- docs/Extensions/String.html | 162 +- docs/Extensions/URL.html | 162 +- docs/Extensions/UUID.html | 162 +- docs/Functions.html | 1156 ++++++++++++++- docs/Global Variables.html | 162 +- docs/Protocols.html | 439 +++++- docs/Protocols/AnyWhereClause.html | 162 +- docs/Protocols/CSDynamicSchema.html | 162 +- docs/Protocols/CSListObjectObserver.html | 162 +- docs/Protocols/CSListObserver.html | 162 +- docs/Protocols/CSListSectionObserver.html | 162 +- docs/Protocols/CSLocalStorage.html | 162 +- docs/Protocols/CSObjectObserver.html | 162 +- docs/Protocols/CSStorageInterface.html | 162 +- docs/Protocols/CloudStorage.html | 162 +- docs/Protocols/CoreStoreLogger.html | 162 +- .../CoreStoreObjectKeyValueObservation.html | 162 +- docs/Protocols/CoreStoreObjectiveCType.html | 162 +- docs/Protocols/CoreStoreSwiftType.html | 162 +- docs/Protocols/DynamicKeyPath.html | 164 +- docs/Protocols/DynamicObject.html | 162 +- docs/Protocols/DynamicSchema.html | 162 +- docs/Protocols/FetchChainableBuilderType.html | 162 +- docs/Protocols/FetchableSource.html | 357 ++++- docs/Protocols/GroupByClause.html | 162 +- docs/Protocols/ICloudStoreObserver.html | 1316 ----------------- docs/Protocols/ImportableObject.html | 162 +- docs/Protocols/ImportableUniqueObject.html | 162 +- docs/Protocols/ListObjectObserver.html | 162 +- docs/Protocols/ListObserver.html | 162 +- docs/Protocols/ListSectionObserver.html | 162 +- docs/Protocols/LocalStorage.html | 162 +- docs/Protocols/ObjectObserver.html | 162 +- docs/Protocols/OrderByClause.html | 162 +- docs/Protocols/QueryChainableBuilderType.html | 162 +- docs/Protocols/QueryableAttributeType.html | 162 +- docs/Protocols/QueryableSource.html | 234 ++- docs/Protocols/SchemaMappingProvider.html | 162 +- docs/Protocols/SectionMonitorBuilderType.html | 162 +- docs/Protocols/SelectClause.html | 162 +- docs/Protocols/StorageInterface.html | 162 +- docs/Protocols/WhereClauseType.html | 188 ++- docs/Structs.html | 240 ++- docs/Structs/CloudStorageOptions.html | 162 +- docs/Structs/FetchChainBuilder.html | 270 +++- docs/Structs/From.html | 278 +++- docs/Structs/GroupBy.html | 162 +- docs/Structs/Into.html | 162 +- docs/Structs/LocalStorageOptions.html | 162 +- docs/Structs/MigrationChain.html | 162 +- docs/Structs/OrderBy.html | 162 +- docs/Structs/OrderBy/SortKey.html | 170 ++- docs/Structs/PartialObject.html | 199 ++- docs/Structs/QueryChainBuilder.html | 286 +++- docs/Structs/SectionBy.html | 162 +- docs/Structs/SectionMonitorChainBuilder.html | 278 +++- docs/Structs/Select.html | 162 +- docs/Structs/Tweak.html | 162 +- docs/Structs/VersionLock.html | 162 +- docs/Structs/Where.html | 328 +++- .../Where/Expression.html} | 559 ++++++- docs/Typealiases.html | 263 +++- docs/badge.svg | 6 +- docs/css/jazzy.css | 10 +- .../Contents/Resources/Documents/Classes.html | 217 ++- .../Classes/AsynchronousDataTransaction.html | 177 ++- .../Classes/BaseDataTransaction.html | 471 ++++-- .../CSAsynchronousDataTransaction.html | 162 +- .../Classes/CSBaseDataTransaction.html | 162 +- .../Documents/Classes/CSCoreStore.html | 164 +- .../Documents/Classes/CSDataStack.html | 164 +- .../Resources/Documents/Classes/CSError.html | 162 +- .../Resources/Documents/Classes/CSFrom.html | 162 +- .../Documents/Classes/CSGroupBy.html | 162 +- .../Documents/Classes/CSInMemoryStore.html | 162 +- .../Resources/Documents/Classes/CSInto.html | 162 +- .../Documents/Classes/CSListMonitor.html | 169 ++- .../Documents/Classes/CSMigrationResult.html | 170 ++- .../Documents/Classes/CSMigrationType.html | 162 +- .../Documents/Classes/CSObjectMonitor.html | 162 +- .../Documents/Classes/CSOrderBy.html | 162 +- .../Documents/Classes/CSSQLiteStore.html | 162 +- .../Documents/Classes/CSSectionBy.html | 162 +- .../Resources/Documents/Classes/CSSelect.html | 162 +- .../Documents/Classes/CSSelectTerm.html | 162 +- .../Documents/Classes/CSSetupResult.html | 166 ++- .../Classes/CSSynchronousDataTransaction.html | 162 +- .../Resources/Documents/Classes/CSTweak.html | 162 +- .../Classes/CSUnsafeDataModelSchema.html | 162 +- .../Classes/CSUnsafeDataTransaction.html | 162 +- .../Resources/Documents/Classes/CSWhere.html | 162 +- .../Classes/CSXcodeDataModelSchema.html | 162 +- .../Documents/Classes/CoreStoreObject.html | 162 +- .../Classes/CoreStoreObjectObjectDiff.html | 162 +- .../Classes/CoreStoreObjectOrderedDiff.html | 162 +- .../CoreStoreObjectTransformableDiff.html | 162 +- .../Classes/CoreStoreObjectUnorderedDiff.html | 162 +- .../Classes/CoreStoreObjectValueDiff.html | 162 +- .../Documents/Classes/CoreStoreSchema.html | 164 +- .../Classes/CustomSchemaMappingProvider.html | 162 +- .../CustomMapping.html | 162 +- .../UnsafeDestinationObject.html | 162 +- .../UnsafeSourceObject.html | 162 +- .../Documents/Classes/DataStack.html | 493 ++++-- .../Documents/Classes/DefaultLogger.html | 162 +- .../Documents/Classes/DynamicEntity.html | 162 +- .../Resources/Documents/Classes/Entity.html | 360 ++++- .../Documents/Classes/ICloudStore.html | 1309 ---------------- .../Documents/Classes/InMemoryStore.html | 162 +- .../InferredSchemaMappingProvider.html | 167 ++- .../Documents/Classes/ListMonitor.html | 280 +++- .../Documents/Classes/ObjectMonitor.html | 162 +- .../Documents/Classes/SQLiteStore.html | 162 +- .../Documents/Classes/SchemaHistory.html | 162 +- .../Classes/SynchronousDataTransaction.html | 162 +- .../Classes/UnsafeDataModelSchema.html | 162 +- .../Classes/UnsafeDataTransaction.html | 245 ++- .../Resources/Documents/Classes/UserInfo.html | 162 +- .../Classes/XcodeDataModelSchema.html | 164 +- .../Classes/XcodeSchemaMappingProvider.html | 162 +- .../Contents/Resources/Documents/Enums.html | 277 ++-- .../Documents/Enums/CSErrorCode.html | 162 +- .../Enums/CSLocalStorageOptions.html | 162 +- .../Resources/Documents/Enums/CoreStore.html | 491 ++++-- .../Documents/Enums/CoreStoreError.html | 193 ++- .../Documents/Enums/CoreStoreErrorCode.html | 189 ++- .../Documents/Enums/MigrationType.html | 162 +- .../Enums/RelationshipContainer.html | 162 +- .../RelationshipContainer/ToManyOrdered.html | 162 +- .../ToManyUnordered.html | 162 +- .../Enums/RelationshipContainer/ToOne.html | 162 +- .../Resources/Documents/Enums/SelectTerm.html | 202 ++- .../Enums/TransformableContainer.html | 162 +- .../TransformableContainer/Optional.html | 162 +- .../TransformableContainer/Required.html | 162 +- .../Documents/Enums/ValueContainer.html | 162 +- .../Enums/ValueContainer/Optional.html | 162 +- .../Enums/ValueContainer/Required.html | 162 +- .../Resources/Documents/Extensions.html | 284 +++- .../Resources/Documents/Extensions/Bool.html | 162 +- .../Documents/Extensions/CGFloat.html | 162 +- .../Resources/Documents/Extensions/Data.html | 164 +- .../Resources/Documents/Extensions/Date.html | 162 +- .../Documents/Extensions/Double.html | 162 +- .../Resources/Documents/Extensions/Float.html | 162 +- .../Resources/Documents/Extensions/Int.html | 162 +- .../Resources/Documents/Extensions/Int16.html | 162 +- .../Resources/Documents/Extensions/Int32.html | 162 +- .../Resources/Documents/Extensions/Int64.html | 162 +- .../Resources/Documents/Extensions/Int8.html | 162 +- .../Documents/Extensions/KeyPath.html | 228 ++- .../Documents/Extensions/KeyPathString.html | 197 ++- .../Documents/Extensions/NSAttributeType.html | 939 ++++++++++++ .../Documents/Extensions/NSData.html | 162 +- .../Documents/Extensions/NSDate.html | 162 +- .../Documents/Extensions/NSDeleteRule.html | 939 ++++++++++++ .../Documents/Extensions/NSManagedObject.html | 162 +- .../Extensions/NSManagedObjectContext.html | 288 +++- .../Extensions/NSManagedObjectID.html | 162 +- .../Documents/Extensions/NSNull.html | 162 +- .../Documents/Extensions/NSNumber.html | 162 +- .../Documents/Extensions/NSString.html | 162 +- .../Resources/Documents/Extensions/NSURL.html | 162 +- .../Documents/Extensions/NSUUID.html | 162 +- .../Documents/Extensions/Progress.html | 164 +- .../Extensions/RawRepresentable.html | 162 +- .../Documents/Extensions/Result.html} | 371 ++--- .../Documents/Extensions/Selector.html} | 316 ++-- .../Documents/Extensions/Sequence.html | 162 +- .../Documents/Extensions/String.html | 162 +- .../Resources/Documents/Extensions/URL.html | 162 +- .../Resources/Documents/Extensions/UUID.html | 162 +- .../Resources/Documents/Functions.html | 1156 ++++++++++++++- .../Resources/Documents/Global Variables.html | 162 +- .../Resources/Documents/Protocols.html | 439 +++++- .../Documents/Protocols/AnyWhereClause.html | 162 +- .../Documents/Protocols/CSDynamicSchema.html | 162 +- .../Protocols/CSListObjectObserver.html | 162 +- .../Documents/Protocols/CSListObserver.html | 162 +- .../Protocols/CSListSectionObserver.html | 162 +- .../Documents/Protocols/CSLocalStorage.html | 162 +- .../Documents/Protocols/CSObjectObserver.html | 162 +- .../Protocols/CSStorageInterface.html | 162 +- .../Documents/Protocols/CloudStorage.html | 162 +- .../Documents/Protocols/CoreStoreLogger.html | 162 +- .../CoreStoreObjectKeyValueObservation.html | 162 +- .../Protocols/CoreStoreObjectiveCType.html | 162 +- .../Protocols/CoreStoreSwiftType.html | 162 +- .../Documents/Protocols/DynamicKeyPath.html | 164 +- .../Documents/Protocols/DynamicObject.html | 162 +- .../Documents/Protocols/DynamicSchema.html | 162 +- .../Protocols/FetchChainableBuilderType.html | 162 +- .../Documents/Protocols/FetchableSource.html | 357 ++++- .../Documents/Protocols/GroupByClause.html | 162 +- .../Protocols/ICloudStoreObserver.html | 1316 ----------------- .../Documents/Protocols/ImportableObject.html | 162 +- .../Protocols/ImportableUniqueObject.html | 162 +- .../Protocols/ListObjectObserver.html | 162 +- .../Documents/Protocols/ListObserver.html | 162 +- .../Protocols/ListSectionObserver.html | 162 +- .../Documents/Protocols/LocalStorage.html | 162 +- .../Documents/Protocols/ObjectObserver.html | 162 +- .../Documents/Protocols/OrderByClause.html | 162 +- .../Protocols/QueryChainableBuilderType.html | 162 +- .../Protocols/QueryableAttributeType.html | 162 +- .../Documents/Protocols/QueryableSource.html | 234 ++- .../Protocols/SchemaMappingProvider.html | 162 +- .../Protocols/SectionMonitorBuilderType.html | 162 +- .../Documents/Protocols/SelectClause.html | 162 +- .../Documents/Protocols/StorageInterface.html | 162 +- .../Documents/Protocols/WhereClauseType.html | 188 ++- .../Contents/Resources/Documents/Structs.html | 240 ++- .../Structs/CloudStorageOptions.html | 162 +- .../Documents/Structs/FetchChainBuilder.html | 270 +++- .../Resources/Documents/Structs/From.html | 278 +++- .../Resources/Documents/Structs/GroupBy.html | 162 +- .../Resources/Documents/Structs/Into.html | 162 +- .../Structs/LocalStorageOptions.html | 162 +- .../Documents/Structs/MigrationChain.html | 162 +- .../Resources/Documents/Structs/OrderBy.html | 162 +- .../Documents/Structs/OrderBy/SortKey.html | 170 ++- .../Documents/Structs/PartialObject.html | 199 ++- .../Documents/Structs/QueryChainBuilder.html | 286 +++- .../Documents/Structs/SectionBy.html | 162 +- .../Structs/SectionMonitorChainBuilder.html | 278 +++- .../Resources/Documents/Structs/Select.html | 162 +- .../Resources/Documents/Structs/Tweak.html | 162 +- .../Documents/Structs/VersionLock.html | 162 +- .../Resources/Documents/Structs/Where.html | 328 +++- .../Where/Expression.html} | 559 ++++++- .../Resources/Documents/Typealiases.html | 263 +++- .../Resources/Documents/css/jazzy.css | 10 +- .../Contents/Resources/Documents/index.html | 364 +++-- .../Resources/Documents/js/jazzy.search.js | 3 +- .../Contents/Resources/Documents/search.json | 2 +- .../Contents/Resources/docSet.dsidx | Bin 520192 -> 552960 bytes docs/docsets/CoreStore.tgz | Bin 1097408 -> 1212489 bytes docs/index.html | 364 +++-- docs/js/jazzy.search.js | 3 +- docs/search.json | 2 +- docs/undocumented.json | 984 +++++------- 348 files changed, 59464 insertions(+), 14545 deletions(-) delete mode 100644 docs/Classes/ICloudStore.html create mode 100644 docs/Extensions/NSAttributeType.html create mode 100644 docs/Extensions/NSDeleteRule.html rename docs/{docsets/CoreStore.docset/Contents/Resources/Documents/Enums/SetupResult.html => Extensions/Result.html} (77%) rename docs/{docsets/CoreStore.docset/Contents/Resources/Documents/Enums/MigrationResult.html => Extensions/Selector.html} (78%) delete mode 100644 docs/Protocols/ICloudStoreObserver.html rename docs/{Classes/AsynchronousDataTransaction/Result.html => Structs/Where/Expression.html} (52%) delete mode 100644 docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/ICloudStore.html create mode 100644 docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSAttributeType.html create mode 100644 docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSDeleteRule.html rename docs/{Enums/SetupResult.html => docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Result.html} (77%) rename docs/{Enums/MigrationResult.html => docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Selector.html} (78%) delete mode 100644 docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/ICloudStoreObserver.html rename docs/docsets/CoreStore.docset/Contents/Resources/Documents/{Classes/AsynchronousDataTransaction/Result.html => Structs/Where/Expression.html} (52%) diff --git a/.travis.yml b/.travis.yml index c8ad56e0..314b3bd4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ language: objective-c -osx_image: xcode10 +osx_image: xcode10.2 sudo: false git: submodules: false @@ -24,13 +24,8 @@ env: before_install: - gem install cocoapods --no-rdoc --no-ri --no-document --quiet - gem install xcpretty --no-rdoc --no-ri --no-document --quiet - - curl -OlL "https://github.com/Carthage/Carthage/releases/download/0.26.0/Carthage.pkg" - - sudo installer -pkg "Carthage.pkg" -target / - - rm "Carthage.pkg" - npm install ios-sim -g - ios-sim start --devicetypeid "com.apple.CoreSimulator.SimDeviceType.iPhone-8, 11.0" -before_script: - - carthage update --use-submodules script: - set -o pipefail - xcodebuild -version diff --git a/CoreStore.podspec b/CoreStore.podspec index 845654ae..a1d1d184 100644 --- a/CoreStore.podspec +++ b/CoreStore.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "CoreStore" - s.version = "6.2.1" - s.swift_version = "4.2" + s.version = "6.3.0" + s.swift_version = "5.0" s.license = "MIT" s.homepage = "https://github.com/JohnEstropia/CoreStore" s.documentation_url = "https://JohnEstropia.github.io/CoreStore" diff --git a/docs/Classes.html b/docs/Classes.html index a817650a..c1c42226 100644 --- a/docs/Classes.html +++ b/docs/Classes.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

@@ -56,9 +56,6 @@

- @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -786,7 +912,7 @@

AsynchronousDataTransaction

-

The AsynchronousDataTransaction provides an interface for DynamicObject creates, updates, and deletes. A transaction object should typically be only used from within a transaction block initiated from DataStack.perform(asynchronous:...), or from CoreStore.perform(synchronous:...).

+

The AsynchronousDataTransaction provides an interface for DynamicObject creates, updates, and deletes. A transaction object should typically be only used from within a transaction block initiated from DataStack.perform(asynchronous:...), or from CoreStore.perform(synchronous:...).

See more
@@ -1393,10 +1519,10 @@

CSMigrationResult

-

The CSMigrationResult serves as the Objective-C bridging type for MigrationResult.

+

The CSMigrationResult serves as the Objective-C bridging type for MigrationResult.

@@ -1799,10 +1925,10 @@

CSSetupResult

-

The CSSetupResult serves as the Objective-C bridging type for SetupResult.

+

The CSSetupResult serves as the Objective-C bridging type for SetupResult.

See also

- SetupResult + SetupResult
@@ -2473,46 +2599,6 @@

Declaration

-
- -
    -
  • -
    - - - - ICloudStore - -
    -
    -
    -
    -
    -
    -

    A storage interface backed by an SQLite database managed by iCloud.

    - - See more -
    -
    -

    Declaration

    -
    -

    Swift

    -
    @available(*, deprecated, message: "Please see the release notes and Core Data documentation.")
    -public final class ICloudStore : CloudStorage
    - -
    -
    -
    -
    -
  • -
-
@@ -3008,6 +3094,11 @@

InferredSchemaMappingProvider

A SchemaMappingProvider that tries to infer model migration between two DynamicSchema versions by searching all xcmappingmodels from Bundle.allBundles or by relying on lightweight migration if possible. Throws an error if lightweight migration is impossible for the two DynamicSchema. This mapping is automatically used as a fallback mapping provider, even if no mapping providers are explicitly declared in the StorageInterface.

+
+

Note

+ For security reasons, InferredSchemaMappingProvider will not search Bundle.allFrameworks by default. If the xcmappingmodels are bundled within a framework, use XcodeSchemaMappingProvider instead and provide Bundle(for: <a class in the framework> to its initializer. + +
See more
@@ -3118,8 +3209,8 @@

Declaration

diff --git a/docs/Classes/AsynchronousDataTransaction.html b/docs/Classes/AsynchronousDataTransaction.html index cef69eeb..f4fefa22 100644 --- a/docs/Classes/AsynchronousDataTransaction.html +++ b/docs/Classes/AsynchronousDataTransaction.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

@@ -56,9 +56,6 @@

- @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -763,7 +889,7 @@

AsynchronousDataTransaction

-

The AsynchronousDataTransaction provides an interface for DynamicObject creates, updates, and deletes. A transaction object should typically be only used from within a transaction block initiated from DataStack.perform(asynchronous:...), or from CoreStore.perform(synchronous:...).

+

The AsynchronousDataTransaction provides an interface for DynamicObject creates, updates, and deletes. A transaction object should typically be only used from within a transaction block initiated from DataStack.perform(asynchronous:...), or from CoreStore.perform(synchronous:...).

@@ -820,9 +946,9 @@

Result

  • - - - Result + + + Result
    @@ -830,15 +956,16 @@

    Result

    -

    The Result contains the success or failure information for a completed transaction

    +

    The Result contains the success or failure information for a completed transaction. +Result<T>.success indicates that the transaction succeeded, either because the save succeeded or because there were no changes to save. The associated userInfo is the value returned from the transaction closure. +Result<T>.failure indicates that the transaction either failed or was cancelled. The associated object for this value is a CoreStoreError enum value.

    - See more

    Declaration

    Swift

    -
    public enum Result<T>
    +
    public typealias Result<UserInfoType> = Swift.Result<UserInfoType, CoreStoreError>
    @@ -1262,8 +1389,8 @@

    Declaration

    diff --git a/docs/Classes/BaseDataTransaction.html b/docs/Classes/BaseDataTransaction.html index 6ee9b4fc..10644a05 100644 --- a/docs/Classes/BaseDataTransaction.html +++ b/docs/Classes/BaseDataTransaction.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

  • - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1221,9 +1347,9 @@

    Return Value

  • - + - insertedObjectIDs() + insertedObjectIDs()
    @@ -1252,9 +1378,9 @@

    Return Value

  • - + - insertedObjectIDs(_:) + insertedObjectIDs(_:)
    @@ -1352,9 +1478,9 @@

    Return Value

  • - + - updatedObjectIDs() + updatedObjectIDs()
    @@ -1383,9 +1509,9 @@

    Return Value

  • - + - updatedObjectIDs(_:) + updatedObjectIDs(_:)
    @@ -1483,9 +1609,9 @@

    Return Value

  • - + - deletedObjectIDs() + deletedObjectIDs()
    @@ -1533,9 +1659,9 @@

    Return Value

  • - + - deletedObjectIDs(_:) + deletedObjectIDs(_:)
    @@ -2013,9 +2139,9 @@

    DataTransaction

  • - + - deleteAll(_:_:) + deleteAll(_:_:)
    @@ -2031,7 +2157,7 @@

    Declaration

    Swift

    @discardableResult
    -public func deleteAll<D>(_ from: From<D>, _ deleteClauses: DeleteClause...) -> Int? where D : DynamicObject
    +public func deleteAll<D>(_ from: From<D>, _ deleteClauses: DeleteClause...) throws -> Int where D : DynamicObject
    @@ -2076,9 +2202,9 @@

    Return Value

  • - + - deleteAll(_:_:) + deleteAll(_:_:)
    @@ -2094,7 +2220,7 @@

    Declaration

    Swift

    @discardableResult
    -public func deleteAll<D>(_ from: From<D>, _ deleteClauses: [DeleteClause]) -> Int? where D : DynamicObject
    +public func deleteAll<D>(_ from: From<D>, _ deleteClauses: [DeleteClause]) throws -> Int where D : DynamicObject
    @@ -2139,9 +2265,9 @@

    Return Value

  • - + - deleteAll(_:) + deleteAll(_:)
    @@ -2159,7 +2285,7 @@

    Declaration

    Swift

    @discardableResult
    -public func deleteAll<B>(_ clauseChain: B) -> Int? where B : FetchChainableBuilderType
    +public func deleteAll<B>(_ clauseChain: B) throws -> Int where B : FetchChainableBuilderType
    @@ -2403,9 +2529,9 @@

    Return Value

  • - + - fetchOne(_:_:) + fetchOne(_:_:)
    @@ -2414,13 +2540,18 @@

    Return Value

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> D? where D : DynamicObject
    +
    public func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> D? where D : DynamicObject
    @@ -2457,7 +2588,7 @@

    Parameters

    Return Value

    -

    the first DynamicObject instance that satisfies the specified FetchClauses

    +

    the first DynamicObject instance that satisfies the specified FetchClauses, or nil if no match was found

  • @@ -2465,9 +2596,9 @@

    Return Value

  • - + - fetchOne(_:_:) + fetchOne(_:_:)
    @@ -2476,13 +2607,18 @@

    Return Value

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> D? where D : DynamicObject
    +
    public func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> D? where D : DynamicObject
    @@ -2519,7 +2655,7 @@

    Parameters

    Return Value

    -

    the first DynamicObject instance that satisfies the specified FetchClauses

    +

    the first DynamicObject instance that satisfies the specified FetchClauses, or nil if no match was found

    @@ -2527,9 +2663,9 @@

    Return Value

  • - + - fetchOne(_:) + fetchOne(_:)
    @@ -2544,13 +2680,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchOne<B>(_ clauseChain: B) -> B.ObjectType? where B : FetchChainableBuilderType
    +
    public func fetchOne<B>(_ clauseChain: B) throws -> B.ObjectType? where B : FetchChainableBuilderType
    @@ -2575,7 +2716,7 @@

    Parameters

    Return Value

    -

    the first DynamicObject instance that satisfies the specified FetchChainableBuilderType

    +

    the first DynamicObject instance that satisfies the specified FetchChainableBuilderType, or nil if no match was found

    @@ -2583,9 +2724,9 @@

    Return Value

  • - + - fetchAll(_:_:) + fetchAll(_:_:)
    @@ -2594,13 +2735,18 @@

    Return Value

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [D]? where D : DynamicObject
    +
    public func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [D] where D : DynamicObject
    @@ -2637,7 +2783,7 @@

    Parameters

    Return Value

    -

    all DynamicObject instances that satisfy the specified FetchClauses

    +

    all DynamicObject instances that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -2645,9 +2791,9 @@

    Return Value

  • - + - fetchAll(_:_:) + fetchAll(_:_:)
    @@ -2656,13 +2802,18 @@

    Return Value

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [D]? where D : DynamicObject
    +
    public func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [D] where D : DynamicObject
    @@ -2699,7 +2850,7 @@

    Parameters

    Return Value

    -

    all DynamicObject instances that satisfy the specified FetchClauses

    +

    all DynamicObject instances that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -2707,9 +2858,9 @@

    Return Value

  • - + - fetchAll(_:) + fetchAll(_:)
    @@ -2724,13 +2875,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchAll<B>(_ clauseChain: B) -> [B.ObjectType]? where B : FetchChainableBuilderType
    +
    public func fetchAll<B>(_ clauseChain: B) throws -> [B.ObjectType] where B : FetchChainableBuilderType
    @@ -2755,7 +2911,7 @@

    Parameters

    Return Value

    -

    all DynamicObject instances that satisfy the specified FetchChainableBuilderType

    +

    all DynamicObject instances that satisfy the specified FetchChainableBuilderType, or an empty array if no match was found

    @@ -2763,9 +2919,9 @@

    Return Value

  • - + - fetchCount(_:_:) + fetchCount(_:_:)
    @@ -2774,13 +2930,18 @@

    Return Value

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> Int? where D : DynamicObject
    +
    public func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> Int where D : DynamicObject
    @@ -2817,7 +2978,7 @@

    Parameters

    Return Value

    -

    the number DynamicObjects that satisfy the specified FetchClauses

    +

    the number of DynamicObjects that satisfy the specified FetchClauses

    @@ -2825,9 +2986,9 @@

    Return Value

  • - + - fetchCount(_:_:) + fetchCount(_:_:)
    @@ -2836,13 +2997,18 @@

    Return Value

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> Int? where D : DynamicObject
    +
    public func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> Int where D : DynamicObject
    @@ -2879,7 +3045,7 @@

    Parameters

    Return Value

    -

    the number DynamicObjects that satisfy the specified FetchClauses

    +

    the number of DynamicObjects that satisfy the specified FetchClauses

    @@ -2887,9 +3053,9 @@

    Return Value

  • - + - fetchCount(_:) + fetchCount(_:)
    @@ -2904,13 +3070,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchCount<B>(_ clauseChain: B) -> Int? where B : FetchChainableBuilderType
    +
    public func fetchCount<B>(_ clauseChain: B) throws -> Int where B : FetchChainableBuilderType
    @@ -2935,7 +3106,7 @@

    Parameters

    Return Value

    -

    the number DynamicObjects that satisfy the specified FetchChainableBuilderType

    +

    the number of DynamicObjects that satisfy the specified FetchChainableBuilderType

    @@ -2943,9 +3114,9 @@

    Return Value

  • - + - fetchObjectID(_:_:) + fetchObjectID(_:_:)
    @@ -2954,13 +3125,18 @@

    Return Value

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> NSManagedObjectID? where D : DynamicObject
    +
    public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> NSManagedObjectID? where D : DynamicObject
    @@ -2997,7 +3173,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses

    +

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses, or nil if no match was found

    @@ -3005,9 +3181,9 @@

    Return Value

  • - + - fetchObjectID(_:_:) + fetchObjectID(_:_:)
    @@ -3016,13 +3192,18 @@

    Return Value

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> NSManagedObjectID? where D : DynamicObject
    +
    public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> NSManagedObjectID? where D : DynamicObject
    @@ -3059,7 +3240,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses

    +

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses, or nil if no match was found

    @@ -3067,9 +3248,9 @@

    Return Value

  • - + - fetchObjectID(_:) + fetchObjectID(_:)
    @@ -3084,13 +3265,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchObjectID<B>(_ clauseChain: B) -> NSManagedObjectID? where B : FetchChainableBuilderType
    +
    public func fetchObjectID<B>(_ clauseChain: B) throws -> NSManagedObjectID? where B : FetchChainableBuilderType
    @@ -3115,7 +3301,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType

    +

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType, or nil if no match was found

    @@ -3123,9 +3309,9 @@

    Return Value

  • - + - fetchObjectIDs(_:_:) + fetchObjectIDs(_:_:)
    @@ -3134,13 +3320,18 @@

    Return Value

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [NSManagedObjectID]? where D : DynamicObject
    +
    public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [NSManagedObjectID] where D : DynamicObject
    @@ -3177,7 +3368,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses

    +

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -3185,9 +3376,9 @@

    Return Value

  • - + - fetchObjectIDs(_:_:) + fetchObjectIDs(_:_:)
    @@ -3196,13 +3387,18 @@

    Return Value

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [NSManagedObjectID]? where D : DynamicObject
    +
    public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [NSManagedObjectID] where D : DynamicObject
    @@ -3239,7 +3435,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses

    +

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -3247,9 +3443,9 @@

    Return Value

  • - + - fetchObjectIDs(_:) + fetchObjectIDs(_:)
    @@ -3264,13 +3460,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchObjectIDs<B>(_ clauseChain: B) -> [NSManagedObjectID]? where B : FetchChainableBuilderType
    +
    public func fetchObjectIDs<B>(_ clauseChain: B) throws -> [NSManagedObjectID] where B : FetchChainableBuilderType
    @@ -3295,7 +3496,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType

    +

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType, or an empty array if no match was found

    @@ -3314,9 +3515,9 @@

    QueryableSource

  • - + - queryValue(_:_:_:) + queryValue(_:_:_:)
    @@ -3327,13 +3528,18 @@

    QueryableSource

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) -> U? where D : DynamicObject, U : QueryableAttributeType
    +
    public func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) throws -> U? where D : DynamicObject, U : QueryableAttributeType
    @@ -3382,7 +3588,7 @@

    Parameters

    Return Value

    -

    the result of the the query. The type of the return value is specified by the generic type of the Select<U> parameter.

    +

    the result of the the query, or nil if no match was found. The type of the return value is specified by the generic type of the Select<U> parameter.

    @@ -3390,9 +3596,9 @@

    Return Value

  • - + - queryValue(_:_:_:) + queryValue(_:_:_:)
    @@ -3403,13 +3609,18 @@

    Return Value

    Queries aggregate values or aggregates as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) -> U? where D : DynamicObject, U : QueryableAttributeType
    +
    public func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) throws -> U? where D : DynamicObject, U : QueryableAttributeType
    @@ -3458,7 +3669,7 @@

    Parameters

    Return Value

    -

    the result of the the query. The type of the return value is specified by the generic type of the Select<U> parameter.

    +

    the result of the the query, or nil if no match was found. The type of the return value is specified by the generic type of the Select<U> parameter.

    @@ -3466,9 +3677,9 @@

    Return Value

  • - + - queryValue(_:) + queryValue(_:)
    @@ -3485,13 +3696,18 @@

    Return Value

    .where(\.age > 18) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func queryValue<B>(_ clauseChain: B) -> B.ResultType? where B : QueryChainableBuilderType, B.ResultType : QueryableAttributeType
    +
    public func queryValue<B>(_ clauseChain: B) throws -> B.ResultType? where B : QueryChainableBuilderType, B.ResultType : QueryableAttributeType
    @@ -3516,7 +3732,7 @@

    Parameters

    Return Value

    -

    the result of the the query as specified by the QueryChainableBuilderType

    +

    the result of the the query as specified by the QueryChainableBuilderType, or nil if no match was found.

    @@ -3524,9 +3740,9 @@

    Return Value

  • - + - queryAttributes(_:_:_:) + queryAttributes(_:_:_:)
    @@ -3537,13 +3753,18 @@

    Return Value

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) -> [[String : Any]]? where D : DynamicObject
    +
    public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) throws -> [[String : Any]] where D : DynamicObject
    @@ -3600,9 +3821,9 @@

    Return Value

  • - + - queryAttributes(_:_:_:) + queryAttributes(_:_:_:)
    @@ -3613,13 +3834,18 @@

    Return Value

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) -> [[String : Any]]? where D : DynamicObject
    +
    public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) throws -> [[String : Any]] where D : DynamicObject
    @@ -3676,9 +3902,9 @@

    Return Value

  • - + - queryAttributes(_:) + queryAttributes(_:)
    @@ -3704,13 +3930,18 @@

    Return Value

    print("There are \(count) people who are \(age) years old." } +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func queryAttributes<B>(_ clauseChain: B) -> [[String : Any]]? where B : QueryChainableBuilderType, B.ResultType == NSDictionary
    +
    public func queryAttributes<B>(_ clauseChain: B) throws -> [[String : Any]] where B : QueryChainableBuilderType, B.ResultType == NSDictionary
    @@ -3786,8 +4017,8 @@

    Declaration

    diff --git a/docs/Classes/CSAsynchronousDataTransaction.html b/docs/Classes/CSAsynchronousDataTransaction.html index 871b5253..ec75857b 100644 --- a/docs/Classes/CSAsynchronousDataTransaction.html +++ b/docs/Classes/CSAsynchronousDataTransaction.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

  • - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1204,8 +1330,8 @@

    Declaration

    diff --git a/docs/Classes/CSBaseDataTransaction.html b/docs/Classes/CSBaseDataTransaction.html index 7bec7291..b50ef862 100644 --- a/docs/Classes/CSBaseDataTransaction.html +++ b/docs/Classes/CSBaseDataTransaction.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -2142,8 +2268,8 @@

    Return Value

    diff --git a/docs/Classes/CSCoreStore.html b/docs/Classes/CSCoreStore.html index 89fd7391..842542b6 100644 --- a/docs/Classes/CSCoreStore.html +++ b/docs/Classes/CSCoreStore.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -2602,7 +2728,7 @@

    Parameters

    Return Value

    -

    a CSSaveResult value indicating success or failure, or nil if the transaction was not comitted synchronously

    +

    YES if the commit succeeded, NO if the commit failed. If NO, the error argument will hold error information.

    @@ -2713,8 +2839,8 @@

    Declaration

    diff --git a/docs/Classes/CSDataStack.html b/docs/Classes/CSDataStack.html index 4e4a80f6..47719197 100644 --- a/docs/Classes/CSDataStack.html +++ b/docs/Classes/CSDataStack.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -855,7 +981,7 @@

    Parameters

    -

    an optional bundle to load models from. If not specified, the main bundle will be used.

    +

    an optional bundle to load .xcdatamodeld models from. If not specified, the main bundle will be used.

    @@ -2839,8 +2965,8 @@

    Declaration

    diff --git a/docs/Classes/CSError.html b/docs/Classes/CSError.html index ff64ae01..46ed006d 100644 --- a/docs/Classes/CSError.html +++ b/docs/Classes/CSError.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -883,8 +1009,8 @@

    Declaration

    diff --git a/docs/Classes/CSFrom.html b/docs/Classes/CSFrom.html index 513906fe..7f8021e1 100644 --- a/docs/Classes/CSFrom.html +++ b/docs/Classes/CSFrom.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1017,8 +1143,8 @@

    Parameters

    diff --git a/docs/Classes/CSGroupBy.html b/docs/Classes/CSGroupBy.html index c8cb9591..b2edfecb 100644 --- a/docs/Classes/CSGroupBy.html +++ b/docs/Classes/CSGroupBy.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -908,8 +1034,8 @@

    Parameters

    diff --git a/docs/Classes/CSInMemoryStore.html b/docs/Classes/CSInMemoryStore.html index 9e5ca97f..bdf8dc52 100644 --- a/docs/Classes/CSInMemoryStore.html +++ b/docs/Classes/CSInMemoryStore.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1019,8 +1145,8 @@

    Declaration

    diff --git a/docs/Classes/CSInto.html b/docs/Classes/CSInto.html index bc66942e..e02e0e2c 100644 --- a/docs/Classes/CSInto.html +++ b/docs/Classes/CSInto.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -955,8 +1081,8 @@

    Parameters

    diff --git a/docs/Classes/CSListMonitor.html b/docs/Classes/CSListMonitor.html index d53712df..43c7cc52 100644 --- a/docs/Classes/CSListMonitor.html +++ b/docs/Classes/CSListMonitor.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -2103,6 +2229,11 @@

    Declaration

    Asks the CSListMonitor to refetch its objects using the specified series of CSFetchClauses. Note that this method does not execute the fetch immediately; the actual fetching will happen after the NSFetchedResultsController‘s last controllerDidChangeContent(_:) notification completes.

    refetch(...) broadcasts listMonitorWillRefetch(...) to its observers immediately, and then listMonitorDidRefetch(...) after the new fetch request completes.

    +
    +

    Important

    + Starting CoreStore 4.0, all CSFetchClauses required by the CSListMonitor should be provided in the arguments list of refetch(...). + +
    @@ -2126,7 +2257,7 @@

    Parameters

    -

    a series of FetchClause instances for fetching the object list. Accepts Where, OrderBy, and Tweak clauses. Note that only specified clauses will be changed; unspecified clauses will use previous values.

    +

    a series of FetchClause instances for fetching the object list. Accepts Where, OrderBy, and Tweak clauses.

    @@ -2144,8 +2275,8 @@

    Parameters

    diff --git a/docs/Classes/CSMigrationResult.html b/docs/Classes/CSMigrationResult.html index 9039352f..bf40a274 100644 --- a/docs/Classes/CSMigrationResult.html +++ b/docs/Classes/CSMigrationResult.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -764,10 +890,10 @@

    CSMigrationResult

    -

    The CSMigrationResult serves as the Objective-C bridging type for MigrationResult.

    +

    The CSMigrationResult serves as the Objective-C bridging type for MigrationResult.

    See also

    - MigrationResult + MigrationResult
    @@ -1079,7 +1205,7 @@

    CoreStoreObjectiveCType

    Declaration

    Swift

    -
    public let bridgeToSwift: MigrationResult
    +
    public let bridgeToSwift: MigrationResult
    @@ -1105,7 +1231,7 @@

    Declaration

    Declaration

    Swift

    -
    public required init(_ swiftValue: MigrationResult)
    +
    public required init(_ swiftValue: MigrationResult)
    @@ -1120,8 +1246,8 @@

    Declaration

    diff --git a/docs/Classes/CSMigrationType.html b/docs/Classes/CSMigrationType.html index 681b658f..a08aba97 100644 --- a/docs/Classes/CSMigrationType.html +++ b/docs/Classes/CSMigrationType.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -989,8 +1115,8 @@

    Declaration

    diff --git a/docs/Classes/CSObjectMonitor.html b/docs/Classes/CSObjectMonitor.html index e6c502b9..9fd7a08a 100644 --- a/docs/Classes/CSObjectMonitor.html +++ b/docs/Classes/CSObjectMonitor.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -941,8 +1067,8 @@

    Parameters

    diff --git a/docs/Classes/CSOrderBy.html b/docs/Classes/CSOrderBy.html index 2cff8015..740c498c 100644 --- a/docs/Classes/CSOrderBy.html +++ b/docs/Classes/CSOrderBy.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -916,8 +1042,8 @@

    Parameters

    diff --git a/docs/Classes/CSSQLiteStore.html b/docs/Classes/CSSQLiteStore.html index 84372599..a7ca914a 100644 --- a/docs/Classes/CSSQLiteStore.html +++ b/docs/Classes/CSSQLiteStore.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1242,8 +1368,8 @@

    Declaration

    diff --git a/docs/Classes/CSSectionBy.html b/docs/Classes/CSSectionBy.html index 06c207f8..6202f4ab 100644 --- a/docs/Classes/CSSectionBy.html +++ b/docs/Classes/CSSectionBy.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -901,8 +1027,8 @@

    Return Value

    diff --git a/docs/Classes/CSSelect.html b/docs/Classes/CSSelect.html index 5b6b08b6..cb80f6bd 100644 --- a/docs/Classes/CSSelect.html +++ b/docs/Classes/CSSelect.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1192,8 +1318,8 @@

    Return Value

    diff --git a/docs/Classes/CSSelectTerm.html b/docs/Classes/CSSelectTerm.html index 456f6cbd..2d7209e1 100644 --- a/docs/Classes/CSSelectTerm.html +++ b/docs/Classes/CSSelectTerm.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1217,8 +1343,8 @@

    Return Value

    diff --git a/docs/Classes/CSSetupResult.html b/docs/Classes/CSSetupResult.html index 15d7e8f2..402e979a 100644 --- a/docs/Classes/CSSetupResult.html +++ b/docs/Classes/CSSetupResult.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -764,10 +890,10 @@

    CSSetupResult

    -

    The CSSetupResult serves as the Objective-C bridging type for SetupResult.

    +

    The CSSetupResult serves as the Objective-C bridging type for SetupResult.

    See also

    - SetupResult + SetupResult
    @@ -1057,8 +1183,8 @@

    Parameters

    diff --git a/docs/Classes/CSSynchronousDataTransaction.html b/docs/Classes/CSSynchronousDataTransaction.html index bea2862f..6c41ef65 100644 --- a/docs/Classes/CSSynchronousDataTransaction.html +++ b/docs/Classes/CSSynchronousDataTransaction.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1195,8 +1321,8 @@

    Declaration

    diff --git a/docs/Classes/CSTweak.html b/docs/Classes/CSTweak.html index 45fa3c6b..375176fc 100644 --- a/docs/Classes/CSTweak.html +++ b/docs/Classes/CSTweak.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -929,8 +1055,8 @@

    Declaration

    diff --git a/docs/Classes/CSUnsafeDataModelSchema.html b/docs/Classes/CSUnsafeDataModelSchema.html index eca085eb..ed9be7f0 100644 --- a/docs/Classes/CSUnsafeDataModelSchema.html +++ b/docs/Classes/CSUnsafeDataModelSchema.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -973,8 +1099,8 @@

    Declaration

    diff --git a/docs/Classes/CSUnsafeDataTransaction.html b/docs/Classes/CSUnsafeDataTransaction.html index f23d3b97..73fdf6ba 100644 --- a/docs/Classes/CSUnsafeDataTransaction.html +++ b/docs/Classes/CSUnsafeDataTransaction.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1259,8 +1385,8 @@

    Declaration

    diff --git a/docs/Classes/CSWhere.html b/docs/Classes/CSWhere.html index cf80c421..ae0db52c 100644 --- a/docs/Classes/CSWhere.html +++ b/docs/Classes/CSWhere.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1094,8 +1220,8 @@

    Parameters

    diff --git a/docs/Classes/CSXcodeDataModelSchema.html b/docs/Classes/CSXcodeDataModelSchema.html index 25865e66..7f2ae3d9 100644 --- a/docs/Classes/CSXcodeDataModelSchema.html +++ b/docs/Classes/CSXcodeDataModelSchema.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -973,8 +1099,8 @@

    Declaration

    diff --git a/docs/Classes/CoreStoreObject.html b/docs/Classes/CoreStoreObject.html index 70b214e7..2c63453a 100644 --- a/docs/Classes/CoreStoreObject.html +++ b/docs/Classes/CoreStoreObject.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1275,8 +1401,8 @@

    Declaration

    diff --git a/docs/Classes/CoreStoreObjectObjectDiff.html b/docs/Classes/CoreStoreObjectObjectDiff.html index 31053d95..0d3572af 100644 --- a/docs/Classes/CoreStoreObjectObjectDiff.html +++ b/docs/Classes/CoreStoreObjectObjectDiff.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -888,8 +1014,8 @@

    Declaration

    diff --git a/docs/Classes/CoreStoreObjectOrderedDiff.html b/docs/Classes/CoreStoreObjectOrderedDiff.html index 1fedec2b..e7e5e44e 100644 --- a/docs/Classes/CoreStoreObjectOrderedDiff.html +++ b/docs/Classes/CoreStoreObjectOrderedDiff.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -915,8 +1041,8 @@

    Declaration

    diff --git a/docs/Classes/CoreStoreObjectTransformableDiff.html b/docs/Classes/CoreStoreObjectTransformableDiff.html index 7a79fa2b..7d795cd6 100644 --- a/docs/Classes/CoreStoreObjectTransformableDiff.html +++ b/docs/Classes/CoreStoreObjectTransformableDiff.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -888,8 +1014,8 @@

    Declaration

    diff --git a/docs/Classes/CoreStoreObjectUnorderedDiff.html b/docs/Classes/CoreStoreObjectUnorderedDiff.html index 0f537b9f..659bf875 100644 --- a/docs/Classes/CoreStoreObjectUnorderedDiff.html +++ b/docs/Classes/CoreStoreObjectUnorderedDiff.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -888,8 +1014,8 @@

    Declaration

    diff --git a/docs/Classes/CoreStoreObjectValueDiff.html b/docs/Classes/CoreStoreObjectValueDiff.html index 1a0a0b72..9d2f4753 100644 --- a/docs/Classes/CoreStoreObjectValueDiff.html +++ b/docs/Classes/CoreStoreObjectValueDiff.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -888,8 +1014,8 @@

    Declaration

    diff --git a/docs/Classes/CoreStoreSchema.html b/docs/Classes/CoreStoreSchema.html index a16f7d08..c0878170 100644 --- a/docs/Classes/CoreStoreSchema.html +++ b/docs/Classes/CoreStoreSchema.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -945,7 +1071,7 @@

    Parameters

    Declaration

    Swift

    -
    public required init(modelVersion: ModelVersion, entityConfigurations: [DynamicEntity: Set<String>], versionLock: VersionLock? = nil)
    +
    public required init(modelVersion: ModelVersion, entityConfigurations: [DynamicEntity : Set<String>], versionLock: VersionLock? = nil)
    @@ -1103,8 +1229,8 @@

    Declaration

    diff --git a/docs/Classes/CustomSchemaMappingProvider.html b/docs/Classes/CustomSchemaMappingProvider.html index d88208bd..e49b15d4 100644 --- a/docs/Classes/CustomSchemaMappingProvider.html +++ b/docs/Classes/CustomSchemaMappingProvider.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1132,8 +1258,8 @@

    Declaration

    diff --git a/docs/Classes/CustomSchemaMappingProvider/CustomMapping.html b/docs/Classes/CustomSchemaMappingProvider/CustomMapping.html index 324b775a..019e2bf2 100644 --- a/docs/Classes/CustomSchemaMappingProvider/CustomMapping.html +++ b/docs/Classes/CustomSchemaMappingProvider/CustomMapping.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1047,8 +1173,8 @@

    Declaration

    diff --git a/docs/Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html b/docs/Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html index 2799dbfb..c21cac9c 100644 --- a/docs/Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html +++ b/docs/Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -861,8 +987,8 @@

    Declaration

    diff --git a/docs/Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html b/docs/Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html index 3a1c2187..2c47adfa 100644 --- a/docs/Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html +++ b/docs/Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -861,8 +987,8 @@

    Declaration

    diff --git a/docs/Classes/DataStack.html b/docs/Classes/DataStack.html index abccbb9c..fe4a067c 100644 --- a/docs/Classes/DataStack.html +++ b/docs/Classes/DataStack.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -847,7 +973,7 @@

    Parameters

    -

    an optional bundle to load models from. If not specified, the main bundle will be used.

    +

    an optional bundle to load .xcdatamodeld models from. If not specified, the main bundle will be used.

    @@ -1597,9 +1723,9 @@

    DataStack

  • - + - addStorage(_:completion:) + addStorage(_:completion:)
    @@ -1624,7 +1750,7 @@

    DataStack

    Declaration

    Swift

    -
    public func addStorage<T>(_ storage: T, completion: @escaping (SetupResult<T>) -> Void)
    +
    public func addStorage<T>(_ storage: T, completion: @escaping (SetupResult<T>) -> Void)
    @@ -1652,7 +1778,7 @@

    Parameters

    -

    the closure to be executed on the main queue when the process completes, either due to success or failure. The closure’s SetupResult argument indicates the result. Note that the StorageInterface associated to the SetupResult.success may not always be the same instance as the parameter argument if a previous StorageInterface was already added at the same URL and with the same configuration.

    +

    the closure to be executed on the main queue when the process completes, either due to success or failure. The closure’s SetupResult argument indicates the result. Note that the StorageInterface associated to the SetupResult.success may not always be the same instance as the parameter argument if a previous StorageInterface was already added at the same URL and with the same configuration.

    @@ -1665,9 +1791,9 @@

    Parameters

  • - + - addStorage(_:completion:) + addStorage(_:completion:)
    @@ -1692,7 +1818,7 @@

    Parameters

    Declaration

    Swift

    -
    public func addStorage<T: LocalStorage>(_ storage: T, completion: @escaping (SetupResult<T>) -> Void) -> Progress?
    +
    public func addStorage<T: LocalStorage>(_ storage: T, completion: @escaping (SetupResult<T>) -> Void) -> Progress?
    @@ -1720,7 +1846,7 @@

    Parameters

    -

    the closure to be executed on the main queue when the process completes, either due to success or failure. The closure’s SetupResult argument indicates the result. Note that the LocalStorage associated to the SetupResult.success may not always be the same instance as the parameter argument if a previous LocalStorage was already added at the same URL and with the same configuration.

    +

    the closure to be executed on the main queue when the process completes, either due to success or failure. The closure’s SetupResult argument indicates the result. Note that the LocalStorage associated to the SetupResult.success may not always be the same instance as the parameter argument if a previous LocalStorage was already added at the same URL and with the same configuration.

    @@ -1737,9 +1863,9 @@

    Return Value

  • - + - addStorage(_:completion:) + addStorage(_:completion:)
    @@ -1775,7 +1901,7 @@

    Return Value

    Declaration

    Swift

    -
    public func addStorage<T: CloudStorage>(_ storage: T, completion: @escaping (SetupResult<T>) -> Void)
    +
    public func addStorage<T: CloudStorage>(_ storage: T, completion: @escaping (SetupResult<T>) -> Void)
    @@ -1803,7 +1929,7 @@

    Parameters

    -

    the closure to be executed on the main queue when the process completes, either due to success or failure. The closure’s SetupResult argument indicates the result. Note that the CloudStorage associated to the SetupResult.success may not always be the same instance as the parameter argument if a previous CloudStorage was already added at the same URL and with the same configuration.

    +

    the closure to be executed on the main queue when the process completes, either due to success or failure. The closure’s SetupResult argument indicates the result. Note that the CloudStorage associated to the SetupResult.success may not always be the same instance as the parameter argument if a previous CloudStorage was already added at the same URL and with the same configuration.

    @@ -1816,9 +1942,9 @@

    Parameters

  • - + - upgradeStorageIfNeeded(_:completion:) + upgradeStorageIfNeeded(_:completion:)
    @@ -1838,7 +1964,7 @@

    Parameters

    Declaration

    Swift

    -
    public func upgradeStorageIfNeeded<T: LocalStorage>(_ storage: T, completion: @escaping (MigrationResult) -> Void) throws -> Progress?
    +
    public func upgradeStorageIfNeeded<T: LocalStorage>(_ storage: T, completion: @escaping (MigrationResult) -> Void) throws -> Progress?
    @@ -1866,7 +1992,7 @@

    Parameters

    -

    the closure to be executed on the main queue when the migration completes, either due to success or failure. The closure’s MigrationResult argument indicates the result.

    +

    the closure to be executed on the main queue when the migration completes, either due to success or failure. The closure’s MigrationResult argument indicates the result.

    @@ -2331,7 +2457,7 @@

    Parameters

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    dataStack.monitorList(
    -    { (monitor) in
    +    createAsynchronously: { (monitor) in
             self.monitor = monitor
         },
         From<MyPersonEntity>()
    @@ -2380,10 +2506,6 @@ 

    Parameters

    -
    -

    Return Value

    -

    a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType

    -
  • @@ -2771,7 +2893,7 @@

    Parameters

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified SectionMonitorBuilderType built from a chain of clauses.

    dataStack.monitorSectionedList(
    -    { (monitor) in
    +    createAsynchronously: { (monitor) in
             self.monitor = monitor
         },
         From<MyPersonEntity>()
    @@ -2794,6 +2916,18 @@ 

    Declaration

    Parameters

    + + + +
    + + createAsynchronously + + +
    +

    the closure that receives the created ListMonitor instance

    +
    +
    @@ -2809,10 +2943,6 @@

    Parameters

    -
    -

    Return Value

    -

    a ListMonitor for a list of DynamicObjects that satisfy the specified SectionMonitorBuilderType

    -
    @@ -3030,9 +3160,9 @@

    Return Value

  • - + - fetchOne(_:_:) + fetchOne(_:_:)
    @@ -3041,13 +3171,18 @@

    Return Value

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> D? where D : DynamicObject
    +
    public func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> D? where D : DynamicObject
    @@ -3084,7 +3219,7 @@

    Parameters

    Return Value

    -

    the first DynamicObject instance that satisfies the specified FetchClauses

    +

    the first DynamicObject instance that satisfies the specified FetchClauses, or nil if no match was found

    @@ -3092,9 +3227,9 @@

    Return Value

  • - + - fetchOne(_:_:) + fetchOne(_:_:)
    @@ -3103,13 +3238,18 @@

    Return Value

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> D? where D : DynamicObject
    +
    public func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> D? where D : DynamicObject
    @@ -3146,7 +3286,7 @@

    Parameters

    Return Value

    -

    the first DynamicObject instance that satisfies the specified FetchClauses

    +

    the first DynamicObject instance that satisfies the specified FetchClauses, or nil if no match was found

    @@ -3154,9 +3294,9 @@

    Return Value

  • - + - fetchOne(_:) + fetchOne(_:)
    @@ -3171,13 +3311,18 @@

    Return Value

    .orderBy(.ascending(\.age)) )
    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchOne<B>(_ clauseChain: B) -> B.ObjectType? where B : FetchChainableBuilderType
    +
    public func fetchOne<B>(_ clauseChain: B) throws -> B.ObjectType? where B : FetchChainableBuilderType
    @@ -3202,7 +3347,7 @@

    Parameters

    Return Value

    -

    the first DynamicObject instance that satisfies the specified FetchChainableBuilderType

    +

    the first DynamicObject instance that satisfies the specified FetchChainableBuilderType, or nil if no match was found

    @@ -3210,9 +3355,9 @@

    Return Value

  • - + - fetchAll(_:_:) + fetchAll(_:_:)
    @@ -3221,13 +3366,18 @@

    Return Value

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [D]? where D : DynamicObject
    +
    public func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [D] where D : DynamicObject
    @@ -3264,7 +3414,7 @@

    Parameters

    Return Value

    -

    all DynamicObject instances that satisfy the specified FetchClauses

    +

    all DynamicObject instances that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -3272,9 +3422,9 @@

    Return Value

  • - + - fetchAll(_:_:) + fetchAll(_:_:)
    @@ -3283,13 +3433,18 @@

    Return Value

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [D]? where D : DynamicObject
    +
    public func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [D] where D : DynamicObject
    @@ -3326,7 +3481,7 @@

    Parameters

    Return Value

    -

    all DynamicObject instances that satisfy the specified FetchClauses

    +

    all DynamicObject instances that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -3334,9 +3489,9 @@

    Return Value

  • - + - fetchAll(_:) + fetchAll(_:)
    @@ -3351,13 +3506,18 @@

    Return Value

    .orderBy(.ascending(\.age)) )
    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchAll<B>(_ clauseChain: B) -> [B.ObjectType]? where B : FetchChainableBuilderType
    +
    public func fetchAll<B>(_ clauseChain: B) throws -> [B.ObjectType] where B : FetchChainableBuilderType
    @@ -3382,7 +3542,7 @@

    Parameters

    Return Value

    -

    all DynamicObject instances that satisfy the specified FetchChainableBuilderType

    +

    all DynamicObject instances that satisfy the specified FetchChainableBuilderType, or an empty array if no match was found

    @@ -3390,9 +3550,9 @@

    Return Value

  • - + - fetchCount(_:_:) + fetchCount(_:_:)
    @@ -3401,13 +3561,18 @@

    Return Value

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> Int? where D : DynamicObject
    +
    public func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> Int where D : DynamicObject
    @@ -3444,7 +3609,7 @@

    Parameters

    Return Value

    -

    the number DynamicObjects that satisfy the specified FetchClauses

    +

    the number of DynamicObjects that satisfy the specified FetchClauses

    @@ -3452,9 +3617,9 @@

    Return Value

  • - + - fetchCount(_:_:) + fetchCount(_:_:)
    @@ -3463,13 +3628,18 @@

    Return Value

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> Int? where D : DynamicObject
    +
    public func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> Int where D : DynamicObject
    @@ -3506,7 +3676,7 @@

    Parameters

    Return Value

    -

    the number DynamicObjects that satisfy the specified FetchClauses

    +

    the number of DynamicObjects that satisfy the specified FetchClauses

    @@ -3514,9 +3684,9 @@

    Return Value

  • - + - fetchCount(_:) + fetchCount(_:)
    @@ -3531,13 +3701,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchCount<B>(_ clauseChain: B) -> Int? where B : FetchChainableBuilderType
    +
    public func fetchCount<B>(_ clauseChain: B) throws -> Int where B : FetchChainableBuilderType
    @@ -3562,7 +3737,7 @@

    Parameters

    Return Value

    -

    the number DynamicObjects that satisfy the specified FetchChainableBuilderType

    +

    the number of DynamicObjects that satisfy the specified FetchChainableBuilderType

    @@ -3570,9 +3745,9 @@

    Return Value

  • - + - fetchObjectID(_:_:) + fetchObjectID(_:_:)
    @@ -3581,13 +3756,18 @@

    Return Value

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> NSManagedObjectID? where D : DynamicObject
    +
    public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> NSManagedObjectID? where D : DynamicObject
    @@ -3624,7 +3804,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses

    +

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses, or nil if no match was found

    @@ -3632,9 +3812,9 @@

    Return Value

  • - + - fetchObjectID(_:_:) + fetchObjectID(_:_:)
    @@ -3643,13 +3823,18 @@

    Return Value

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> NSManagedObjectID? where D : DynamicObject
    +
    public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> NSManagedObjectID? where D : DynamicObject
    @@ -3686,7 +3871,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses

    +

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses, or nil if no match was found

    @@ -3694,9 +3879,9 @@

    Return Value

  • - + - fetchObjectID(_:) + fetchObjectID(_:)
    @@ -3711,13 +3896,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchObjectID<B>(_ clauseChain: B) -> NSManagedObjectID? where B : FetchChainableBuilderType
    +
    public func fetchObjectID<B>(_ clauseChain: B) throws -> NSManagedObjectID? where B : FetchChainableBuilderType
    @@ -3742,7 +3932,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType

    +

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType, or nil if no match was found

    @@ -3750,9 +3940,9 @@

    Return Value

  • - + - fetchObjectIDs(_:_:) + fetchObjectIDs(_:_:)
    @@ -3761,13 +3951,18 @@

    Return Value

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [NSManagedObjectID]? where D : DynamicObject
    +
    public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [NSManagedObjectID] where D : DynamicObject
    @@ -3804,7 +3999,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses

    +

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -3812,9 +4007,9 @@

    Return Value

  • - + - fetchObjectIDs(_:_:) + fetchObjectIDs(_:_:)
    @@ -3823,13 +4018,18 @@

    Return Value

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [NSManagedObjectID]? where D : DynamicObject
    +
    public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [NSManagedObjectID] where D : DynamicObject
    @@ -3866,7 +4066,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses

    +

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -3874,9 +4074,9 @@

    Return Value

  • - + - fetchObjectIDs(_:) + fetchObjectIDs(_:)
    @@ -3891,13 +4091,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchObjectIDs<B>(_ clauseChain: B) -> [NSManagedObjectID]? where B : FetchChainableBuilderType
    +
    public func fetchObjectIDs<B>(_ clauseChain: B) throws -> [NSManagedObjectID] where B : FetchChainableBuilderType
    @@ -3922,7 +4127,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType

    +

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType, or an empty array if no match was found

    @@ -3941,9 +4146,9 @@

    QueryableSource

  • - + - queryValue(_:_:_:) + queryValue(_:_:_:)
    @@ -3954,13 +4159,18 @@

    QueryableSource

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) -> U? where D : DynamicObject, U : QueryableAttributeType
    +
    public func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) throws -> U? where D : DynamicObject, U : QueryableAttributeType
    @@ -4009,7 +4219,7 @@

    Parameters

    Return Value

    -

    the result of the the query. The type of the return value is specified by the generic type of the Select<U> parameter.

    +

    the result of the the query, or nil if no match was found. The type of the return value is specified by the generic type of the Select<U> parameter.

    @@ -4017,9 +4227,9 @@

    Return Value

  • - + - queryValue(_:_:_:) + queryValue(_:_:_:)
    @@ -4030,13 +4240,18 @@

    Return Value

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) -> U? where D : DynamicObject, U : QueryableAttributeType
    +
    public func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) throws -> U? where D : DynamicObject, U : QueryableAttributeType
    @@ -4085,7 +4300,7 @@

    Parameters

    Return Value

    -

    the result of the the query. The type of the return value is specified by the generic type of the Select<U> parameter.

    +

    the result of the the query, or nil if no match was found. The type of the return value is specified by the generic type of the Select<U> parameter.

    @@ -4093,9 +4308,9 @@

    Return Value

  • - + - queryValue(_:) + queryValue(_:)
    @@ -4112,13 +4327,18 @@

    Return Value

    .where(\.age > 18) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func queryValue<B>(_ clauseChain: B) -> B.ResultType? where B : QueryChainableBuilderType, B.ResultType : QueryableAttributeType
    +
    public func queryValue<B>(_ clauseChain: B) throws -> B.ResultType? where B : QueryChainableBuilderType, B.ResultType : QueryableAttributeType
    @@ -4143,7 +4363,7 @@

    Parameters

    Return Value

    -

    the result of the the query as specified by the QueryChainableBuilderType

    +

    the result of the the query as specified by the QueryChainableBuilderType, or nil if no match was found.

    @@ -4151,9 +4371,9 @@

    Return Value

  • - + - queryAttributes(_:_:_:) + queryAttributes(_:_:_:)
    @@ -4164,13 +4384,18 @@

    Return Value

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) -> [[String : Any]]? where D : DynamicObject
    +
    public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) throws -> [[String : Any]] where D : DynamicObject
    @@ -4227,9 +4452,9 @@

    Return Value

  • - + - queryAttributes(_:_:_:) + queryAttributes(_:_:_:)
    @@ -4240,13 +4465,18 @@

    Return Value

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) -> [[String : Any]]? where D : DynamicObject
    +
    public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) throws -> [[String : Any]] where D : DynamicObject
    @@ -4303,9 +4533,9 @@

    Return Value

  • - + - queryAttributes(_:) + queryAttributes(_:)
    @@ -4331,13 +4561,18 @@

    Return Value

    print("There are \(count) people who are \(age) years old." } +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func queryAttributes<B>(_ clauseChain: B) -> [[String : Any]]? where B : QueryChainableBuilderType, B.ResultType == NSDictionary
    +
    public func queryAttributes<B>(_ clauseChain: B) throws -> [[String : Any]] where B : QueryChainableBuilderType, B.ResultType == NSDictionary
    @@ -4419,9 +4654,9 @@

    DataStack

  • - + - perform(asynchronous:completion:) + perform(asynchronous:completion:)
    @@ -4429,7 +4664,7 @@

    DataStack

    -

    Performs a transaction asynchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the wrapped as .success(userInfo: T) in the completion‘s Result<T>. Any errors thrown from inside the task will be reported as .failure(error: CoreStoreError). To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    +

    Performs a transaction asynchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the wrapped as .success(T) in the completion‘s Result<T>. Any errors thrown from inside the task will be reported as .failure(CoreStoreError). To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    @@ -4988,8 +5223,8 @@

    Return Value

    diff --git a/docs/Classes/DefaultLogger.html b/docs/Classes/DefaultLogger.html index ba709c23..2fd06def 100644 --- a/docs/Classes/DefaultLogger.html +++ b/docs/Classes/DefaultLogger.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

  • - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1164,8 +1290,8 @@

    Parameters

    diff --git a/docs/Classes/DynamicEntity.html b/docs/Classes/DynamicEntity.html index 2f65abc0..cab4c337 100644 --- a/docs/Classes/DynamicEntity.html +++ b/docs/Classes/DynamicEntity.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1016,8 +1142,8 @@

    Declaration

    diff --git a/docs/Classes/Entity.html b/docs/Classes/Entity.html index f1a43883..add975d1 100644 --- a/docs/Classes/Entity.html +++ b/docs/Classes/Entity.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -825,7 +951,8 @@

    Entity

    Declaration

    Swift

    -
    public convenience init(_ entityName: String, isAbstract: Bool = false, versionHashModifier: String? = nil, indexes: [[PartialKeyPath<O>]] = [], uniqueConstraints: [[PartialKeyPath<O>]] = [])
    +
    @available(OSX 10.11, *)
    +public convenience init(_ entityName: String, isAbstract: Bool = false, versionHashModifier: String? = nil, indexes: [[PartialKeyPath<O>]] = [], uniqueConstraints: [[PartialKeyPath<O>]])
    @@ -899,6 +1026,90 @@

    Parameters

    +
  • +
    + + + + init(_:isAbstract:versionHashModifier:indexes:) + +
    +
    +
    +
    +
    +
    +

    Initializes an Entity. Always provide a concrete generic type to Entity.

    +
    Entity<Animal>("Animal")
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public convenience init(_ entityName: String, isAbstract: Bool = false, versionHashModifier: String? = nil, indexes: [[PartialKeyPath<O>]] = [])
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + + + + + +
    + + entityName + + +
    +

    the NSEntityDescription name to use for the entity

    +
    +
    + + isAbstract + + +
    +

    set to true if the entity is meant to be an abstract class and can only be initialized with subclass types.

    +
    +
    + + versionHashModifier + + +
    +

    the version hash modifier for the entity. Used to mark or denote an entity as being a different version than another even if all of the values which affect persistence are equal. (Such a difference is important in cases where, for example, the structure of an entity is unchanged but the format or content of data has changed.)

    +
    +
    + + indexes + + +
    +

    the compound indexes for the entity as an array of arrays. The arrays contained in the returned array contain KeyPaths to properties of the entity.

    +
    +
    +
    +
    +
    +
  • @@ -921,7 +1132,116 @@

    Parameters

    Declaration

    Swift

    -
    public init(_ type: O.Type, _ entityName: String, isAbstract: Bool = false, versionHashModifier: String? = nil, indexes: [[PartialKeyPath<O>]] = [], uniqueConstraints: [[PartialKeyPath<O>]] = [])
    +
    @available(OSX 10.11, *)
    +public init(_ type: O.Type, _ entityName: String, isAbstract: Bool = false, versionHashModifier: String? = nil, indexes: [[PartialKeyPath<O>]] = [], uniqueConstraints: [[PartialKeyPath<O>]])
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + type + + +
    +

    the DynamicObject type associated with the entity

    +
    +
    + + entityName + + +
    +

    the NSEntityDescription name to use for the entity

    +
    +
    + + isAbstract + + +
    +

    set to true if the entity is meant to be an abstract class and can only be initialized with subclass types.

    +
    +
    + + versionHashModifier + + +
    +

    the version hash modifier for the entity. Used to mark or denote an entity as being a different version than another even if all of the values which affect persistence are equal. (Such a difference is important in cases where, for example, the structure of an entity is unchanged but the format or content of data has changed.)

    +
    +
    + + indexes + + +
    +

    the compound indexes for the entity as an array of arrays. The arrays contained in the returned array contain KeyPath’s to properties of the entity.

    +
    +
    + + uniqueConstraints + + +
    +

    sets uniqueness constraints for the entity. A uniqueness constraint is a set of one or more KeyPaths whose value must be unique over the set of instances of that entity. This value forms part of the entity’s version hash. Uniqueness constraint violations can be computationally expensive to handle. It is highly suggested that there be only one uniqueness constraint per entity hierarchy. Uniqueness constraints must be defined at the highest level possible, and CoreStore will raise an assertion failure if unique constraints are added to a sub entity.

    +
    +
    +
    + + +
  • +
  • +
    + + + + init(_:_:isAbstract:versionHashModifier:indexes:) + +
    +
    +
    +
    +
    +
    +

    Initializes an Entity.

    +
    Entity(Animal.self, "Animal")
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(_ type: O.Type, _ entityName: String, isAbstract: Bool = false, versionHashModifier: String? = nil, indexes: [[PartialKeyPath<O>]] = [])
    @@ -1052,8 +1372,8 @@

    Declaration

    diff --git a/docs/Classes/ICloudStore.html b/docs/Classes/ICloudStore.html deleted file mode 100644 index 7a209a84..00000000 --- a/docs/Classes/ICloudStore.html +++ /dev/null @@ -1,1309 +0,0 @@ - - - - ICloudStore Class Reference - - - - - - - - - - - - - - - - -
    -

    - - CoreStore Docs - - (88% documented) -

    - -

    -

    - -
    -

    - -

    - - - View on GitHub - -

    - -
    - - - -
    - -
    - -
    -
    -

    ICloudStore

    -
    -
    -
    @available(*, deprecated, message: "Please see the release notes and Core Data documentation.")
    -public final class ICloudStore : CloudStorage
    - -
    -
    -

    A storage interface backed by an SQLite database managed by iCloud.

    - -
    -
    - -
    -
    -
    -
      -
    • - -
      -
      -
      -
      -
      -

      Initializes an iCloud store interface from the given ubiquitous store information. Returns nil if the container could not be located or if iCloud storage is unavailable for the current user or device

      -
      guard let storage = ICloudStore(
      -    ubiquitousContentName: "MyAppCloudData",
      -    ubiquitousContentTransactionLogsSubdirectory: "logs/config1",
      -    ubiquitousContainerID: "iCloud.com.mycompany.myapp.containername",
      -    ubiquitousPeerToken: "9614d658014f4151a95d8048fb717cf0",
      -    configuration: "Config1",
      -    cloudStorageOptions: .recreateLocalStoreOnModelMismatch
      -) else {
      -    // iCloud is not available on the device
      -    return
      -}
      -CoreStore.addStorage(
      -    storage,
      -    completion: { result in
      -        // ...
      -    }
      -)
      -
      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public required init?(ubiquitousContentName: String, ubiquitousContentTransactionLogsSubdirectory: String, ubiquitousContainerID: String? = nil, ubiquitousPeerToken: String? = nil, configuration: ModelConfiguration = nil, cloudStorageOptions: CloudStorageOptions = nil)
      - -
      -
      -
      -

      Parameters

      - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - - ubiquitousContentName - - -
      -

      the name of the store in iCloud. This is required and should not be empty, and should not contain periods (.).

      -
      -
      - - ubiquitousContentTransactionLogsSubdirectory - - -
      -

      a required relative path for the transaction logs

      -
      -
      - - ubiquitousContainerID - - -
      -

      a container if your app has multiple ubiquity container identifiers in its entitlements

      -
      -
      - - ubiquitousPeerToken - - -
      -

      a per-application salt to allow multiple apps on the same device to share a Core Data store integrated with iCloud

      -
      -
      - - configuration - - -
      -

      an optional configuration name from the model file. If not specified, defaults to nil, the Default configuration. Note that if you have multiple configurations, you will need to specify a different ubiquitousContentName explicitly for each of them.

      -
      -
      - - cloudStorageOptions - - -
      -

      When the ICloudStore is passed to the DataStack‘s addStorage() methods, tells the DataStack how to setup the persistent store. Defaults to .None.

      -
      -
      -
      -
      -
      -
    • -
    • -
      - - - - addObserver(_:) - -
      -
      -
      -
      -
      -
      -

      Registers an ICloudStoreObserver to start receive notifications from the ubiquitous store

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public func addObserver<T>(_ observer: T) where T : ICloudStoreObserver
      - -
      -
      -
      -

      Parameters

      - - - - - - - -
      - - observer - - -
      -

      the observer to start sending ubiquitous notifications to

      -
      -
      -
      -
      -
      -
    • -
    • -
      - - - - removeObserver(_:) - -
      -
      -
      -
      -
      -
      -

      Unregisters an ICloudStoreObserver to stop receiving notifications from the ubiquitous store

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public func removeObserver(_ observer: ICloudStoreObserver)
      - -
      -
      -
      -

      Parameters

      - - - - - - - -
      - - observer - - -
      -

      the observer to stop sending ubiquitous notifications to

      -
      -
      -
      -
      -
      -
    • -
    -
    -
    - -
      -
    • -
      - - - - storeType - -
      -
      -
      -
      -
      -
      -

      The string identifier for the NSPersistentStore‘s type property. For SQLiteStores, this is always set to NSSQLiteStoreType.

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public static let storeType: String
      - -
      -
      -
      -
      -
    • -
    • -
      - - - - configuration - -
      -
      -
      -
      -
      -
      -

      The configuration name in the model file

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public let configuration: ModelConfiguration
      - -
      -
      -
      -
      -
    • -
    • -
      - - - - storeOptions - -
      -
      -
      -
      -
      -
      -

      The options dictionary for the NSPersistentStore. For SQLiteStores, this is always set to

      -
      [NSSQLitePragmasOption: ["journal_mode": "WAL"]]
      -
      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public let storeOptions: [AnyHashable : Any]?
      - -
      -
      -
      -
      -
    • -
    • - -
      -
      -
      -
      -
      -

      Do not call directly. Used by the DataStack internally.

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public func cs_didAddToDataStack(_ dataStack: DataStack)
      - -
      -
      -
      -
      -
    • -
    • - -
      -
      -
      -
      -
      -

      Do not call directly. Used by the DataStack internally.

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public func cs_didRemoveFromDataStack(_ dataStack: DataStack)
      - -
      -
      -
      -
      -
    • -
    -
    -
    - -
      -
    • -
      - - - - cacheFileURL - -
      -
      -
      -
      -
      -
      -

      The NSURL that points to the ubiquity container file

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public let cacheFileURL: URL
      - -
      -
      -
      -
      -
    • -
    • -
      - - - - cloudStorageOptions - -
      -
      -
      -
      -
      -
      -

      Options that tell the DataStack how to setup the persistent store

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public var cloudStorageOptions: CloudStorageOptions
      - -
      -
      -
      -
      -
    • -
    • - -
      -
      -
      -
      -
      -

      The options dictionary for the specified CloudStorageOptions

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public func dictionary(forOptions options: CloudStorageOptions) -> [AnyHashable : Any]?
      - -
      -
      -
      -
      -
    • -
    • - -
      -
      -
      -
      -
      -

      Called by the DataStack to perform actual deletion of the store file from disk. Do not call directly! The sourceModel argument is a hint for the existing store’s model version. For SQLiteStore, this converts the database’s WAL journaling mode to DELETE before deleting the file.

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public func cs_eraseStorageAndWait(soureModel: NSManagedObjectModel) throws
      - -
      -
      -
      -
      -
    • -
    -
    -
    - -
      -
    • -
      - - - - debugDescription - -
      -
      -
      -
      -
      -
      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public var debugDescription: String { get }
      - -
      -
      -
      -
      -
    • -
    -
    -
    -
    - -
    -
    - - - - diff --git a/docs/Classes/InMemoryStore.html b/docs/Classes/InMemoryStore.html index 71de0f1c..2900f792 100644 --- a/docs/Classes/InMemoryStore.html +++ b/docs/Classes/InMemoryStore.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

  • - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1073,8 +1199,8 @@

    Declaration

    diff --git a/docs/Classes/InferredSchemaMappingProvider.html b/docs/Classes/InferredSchemaMappingProvider.html index 5c88de33..56b3b766 100644 --- a/docs/Classes/InferredSchemaMappingProvider.html +++ b/docs/Classes/InferredSchemaMappingProvider.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -764,6 +890,11 @@

    InferredSchemaMappingProvider

    A SchemaMappingProvider that tries to infer model migration between two DynamicSchema versions by searching all xcmappingmodels from Bundle.allBundles or by relying on lightweight migration if possible. Throws an error if lightweight migration is impossible for the two DynamicSchema. This mapping is automatically used as a fallback mapping provider, even if no mapping providers are explicitly declared in the StorageInterface.

    +
    +

    Note

    + For security reasons, InferredSchemaMappingProvider will not search Bundle.allFrameworks by default. If the xcmappingmodels are bundled within a framework, use XcodeSchemaMappingProvider instead and provide Bundle(for: <a class in the framework> to its initializer. + +
    @@ -887,8 +1018,8 @@

    Declaration

    diff --git a/docs/Classes/ListMonitor.html b/docs/Classes/ListMonitor.html index 059aca3d..eb76aa26 100644 --- a/docs/Classes/ListMonitor.html +++ b/docs/Classes/ListMonitor.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1230,9 +1356,9 @@

    Return Value

  • - - - hasObjectsInSection(_:) + + + hasObjects(in:)
    @@ -1247,7 +1373,7 @@

    Return Value

    Declaration

    Swift

    -
    public func hasObjectsInSection(_ section: Int) -> Bool
    +
    public func hasObjects(in section: Int) -> Bool
    @@ -1342,9 +1468,9 @@

    Return Value

  • - - - numberOfObjectsInSection(_:) + + + numberOfObjects(in:)
    @@ -1359,7 +1485,7 @@

    Return Value

    Declaration

    Swift

    -
    public func numberOfObjectsInSection(_ section: Int) -> Int
    +
    public func numberOfObjects(in section: Int) -> Int
    @@ -1392,9 +1518,9 @@

    Return Value

  • - - - numberOfObjectsInSection(safeSectionIndex:) + + + numberOfObjects(safelyIn:)
    @@ -1409,7 +1535,7 @@

    Return Value

    Declaration

    Swift

    -
    public func numberOfObjectsInSection(safeSectionIndex section: Int) -> Int?
    +
    public func numberOfObjects(safelyIn section: Int) -> Int?
    @@ -1442,9 +1568,9 @@

    Return Value

  • - - - sectionInfoAtIndex(_:) + + + sectionInfo(at:)
    @@ -1459,7 +1585,7 @@

    Return Value

    Declaration

    Swift

    -
    public func sectionInfoAtIndex(_ section: Int) -> NSFetchedResultsSectionInfo
    +
    public func sectionInfo(at section: Int) -> NSFetchedResultsSectionInfo
    @@ -1492,9 +1618,9 @@

    Return Value

  • - - - sectionInfoAtIndex(safeSectionIndex:) + + + sectionInfo(safelyAt:)
    @@ -1509,7 +1635,7 @@

    Return Value

    Declaration

    Swift

    -
    public func sectionInfoAtIndex(safeSectionIndex section: Int) -> NSFetchedResultsSectionInfo?
    +
    public func sectionInfo(safelyAt section: Int) -> NSFetchedResultsSectionInfo?
    @@ -1573,9 +1699,9 @@

    Return Value

  • - - - targetSectionForSectionIndex(title:index:) + + + targetSection(forSectionIndexTitle:at:)
    @@ -1590,7 +1716,7 @@

    Return Value

    Declaration

    Swift

    -
    public func targetSectionForSectionIndex(title: String, index: Int) -> Int
    +
    public func targetSection(forSectionIndexTitle sectionIndexTitle: String, at sectionIndex: Int) -> Int
    @@ -1601,7 +1727,7 @@

    Parameters

    - title + sectionIndexTitle @@ -1613,7 +1739,7 @@

    Parameters

    - index + sectionIndex @@ -1666,9 +1792,9 @@

    Return Value

  • - - - indexOf(_:) + + + index(of:)
    @@ -1683,7 +1809,7 @@

    Return Value

    Declaration

    Swift

    -
    public func indexOf(_ object: ObjectType) -> Int?
    +
    public func index(of object: ObjectType) -> Int?
    @@ -1716,9 +1842,9 @@

    Return Value

  • - - - indexPathOf(_:) + + + indexPath(of:)
    @@ -1733,7 +1859,7 @@

    Return Value

    Declaration

    Swift

    -
    public func indexPathOf(_ object: ObjectType) -> IndexPath?
    +
    public func indexPath(of object: ObjectType) -> IndexPath?
    @@ -2009,7 +2135,9 @@

    Public (Refetching)

    Declaration

    Swift

    -
    public private(set) var isPendingRefetch: Bool
    +
    public private(set) var isPendingRefetch: Bool {
    +  get
    +  }
    @@ -2032,6 +2160,11 @@

    Declaration

    Asks the ListMonitor to refetch its objects using the specified series of FetchClauses. Note that this method does not execute the fetch immediately; the actual fetching will happen after the NSFetchedResultsController‘s last controllerDidChangeContent(_:) notification completes.

    refetch(...) broadcasts listMonitorWillRefetch(...) to its observers immediately, and then listMonitorDidRefetch(...) after the new fetch request completes.

    +
    +

    Important

    + Starting CoreStore 4.0, all FetchClauses required by the ListMonitor should be provided in the arguments list of refetch(...). + +
    @@ -2054,7 +2187,7 @@

    Parameters

    -

    a series of FetchClause instances for fetching the object list. Accepts Where, OrderBy, and Tweak clauses. Important: Starting CoreStore 4.0, all FetchClauses required by the ListMonitor should be provided in the arguments list of refetch(...).

    +

    a series of FetchClause instances for fetching the object list. Accepts Where, OrderBy, and Tweak clauses.

    @@ -2080,6 +2213,11 @@

    Parameters

    Asks the ListMonitor to refetch its objects using the specified series of FetchClauses. Note that this method does not execute the fetch immediately; the actual fetching will happen after the NSFetchedResultsController‘s last controllerDidChangeContent(_:) notification completes.

    refetch(...) broadcasts listMonitorWillRefetch(...) to its observers immediately, and then listMonitorDidRefetch(...) after the new fetch request completes.

    +
    +

    Important

    + Starting CoreStore 4.0, all FetchClauses required by the ListMonitor should be provided in the arguments list of refetch(...). + +
    @@ -2102,7 +2240,7 @@

    Parameters

    -

    a series of FetchClause instances for fetching the object list. Accepts Where, OrderBy, and Tweak clauses. Important: Starting CoreStore 4.0, all FetchClauses required by the ListMonitor should be provided in the arguments list of refetch(...).

    +

    a series of FetchClause instances for fetching the object list. Accepts Where, OrderBy, and Tweak clauses.

    @@ -2316,9 +2454,9 @@

    Return Value

  • - - - objectsInSection(_:) + + + objects(in:)
    @@ -2333,7 +2471,7 @@

    Return Value

    Declaration

    Swift

    -
    public func objectsInSection(_ section: Int) -> [ObjectType]
    +
    public func objects(in section: Int) -> [ObjectType]
    @@ -2366,9 +2504,9 @@

    Return Value

  • - - - objectsInSection(safeSectionIndex:) + + + objects(safelyIn:)
    @@ -2383,7 +2521,7 @@

    Return Value

    Declaration

    Swift

    -
    public func objectsInSection(safeSectionIndex section: Int) -> [ObjectType]?
    +
    public func objects(safelyIn section: Int) -> [ObjectType]?
    @@ -2458,9 +2596,9 @@

    Return Value

  • - - - objectsInSection(_:) + + + objects(in:)
    @@ -2475,7 +2613,7 @@

    Return Value

    Declaration

    Swift

    -
    public func objectsInSection(_ section: Int) -> [ObjectType]
    +
    public func objects(in section: Int) -> [ObjectType]
    @@ -2508,9 +2646,9 @@

    Return Value

  • - - - objectsInSection(safeSectionIndex:) + + + objects(safelyIn:)
    @@ -2525,7 +2663,7 @@

    Return Value

    Declaration

    Swift

    -
    public func objectsInSection(safeSectionIndex section: Int) -> [ObjectType]?
    +
    public func objects(safelyIn section: Int) -> [ObjectType]?
    @@ -2563,8 +2701,8 @@

    Return Value

    diff --git a/docs/Classes/ObjectMonitor.html b/docs/Classes/ObjectMonitor.html index 3d70cf4b..f573036f 100644 --- a/docs/Classes/ObjectMonitor.html +++ b/docs/Classes/ObjectMonitor.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

  • - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1091,8 +1217,8 @@

    Declaration

    diff --git a/docs/Classes/SQLiteStore.html b/docs/Classes/SQLiteStore.html index 46abcddf..18592097 100644 --- a/docs/Classes/SQLiteStore.html +++ b/docs/Classes/SQLiteStore.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1516,8 +1642,8 @@

    Declaration

    diff --git a/docs/Classes/SchemaHistory.html b/docs/Classes/SchemaHistory.html index f9b1ef9a..a4fff3c1 100644 --- a/docs/Classes/SchemaHistory.html +++ b/docs/Classes/SchemaHistory.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1145,8 +1271,8 @@

    Declaration

    diff --git a/docs/Classes/SynchronousDataTransaction.html b/docs/Classes/SynchronousDataTransaction.html index c8146f09..c6c59c13 100644 --- a/docs/Classes/SynchronousDataTransaction.html +++ b/docs/Classes/SynchronousDataTransaction.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1223,8 +1349,8 @@

    Declaration

    diff --git a/docs/Classes/UnsafeDataModelSchema.html b/docs/Classes/UnsafeDataModelSchema.html index 157b4793..a751f632 100644 --- a/docs/Classes/UnsafeDataModelSchema.html +++ b/docs/Classes/UnsafeDataModelSchema.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -979,8 +1105,8 @@

    Declaration

    diff --git a/docs/Classes/UnsafeDataTransaction.html b/docs/Classes/UnsafeDataTransaction.html index 7d18082e..c4311888 100644 --- a/docs/Classes/UnsafeDataTransaction.html +++ b/docs/Classes/UnsafeDataTransaction.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1836,6 +1962,73 @@

    Parameters

    +
  • +
    + + + + monitorList(createAsynchronously:_:) + +
    +
    +
    +
    +
    +
    +

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    +
    dataStack.monitorList(
    +    createAsynchronously: { (monitor) in
    +        self.monitor = monitor
    +    },
    +    From<MyPersonEntity>()
    +        .where(\.age > 18)
    +        .orderBy(.ascending(\.age))
    +)
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func monitorList<B: FetchChainableBuilderType>(createAsynchronously: @escaping (ListMonitor<B.ObjectType>) -> Void, _ clauseChain: B)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + createAsynchronously + + +
    +

    the closure that receives the created ListMonitor instance

    +
    +
    + + clauseChain + + +
    +

    a FetchChainableBuilderType built from a chain of clauses

    +
    +
    +
    +
    +
    +
  • @@ -2243,6 +2436,18 @@

    Declaration

    Parameters

    + + + +
    + + createAsynchronously + + +
    +

    the closure that receives the created ListMonitor instance

    +
    +
    @@ -2258,10 +2463,6 @@

    Parameters

    -
    -

    Return Value

    -

    a ListMonitor for a list of DynamicObjects that satisfy the specified SectionMonitorBuilderType

    -
  • @@ -2273,8 +2474,8 @@

    Return Value

    diff --git a/docs/Classes/UserInfo.html b/docs/Classes/UserInfo.html index ea5b658e..047f817b 100644 --- a/docs/Classes/UserInfo.html +++ b/docs/Classes/UserInfo.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -918,8 +1044,8 @@

    Return Value

    diff --git a/docs/Classes/XcodeDataModelSchema.html b/docs/Classes/XcodeDataModelSchema.html index 6cdf3bf4..4ef49c60 100644 --- a/docs/Classes/XcodeDataModelSchema.html +++ b/docs/Classes/XcodeDataModelSchema.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -824,7 +950,7 @@

    Parameters

    -

    an optional bundle to load models from. If not specified, the main bundle will be used.

    +

    an optional bundle to load .xcdatamodeld models from. If not specified, the main bundle will be used.

    @@ -1119,8 +1245,8 @@

    Declaration

    diff --git a/docs/Classes/XcodeSchemaMappingProvider.html b/docs/Classes/XcodeSchemaMappingProvider.html index 0b422eb3..5d1feb59 100644 --- a/docs/Classes/XcodeSchemaMappingProvider.html +++ b/docs/Classes/XcodeSchemaMappingProvider.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1042,8 +1168,8 @@

    Declaration

    diff --git a/docs/Enums.html b/docs/Enums.html index 8f039a11..df729d99 100644 --- a/docs/Enums.html +++ b/docs/Enums.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -853,55 +979,6 @@

    Declaration

    -
    - -
      -
    • -
      - - - - MigrationResult - -
      -
      -
      -
      -
      -
      -

      The MigrationResult indicates the result of a migration. -The MigrationResult can be treated as a boolean:

      -
      CoreStore.upgradeStorageIfNeeded(SQLiteStorage(fileName: "data.sqlite")) { (result) in
      -    switch result {
      -    case .success(let migrationSteps):
      -        // ...
      -    case .failure(let error):
      -        // ...
      -    }
      -}
      -
      - - See more -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public enum MigrationResult : Hashable
      - -
      -
      -
      -
      -
    • -
    -
    @@ -1025,72 +1102,6 @@

    Declaration

    -
    - -
      -
    • -
      - - - - SetupResult - -
      -
      -
      -
      -
      -
      -

      The SetupResult indicates the result of an asynchronous initialization of a persistent store. -The SetupResult can be treated as a boolean:

      -
      try! CoreStore.addStorage(
      -    SQLiteStore(),
      -    completion: { (result: SetupResult) -> Void in
      -        if result {
      -            // succeeded
      -        }
      -        else {
      -            // failed
      -        }
      -    }
      -)
      -
      - -

      or as an enum, where the resulting associated object can also be inspected:

      -
      try! CoreStore.addStorage(
      -    SQLiteStore(),
      -    completion: { (result: SetupResult) -> Void in
      -        switch result {
      -        case .success(let storage):
      -            // storage is the related StorageInterface instance
      -        case .failure(let error):
      -            // error is the CoreStoreError enum value for the failure
      -        }
      -    }
      -)
      -
      - - See more -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public enum SetupResult<T> : Hashable where T : StorageInterface
      - -
      -
      -
      -
      -
    • -
    -
    @@ -1349,8 +1360,8 @@

    Declaration

    diff --git a/docs/Enums/CSErrorCode.html b/docs/Enums/CSErrorCode.html index 54c729cf..8a503efb 100644 --- a/docs/Enums/CSErrorCode.html +++ b/docs/Enums/CSErrorCode.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -980,8 +1106,8 @@

    Declaration

    diff --git a/docs/Enums/CSLocalStorageOptions.html b/docs/Enums/CSLocalStorageOptions.html index 47b940b8..e38b4e79 100644 --- a/docs/Enums/CSLocalStorageOptions.html +++ b/docs/Enums/CSLocalStorageOptions.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -894,8 +1020,8 @@

    Declaration

    diff --git a/docs/Enums/CoreStore.html b/docs/Enums/CoreStore.html index e79291fe..fa997d67 100644 --- a/docs/Enums/CoreStore.html +++ b/docs/Enums/CoreStore.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -861,9 +987,9 @@

    CoreStore

  • - + - addStorage(_:completion:) + addStorage(_:completion:)
    @@ -888,7 +1014,7 @@

    CoreStore

    Declaration

    Swift

    -
    public static func addStorage<T>(_ storage: T, completion: @escaping (SetupResult<T>) -> Void)
    +
    public static func addStorage<T>(_ storage: T, completion: @escaping (SetupResult<T>) -> Void)
    @@ -916,7 +1042,7 @@

    Parameters

    -

    the closure to be executed on the main queue when the process completes, either due to success or failure. The closure’s SetupResult argument indicates the result. Note that the StorageInterface associated to the SetupResult.success may not always be the same instance as the parameter argument if a previous StorageInterface was already added at the same URL and with the same configuration.

    +

    the closure to be executed on the main queue when the process completes, either due to success or failure. The closure’s SetupResult argument indicates the result. Note that the StorageInterface associated to the SetupResult.success may not always be the same instance as the parameter argument if a previous StorageInterface was already added at the same URL and with the same configuration.

    @@ -929,9 +1055,9 @@

    Parameters

  • - + - addStorage(_:completion:) + addStorage(_:completion:)
    @@ -956,7 +1082,7 @@

    Parameters

    Declaration

    Swift

    -
    public static func addStorage<T: LocalStorage>(_ storage: T, completion: @escaping (SetupResult<T>) -> Void) -> Progress?
    +
    public static func addStorage<T: LocalStorage>(_ storage: T, completion: @escaping (SetupResult<T>) -> Void) -> Progress?
    @@ -984,7 +1110,7 @@

    Parameters

    -

    the closure to be executed on the main queue when the process completes, either due to success or failure. The closure’s SetupResult argument indicates the result. Note that the LocalStorage associated to the SetupResult.success may not always be the same instance as the parameter argument if a previous LocalStorage was already added at the same URL and with the same configuration.

    +

    the closure to be executed on the main queue when the process completes, either due to success or failure. The closure’s SetupResult argument indicates the result. Note that the LocalStorage associated to the SetupResult.success may not always be the same instance as the parameter argument if a previous LocalStorage was already added at the same URL and with the same configuration.

    @@ -1001,9 +1127,9 @@

    Return Value

  • - + - addStorage(_:completion:) + addStorage(_:completion:)
    @@ -1039,7 +1165,7 @@

    Return Value

    Declaration

    Swift

    -
    public static func addStorage<T: CloudStorage>(_ storage: T, completion: @escaping (SetupResult<T>) -> Void)
    +
    public static func addStorage<T: CloudStorage>(_ storage: T, completion: @escaping (SetupResult<T>) -> Void)
    @@ -1067,7 +1193,7 @@

    Parameters

    -

    the closure to be executed on the main queue when the process completes, either due to success or failure. The closure’s SetupResult argument indicates the result. Note that the CloudStorage associated to the SetupResult.success may not always be the same instance as the parameter argument if a previous CloudStorage was already added at the same URL and with the same configuration.

    +

    the closure to be executed on the main queue when the process completes, either due to success or failure. The closure’s SetupResult argument indicates the result. Note that the CloudStorage associated to the SetupResult.success may not always be the same instance as the parameter argument if a previous CloudStorage was already added at the same URL and with the same configuration.

    @@ -1080,9 +1206,9 @@

    Parameters

  • - + - upgradeStorageIfNeeded(_:completion:) + upgradeStorageIfNeeded(_:completion:)
    @@ -1102,7 +1228,7 @@

    Parameters

    Declaration

    Swift

    -
    public static func upgradeStorageIfNeeded<T: LocalStorage>(_ storage: T, completion: @escaping (MigrationResult) -> Void) throws -> Progress?
    +
    public static func upgradeStorageIfNeeded<T: LocalStorage>(_ storage: T, completion: @escaping (MigrationResult) -> Void) throws -> Progress?
    @@ -1130,7 +1256,7 @@

    Parameters

    -

    the closure to be executed on the main queue when the migration completes, either due to success or failure. The closure’s MigrationResult argument indicates the result. This closure is NOT executed if an error is thrown, but will be executed with a .failure result if an error occurs asynchronously.

    +

    the closure to be executed on the main queue when the migration completes, either due to success or failure. The closure’s MigrationResult argument indicates the result. This closure is NOT executed if an error is thrown, but will be executed with a .failure result if an error occurs asynchronously.

    @@ -1595,7 +1721,7 @@

    Parameters

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    CoreStore.monitorList(
    -    { (monitor) in
    +    createAsynchronously: { (monitor) in
             self.monitor = monitor
         },
         From<MyPersonEntity>()
    @@ -1644,10 +1770,6 @@ 

    Parameters

    -
    -

    Return Value

    -

    a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType

    -
  • @@ -2035,7 +2157,7 @@

    Parameters

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified SectionMonitorBuilderType built from a chain of clauses.

    CoreStore.monitorSectionedList(
    -    { (monitor) in
    +    createAsynchronously: { (monitor) in
             self.monitor = monitor
         },
         From<MyPersonEntity>()
    @@ -2058,6 +2180,18 @@ 

    Declaration

    Parameters

    + + + +
    + + createAsynchronously + + +
    +

    the closure that receives the created ListMonitor instance

    +
    +
    @@ -2073,10 +2207,6 @@

    Parameters

    -
    -

    Return Value

    -

    a ListMonitor for a list of DynamicObjects that satisfy the specified SectionMonitorBuilderType

    -
    @@ -2294,9 +2424,9 @@

    Return Value

  • @@ -2305,13 +2435,18 @@

    Return Value

    Using the defaultStack, fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> D? where D : DynamicObject
    +
    public static func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> D? where D : DynamicObject
    @@ -2348,7 +2483,7 @@

    Parameters

    Return Value

    -

    the first DynamicObject instance that satisfies the specified FetchClauses

    +

    the first DynamicObject instance that satisfies the specified FetchClauses, or nil if no match was found

    @@ -2356,9 +2491,9 @@

    Return Value

  • @@ -2367,13 +2502,18 @@

    Return Value

    Using the defaultStack, fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> D? where D : DynamicObject
    +
    public static func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> D? where D : DynamicObject
    @@ -2410,7 +2550,7 @@

    Parameters

    Return Value

    -

    the first DynamicObject instance that satisfies the specified FetchClauses

    +

    the first DynamicObject instance that satisfies the specified FetchClauses, or nil if no match was found

    @@ -2418,9 +2558,9 @@

    Return Value

  • @@ -2435,13 +2575,18 @@

    Return Value

    .orderBy(.ascending(\.age)) )
    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchOne<B>(_ clauseChain: B) -> B.ObjectType? where B : FetchChainableBuilderType
    +
    public static func fetchOne<B>(_ clauseChain: B) throws -> B.ObjectType? where B : FetchChainableBuilderType
    @@ -2466,7 +2611,7 @@

    Parameters

    Return Value

    -

    the first DynamicObject instance that satisfies the specified FetchChainableBuilderType

    +

    the first DynamicObject instance that satisfies the specified FetchChainableBuilderType, or nil if no match was found

    @@ -2474,9 +2619,9 @@

    Return Value

  • @@ -2485,13 +2630,18 @@

    Return Value

    Using the defaultStack, fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [D]? where D : DynamicObject
    +
    public static func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [D] where D : DynamicObject
    @@ -2528,7 +2678,7 @@

    Parameters

    Return Value

    -

    all DynamicObject instances that satisfy the specified FetchClauses

    +

    all DynamicObject instances that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -2536,9 +2686,9 @@

    Return Value

  • @@ -2547,13 +2697,18 @@

    Return Value

    Using the defaultStack, fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [D]? where D : DynamicObject
    +
    public static func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [D] where D : DynamicObject
    @@ -2590,7 +2745,7 @@

    Parameters

    Return Value

    -

    all DynamicObject instances that satisfy the specified FetchClauses

    +

    all DynamicObject instances that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -2598,9 +2753,9 @@

    Return Value

  • @@ -2615,13 +2770,18 @@

    Return Value

    .orderBy(.ascending(\.age)) )
    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchAll<B>(_ clauseChain: B) -> [B.ObjectType]? where B : FetchChainableBuilderType
    +
    public static func fetchAll<B>(_ clauseChain: B) throws -> [B.ObjectType] where B : FetchChainableBuilderType
    @@ -2646,7 +2806,7 @@

    Parameters

    Return Value

    -

    all DynamicObject instances that satisfy the specified FetchChainableBuilderType

    +

    all DynamicObject instances that satisfy the specified FetchChainableBuilderType, or an empty array if no match was found

    @@ -2654,9 +2814,9 @@

    Return Value

  • - + - fetchCount(_:_:) + fetchCount(_:_:)
    @@ -2665,13 +2825,18 @@

    Return Value

    Using the defaultStack, fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> Int? where D : DynamicObject
    +
    public static func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> Int where D : DynamicObject
    @@ -2708,7 +2873,7 @@

    Parameters

    Return Value

    -

    the number DynamicObjects that satisfy the specified FetchClauses

    +

    the number of DynamicObjects that satisfy the specified FetchClauses

    @@ -2716,9 +2881,9 @@

    Return Value

  • - + - fetchCount(_:_:) + fetchCount(_:_:)
    @@ -2727,13 +2892,18 @@

    Return Value

    Using the defaultStack, fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> Int? where D : DynamicObject
    +
    public static func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> Int where D : DynamicObject
    @@ -2770,7 +2940,7 @@

    Parameters

    Return Value

    -

    the number DynamicObjects that satisfy the specified FetchClauses

    +

    the number of DynamicObjects that satisfy the specified FetchClauses

    @@ -2778,9 +2948,9 @@

    Return Value

  • - + - fetchCount(_:) + fetchCount(_:)
    @@ -2795,13 +2965,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchCount<B>(_ clauseChain: B) -> Int? where B : FetchChainableBuilderType
    +
    public static func fetchCount<B>(_ clauseChain: B) throws -> Int where B : FetchChainableBuilderType
    @@ -2826,7 +3001,7 @@

    Parameters

    Return Value

    -

    the number DynamicObjects that satisfy the specified FetchChainableBuilderType

    +

    the number of DynamicObjects that satisfy the specified FetchChainableBuilderType

    @@ -2834,9 +3009,9 @@

    Return Value

  • - + - fetchObjectID(_:_:) + fetchObjectID(_:_:)
    @@ -2845,13 +3020,18 @@

    Return Value

    Using the defaultStack, fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> NSManagedObjectID? where D : DynamicObject
    +
    public static func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> NSManagedObjectID? where D : DynamicObject
    @@ -2888,7 +3068,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses

    +

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses, or nil if no match was found

    @@ -2896,9 +3076,9 @@

    Return Value

  • - + - fetchObjectID(_:_:) + fetchObjectID(_:_:)
    @@ -2907,13 +3087,18 @@

    Return Value

    Using the defaultStack, fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> NSManagedObjectID? where D : DynamicObject
    +
    public static func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> NSManagedObjectID? where D : DynamicObject
    @@ -2950,7 +3135,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses

    +

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses, or nil if no match was found

    @@ -2958,9 +3143,9 @@

    Return Value

  • - + - fetchObjectID(_:) + fetchObjectID(_:)
    @@ -2975,13 +3160,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchObjectID<B>(_ clauseChain: B) -> NSManagedObjectID? where B : FetchChainableBuilderType
    +
    public static func fetchObjectID<B>(_ clauseChain: B) throws -> NSManagedObjectID? where B : FetchChainableBuilderType
    @@ -3006,7 +3196,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType

    +

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType, or nil if no match was found

    @@ -3014,9 +3204,9 @@

    Return Value

  • - + - fetchObjectIDs(_:_:) + fetchObjectIDs(_:_:)
    @@ -3025,13 +3215,18 @@

    Return Value

    Using the defaultStack, fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [NSManagedObjectID]? where D : DynamicObject
    +
    public static func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [NSManagedObjectID] where D : DynamicObject
    @@ -3068,7 +3263,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses

    +

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -3076,9 +3271,9 @@

    Return Value

  • - + - fetchObjectIDs(_:_:) + fetchObjectIDs(_:_:)
    @@ -3087,13 +3282,18 @@

    Return Value

    Using the defaultStack, fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [NSManagedObjectID]? where D : DynamicObject
    +
    public static func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [NSManagedObjectID] where D : DynamicObject
    @@ -3130,7 +3330,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses

    +

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -3138,9 +3338,9 @@

    Return Value

  • - + - fetchObjectIDs(_:) + fetchObjectIDs(_:)
    @@ -3155,13 +3355,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchObjectIDs<B>(_ clauseChain: B) -> [NSManagedObjectID]? where B : FetchChainableBuilderType
    +
    public static func fetchObjectIDs<B>(_ clauseChain: B) throws -> [NSManagedObjectID] where B : FetchChainableBuilderType
    @@ -3186,7 +3391,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType

    +

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType, or an empty array if no match was found

    @@ -3194,9 +3399,9 @@

    Return Value

  • - + - queryValue(_:_:_:) + queryValue(_:_:_:)
    @@ -3207,13 +3412,18 @@

    Return Value

    Using the defaultStack, queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) -> U? where D : DynamicObject, U : QueryableAttributeType
    +
    public static func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) throws -> U? where D : DynamicObject, U : QueryableAttributeType
    @@ -3262,7 +3472,7 @@

    Parameters

    Return Value

    -

    the result of the the query. The type of the return value is specified by the generic type of the Select<U> parameter.

    +

    the result of the the query, or nil if no match was found. The type of the return value is specified by the generic type of the Select<U> parameter.

    @@ -3270,9 +3480,9 @@

    Return Value

  • - + - queryValue(_:_:_:) + queryValue(_:_:_:)
    @@ -3283,13 +3493,18 @@

    Return Value

    Using the defaultStack, queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) -> U? where D : DynamicObject, U : QueryableAttributeType
    +
    public static func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) throws -> U? where D : DynamicObject, U : QueryableAttributeType
    @@ -3338,7 +3553,7 @@

    Parameters

    Return Value

    -

    the result of the the query. The type of the return value is specified by the generic type of the Select<U> parameter.

    +

    the result of the the query, or nil if no match was found. The type of the return value is specified by the generic type of the Select<U> parameter.

    @@ -3346,9 +3561,9 @@

    Return Value

  • - + - queryValue(_:) + queryValue(_:)
    @@ -3365,13 +3580,18 @@

    Return Value

    .where(\.age > 18) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func queryValue<B>(_ clauseChain: B) -> B.ResultType? where B : QueryChainableBuilderType, B.ResultType : QueryableAttributeType
    +
    public static func queryValue<B>(_ clauseChain: B) throws -> B.ResultType? where B : QueryChainableBuilderType, B.ResultType : QueryableAttributeType
    @@ -3396,7 +3616,7 @@

    Parameters

    Return Value

    -

    the result of the the query as specified by the QueryChainableBuilderType

    +

    the result of the the query as specified by the QueryChainableBuilderType, or nil if no match was found.

    @@ -3404,9 +3624,9 @@

    Return Value

  • - + - queryAttributes(_:_:_:) + queryAttributes(_:_:_:)
    @@ -3417,13 +3637,18 @@

    Return Value

    Using the defaultStack, queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) -> [[String : Any]]? where D : DynamicObject
    +
    public static func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) throws -> [[String : Any]] where D : DynamicObject
    @@ -3480,9 +3705,9 @@

    Return Value

  • - + - queryAttributes(_:_:_:) + queryAttributes(_:_:_:)
    @@ -3493,13 +3718,18 @@

    Return Value

    Using the defaultStack, queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) -> [[String : Any]]? where D : DynamicObject
    +
    public static func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) throws -> [[String : Any]] where D : DynamicObject
    @@ -3556,9 +3786,9 @@

    Return Value

  • - + - queryAttributes(_:) + queryAttributes(_:)
    @@ -3584,13 +3814,18 @@

    Return Value

    print("There are \(count) people who are \(age) years old." } +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func queryAttributes<B>(_ clauseChain: B) -> [[String : Any]]? where B : QueryChainableBuilderType, B.ResultType == NSDictionary
    +
    public static func queryAttributes<B>(_ clauseChain: B) throws -> [[String : Any]] where B : QueryChainableBuilderType, B.ResultType == NSDictionary
    @@ -3999,9 +4234,9 @@

    CoreStore

  • - + - perform(asynchronous:completion:) + perform(asynchronous:completion:)
    @@ -4009,7 +4244,7 @@

    CoreStore

    -

    Using the defaultStack, performs a transaction asynchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the wrapped as .success(userInfo: T) in the completion‘s Result<T>. Any errors thrown from inside the task will be reported as .failure(error: CoreStoreError). To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    +

    Using the defaultStack, performs a transaction asynchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the wrapped as .success(T) in the completion‘s Result<T>. Any errors thrown from inside the task will be reported as .failure(CoreStoreError). To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    @@ -4261,8 +4496,8 @@

    Declaration

    diff --git a/docs/Enums/CoreStoreError.html b/docs/Enums/CoreStoreError.html index b74e0b8b..e3c9bf49 100644 --- a/docs/Enums/CoreStoreError.html +++ b/docs/Enums/CoreStoreError.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

  • - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -988,6 +1114,33 @@

    Declaration

    +
  • +
    + + + + persistentStoreNotFound(entity:) + +
    +
    +
    +
    +
    +
    +

    Attempted to perform a fetch but could not find any related persistent store.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case persistentStoreNotFound(entity: DynamicObject.Type)
    + +
    +
    +
    +
    +
  • @@ -1202,9 +1355,9 @@

    _ObjectiveCBridgeableError

  • @@ -1270,8 +1423,8 @@

    Declaration

  • diff --git a/docs/Enums/CoreStoreErrorCode.html b/docs/Enums/CoreStoreErrorCode.html index f3988d14..4b19816c 100644 --- a/docs/Enums/CoreStoreErrorCode.html +++ b/docs/Enums/CoreStoreErrorCode.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -988,6 +1114,33 @@

    Declaration

    +
  • +
    + + + + persistentStoreNotFound + +
    +
    +
    +
    +
    +
    +

    Attempted to perform a fetch but could not find any related persistent store.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case persistentStoreNotFound
    + +
    +
    +
    +
    +
  • @@ -996,8 +1149,8 @@

    Declaration

    diff --git a/docs/Enums/MigrationType.html b/docs/Enums/MigrationType.html index 562ea1a5..c7b1201f 100644 --- a/docs/Enums/MigrationType.html +++ b/docs/Enums/MigrationType.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1144,8 +1270,8 @@

    Declaration

    diff --git a/docs/Enums/RelationshipContainer.html b/docs/Enums/RelationshipContainer.html index 8483587e..7533ab26 100644 --- a/docs/Enums/RelationshipContainer.html +++ b/docs/Enums/RelationshipContainer.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -936,8 +1062,8 @@

    Declaration

    diff --git a/docs/Enums/RelationshipContainer/ToManyOrdered.html b/docs/Enums/RelationshipContainer/ToManyOrdered.html index 1cd1cf14..aa14ec95 100644 --- a/docs/Enums/RelationshipContainer/ToManyOrdered.html +++ b/docs/Enums/RelationshipContainer/ToManyOrdered.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1912,8 +2038,8 @@

    Declaration

    diff --git a/docs/Enums/RelationshipContainer/ToManyUnordered.html b/docs/Enums/RelationshipContainer/ToManyUnordered.html index 6461fcf8..89ec4172 100644 --- a/docs/Enums/RelationshipContainer/ToManyUnordered.html +++ b/docs/Enums/RelationshipContainer/ToManyUnordered.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1881,8 +2007,8 @@

    Declaration

    diff --git a/docs/Enums/RelationshipContainer/ToOne.html b/docs/Enums/RelationshipContainer/ToOne.html index 8a4ff823..97c05a17 100644 --- a/docs/Enums/RelationshipContainer/ToOne.html +++ b/docs/Enums/RelationshipContainer/ToOne.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1702,8 +1828,8 @@

    Declaration

    diff --git a/docs/Enums/SelectTerm.html b/docs/Enums/SelectTerm.html index f666536e..b6e5d907 100644 --- a/docs/Enums/SelectTerm.html +++ b/docs/Enums/SelectTerm.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1443,10 +1569,10 @@

    Declaration

      @@ -1814,10 +1940,10 @@

      Return Value

    @@ -2103,7 +2229,7 @@

    Return Value

    Declaration

    Swift

    -
    public static func average<V>(_ keyPath: KeyPath<D, ValueContainer<D>.Optional<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D>
    +
    public static func average<V>(_ keyPath: KeyPath<D, ValueContainer<D>.Optional<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D> where V : ImportableAttributeType
    @@ -2165,7 +2291,7 @@

    Return Value

    Declaration

    Swift

    -
    public static func average<V>(_ keyPath: KeyPath<D, TransformableContainer<D>.Required<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D>
    +
    public static func average<V>(_ keyPath: KeyPath<D, TransformableContainer<D>.Required<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D> where V : NSCoding, V : NSCopying
    @@ -2227,7 +2353,7 @@

    Return Value

    Declaration

    Swift

    -
    public static func average<V>(_ keyPath: KeyPath<D, TransformableContainer<D>.Optional<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D>
    +
    public static func average<V>(_ keyPath: KeyPath<D, TransformableContainer<D>.Optional<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D> where V : NSCoding, V : NSCopying
    @@ -2793,7 +2919,7 @@

    Return Value

    Declaration

    Swift

    -
    public static func minimum<V>(_ keyPath: KeyPath<D, ValueContainer<D>.Required<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D>
    +
    public static func minimum<V>(_ keyPath: KeyPath<D, ValueContainer<D>.Required<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D> where V : ImportableAttributeType
    @@ -2855,7 +2981,7 @@

    Return Value

    Declaration

    Swift

    -
    public static func minimum<V>(_ keyPath: KeyPath<D, ValueContainer<D>.Optional<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D>
    +
    public static func minimum<V>(_ keyPath: KeyPath<D, ValueContainer<D>.Optional<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D> where V : ImportableAttributeType
    @@ -2917,7 +3043,7 @@

    Return Value

    Declaration

    Swift

    -
    public static func minimum<V>(_ keyPath: KeyPath<D, TransformableContainer<D>.Required<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D>
    +
    public static func minimum<V>(_ keyPath: KeyPath<D, TransformableContainer<D>.Required<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D> where V : NSCoding, V : NSCopying
    @@ -2979,7 +3105,7 @@

    Return Value

    Declaration

    Swift

    -
    public static func minimum<V>(_ keyPath: KeyPath<D, TransformableContainer<D>.Optional<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D>
    +
    public static func minimum<V>(_ keyPath: KeyPath<D, TransformableContainer<D>.Optional<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D> where V : NSCoding, V : NSCopying
    @@ -3041,7 +3167,7 @@

    Return Value

    Declaration

    Swift

    -
    public static func sum<V>(_ keyPath: KeyPath<D, ValueContainer<D>.Required<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D>
    +
    public static func sum<V>(_ keyPath: KeyPath<D, ValueContainer<D>.Required<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D> where V : ImportableAttributeType
    @@ -3103,7 +3229,7 @@

    Return Value

    Declaration

    Swift

    -
    public static func sum<V>(_ keyPath: KeyPath<D, ValueContainer<D>.Optional<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D>
    +
    public static func sum<V>(_ keyPath: KeyPath<D, ValueContainer<D>.Optional<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D> where V : ImportableAttributeType
    @@ -3165,7 +3291,7 @@

    Return Value

    Declaration

    Swift

    -
    public static func sum<V>(_ keyPath: KeyPath<D, TransformableContainer<D>.Required<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D>
    +
    public static func sum<V>(_ keyPath: KeyPath<D, TransformableContainer<D>.Required<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D> where V : NSCoding, V : NSCopying
    @@ -3227,7 +3353,7 @@

    Return Value

    Declaration

    Swift

    -
    public static func sum<V>(_ keyPath: KeyPath<D, TransformableContainer<D>.Optional<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D>
    +
    public static func sum<V>(_ keyPath: KeyPath<D, TransformableContainer<D>.Optional<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D> where V : NSCoding, V : NSCopying
    @@ -3277,8 +3403,8 @@

    Return Value

    diff --git a/docs/Enums/TransformableContainer.html b/docs/Enums/TransformableContainer.html index 3e5dbee5..293abb5f 100644 --- a/docs/Enums/TransformableContainer.html +++ b/docs/Enums/TransformableContainer.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -882,8 +1008,8 @@

    Declaration

    diff --git a/docs/Enums/TransformableContainer/Optional.html b/docs/Enums/TransformableContainer/Optional.html index 0612861b..dd063452 100644 --- a/docs/Enums/TransformableContainer/Optional.html +++ b/docs/Enums/TransformableContainer/Optional.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1249,8 +1375,8 @@

    Declaration

    diff --git a/docs/Enums/TransformableContainer/Required.html b/docs/Enums/TransformableContainer/Required.html index dcfe40ef..4af6f73f 100644 --- a/docs/Enums/TransformableContainer/Required.html +++ b/docs/Enums/TransformableContainer/Required.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1219,8 +1345,8 @@

    Declaration

    diff --git a/docs/Enums/ValueContainer.html b/docs/Enums/ValueContainer.html index 71aaa650..a8f18ba7 100644 --- a/docs/Enums/ValueContainer.html +++ b/docs/Enums/ValueContainer.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -882,8 +1008,8 @@

    Declaration

    diff --git a/docs/Enums/ValueContainer/Optional.html b/docs/Enums/ValueContainer/Optional.html index aee47d5b..a41fc321 100644 --- a/docs/Enums/ValueContainer/Optional.html +++ b/docs/Enums/ValueContainer/Optional.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1639,8 +1765,8 @@

    Declaration

    diff --git a/docs/Enums/ValueContainer/Required.html b/docs/Enums/ValueContainer/Required.html index 8e7bf99b..922a9f3d 100644 --- a/docs/Enums/ValueContainer/Required.html +++ b/docs/Enums/ValueContainer/Required.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1548,8 +1674,8 @@

    Declaration

    diff --git a/docs/Extensions.html b/docs/Extensions.html index fe59e63a..12268922 100644 --- a/docs/Extensions.html +++ b/docs/Extensions.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -764,6 +890,126 @@

    Extensions

    +
    + +
      +
    • +
      + + + + NSAttributeType + +
      +
      +
      +
      +
      +
      + + See more +
      +
      +

      Declaration

      +
      +

      Swift

      +
      enum NSAttributeType : UInt
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + NSDeleteRule + +
      +
      +
      +
      +
      +
      + + See more +
      +
      +

      Declaration

      +
      +

      Swift

      +
      enum NSDeleteRule : UInt
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + Result + +
      +
      +
      +
      +
      +
      + + See more +
      +
      +

      Declaration

      +
      +

      Swift

      +
      @_frozen
      +enum Result<Success, Failure> where Failure : Error
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + Selector + +
      +
      +
      +
      +
      +
      + + See more +
      +
      +

      Declaration

      +
      +

      Swift

      +
      struct Selector : ExpressibleByStringLiteral
      + +
      +
      +
      +
      +
    • +
    +
    @@ -1135,7 +1381,7 @@

    Data

    Declaration

    Swift

    -
    struct Data : ReferenceConvertible, Equatable, Hashable, RandomAccessCollection, MutableCollection, RangeReplaceableCollection
    +
    struct Data : ReferenceConvertible, Equatable, Hashable, RandomAccessCollection, MutableCollection, RangeReplaceableCollection, MutableDataProtocol, ContiguousBytes
    @@ -1873,8 +2119,8 @@

    Declaration

    diff --git a/docs/Extensions/Bool.html b/docs/Extensions/Bool.html index 0b380743..4302a031 100644 --- a/docs/Extensions/Bool.html +++ b/docs/Extensions/Bool.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -885,8 +1011,8 @@

    Declaration

    diff --git a/docs/Extensions/CGFloat.html b/docs/Extensions/CGFloat.html index e2944278..afcf812d 100644 --- a/docs/Extensions/CGFloat.html +++ b/docs/Extensions/CGFloat.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -885,8 +1011,8 @@

    Declaration

    diff --git a/docs/Extensions/Data.html b/docs/Extensions/Data.html index 9c7015a4..280ea836 100644 --- a/docs/Extensions/Data.html +++ b/docs/Extensions/Data.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -759,7 +885,7 @@

    Data

    -
    struct Data : ReferenceConvertible, Equatable, Hashable, RandomAccessCollection, MutableCollection, RangeReplaceableCollection
    +
    struct Data : ReferenceConvertible, Equatable, Hashable, RandomAccessCollection, MutableCollection, RangeReplaceableCollection, MutableDataProtocol, ContiguousBytes
    @@ -885,8 +1011,8 @@

    Declaration

    diff --git a/docs/Extensions/Date.html b/docs/Extensions/Date.html index d9916721..35dae73b 100644 --- a/docs/Extensions/Date.html +++ b/docs/Extensions/Date.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -885,8 +1011,8 @@

    Declaration

    diff --git a/docs/Extensions/Double.html b/docs/Extensions/Double.html index e5f5eabb..b724bde8 100644 --- a/docs/Extensions/Double.html +++ b/docs/Extensions/Double.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -885,8 +1011,8 @@

    Declaration

    diff --git a/docs/Extensions/Float.html b/docs/Extensions/Float.html index e42b7d29..4ecac8e6 100644 --- a/docs/Extensions/Float.html +++ b/docs/Extensions/Float.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -885,8 +1011,8 @@

    Declaration

    diff --git a/docs/Extensions/Int.html b/docs/Extensions/Int.html index 6112bb61..9b605e2d 100644 --- a/docs/Extensions/Int.html +++ b/docs/Extensions/Int.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -885,8 +1011,8 @@

    Declaration

    diff --git a/docs/Extensions/Int16.html b/docs/Extensions/Int16.html index c4fad99c..5c782548 100644 --- a/docs/Extensions/Int16.html +++ b/docs/Extensions/Int16.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -885,8 +1011,8 @@

    Declaration

    diff --git a/docs/Extensions/Int32.html b/docs/Extensions/Int32.html index 02960859..75a9ec2a 100644 --- a/docs/Extensions/Int32.html +++ b/docs/Extensions/Int32.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -885,8 +1011,8 @@

    Declaration

    diff --git a/docs/Extensions/Int64.html b/docs/Extensions/Int64.html index 2c02cd7d..b46ebd23 100644 --- a/docs/Extensions/Int64.html +++ b/docs/Extensions/Int64.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -885,8 +1011,8 @@

    Declaration

    diff --git a/docs/Extensions/Int8.html b/docs/Extensions/Int8.html index 2f462224..43f90dca 100644 --- a/docs/Extensions/Int8.html +++ b/docs/Extensions/Int8.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -885,8 +1011,8 @@

    Declaration

    diff --git a/docs/Extensions/KeyPath.html b/docs/Extensions/KeyPath.html index 3a0b0014..35a7f8cc 100644 --- a/docs/Extensions/KeyPath.html +++ b/docs/Extensions/KeyPath.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -851,14 +977,80 @@

    Declaration

    +
    +
      +
    • +
      + + + + count() + +
      +
      +
      +
      +
      +
      +

      Creates a Where.Expression clause for COUNT

      +
      let dogsWithPlaymates = CoreStore.fetchAll(From<Dog>().where((\.master ~ \.pets).count() > 1))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func count() -> Where<Root>.Expression<Where<Root>.CollectionTarget, Int>
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
      +
    • +
      + + + + count() + +
      +
      +
      +
      +
      +
      +

      Creates a Where.Expression clause for COUNT

      +
      let dogsWithPlaymates = CoreStore.fetchAll(From<Dog>().where((\.master ~ \.pets).count() > 1))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func count() -> Where<Root>.Expression<Where<Root>.CollectionTarget, Int>
      + +
      +
      +
      +
      +
    • +
    +
    diff --git a/docs/Extensions/KeyPathString.html b/docs/Extensions/KeyPathString.html index e91085d7..e1c662dd 100644 --- a/docs/Extensions/KeyPathString.html +++ b/docs/Extensions/KeyPathString.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -774,9 +900,9 @@

    KeyPathString

  • - + - init(keyPath:) + init(keyPath:)
    @@ -793,7 +919,7 @@

    KeyPathString

    Declaration

    Swift

    -
    public init<O, V>(keyPath: KeyPath<O, V>) where O : NSManagedObject
    +
    public init<O, V>(keyPath: KeyPath<O, V>) where O : NSManagedObject, V : AllowedObjectiveCKeyPathValue
    @@ -829,6 +955,35 @@

    Declaration

  • +
  • +
    + + + + init(keyPath:) + +
    +
    +
    +
    +
    +
    +

    Extracts the keyPath string from the property.

    +
    let keyPath = String(keyPath: \Person.nickname)
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init<O, T, V>(keyPath: Where<O>.Expression<T, V>) where O : DynamicObject, T : WhereExpressionTrait
    + +
    +
    +
    +
    +
  • @@ -837,8 +992,8 @@

    Declaration

    diff --git a/docs/Extensions/NSAttributeType.html b/docs/Extensions/NSAttributeType.html new file mode 100644 index 00000000..e1344e95 --- /dev/null +++ b/docs/Extensions/NSAttributeType.html @@ -0,0 +1,939 @@ + + + + NSAttributeType Extension Reference + + + + + + + + + + + + + + + + +
    +

    + + CoreStore Docs + + (90% documented) +

    + +

    +

    + +
    +

    + +

    + + + View on GitHub + +

    + +
    + + + +
    + +
    + +
    +
    +

    NSAttributeType

    +
    +
    +
    enum NSAttributeType : UInt
    + +
    +
    + +
    +
    + +
    +
    +
    +
      +
    • +
      + + + + debugDescription + +
      +
      +
      +
      +
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var debugDescription: String { get }
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + + diff --git a/docs/Extensions/NSData.html b/docs/Extensions/NSData.html index 5f665c1e..ee500425 100644 --- a/docs/Extensions/NSData.html +++ b/docs/Extensions/NSData.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -888,8 +1014,8 @@

    Declaration

    diff --git a/docs/Extensions/NSDate.html b/docs/Extensions/NSDate.html index 1f59a847..503988ab 100644 --- a/docs/Extensions/NSDate.html +++ b/docs/Extensions/NSDate.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -888,8 +1014,8 @@

    Declaration

    diff --git a/docs/Extensions/NSDeleteRule.html b/docs/Extensions/NSDeleteRule.html new file mode 100644 index 00000000..0395a9c2 --- /dev/null +++ b/docs/Extensions/NSDeleteRule.html @@ -0,0 +1,939 @@ + + + + NSDeleteRule Extension Reference + + + + + + + + + + + + + + + + +
    +

    + + CoreStore Docs + + (90% documented) +

    + +

    +

    + +
    +

    + +

    + + + View on GitHub + +

    + +
    + + + +
    + +
    + +
    +
    +

    NSDeleteRule

    +
    +
    +
    enum NSDeleteRule : UInt
    + +
    +
    + +
    +
    + +
    +
    +
    +
      +
    • +
      + + + + debugDescription + +
      +
      +
      +
      +
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var debugDescription: String { get }
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + + diff --git a/docs/Extensions/NSManagedObject.html b/docs/Extensions/NSManagedObject.html index 050e864c..6a8794a8 100644 --- a/docs/Extensions/NSManagedObject.html +++ b/docs/Extensions/NSManagedObject.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1667,8 +1793,8 @@

    Declaration

    diff --git a/docs/Extensions/NSManagedObjectContext.html b/docs/Extensions/NSManagedObjectContext.html index 1cc6acd6..d4ed228e 100644 --- a/docs/Extensions/NSManagedObjectContext.html +++ b/docs/Extensions/NSManagedObjectContext.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -889,9 +1015,9 @@

    Declaration

  • - + - fetchOne(_:_:) + fetchOne(_:_:)
    @@ -906,7 +1032,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> D? where D : DynamicObject
    +public func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> D? where D : DynamicObject
    @@ -916,9 +1042,9 @@

    Declaration

  • - + - fetchOne(_:_:) + fetchOne(_:_:)
    @@ -933,7 +1059,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> D? where D : DynamicObject
    +public func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> D? where D : DynamicObject
    @@ -943,9 +1069,9 @@

    Declaration

  • - + - fetchOne(_:) + fetchOne(_:)
    @@ -960,7 +1086,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchOne<B>(_ clauseChain: B) -> B.ObjectType? where B : FetchChainableBuilderType
    +public func fetchOne<B>(_ clauseChain: B) throws -> B.ObjectType? where B : FetchChainableBuilderType
    @@ -970,9 +1096,9 @@

    Declaration

  • - + - fetchAll(_:_:) + fetchAll(_:_:)
    @@ -987,7 +1113,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [D]? where D : DynamicObject
    +public func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [D] where D : DynamicObject
    @@ -997,9 +1123,9 @@

    Declaration

  • - + - fetchAll(_:_:) + fetchAll(_:_:)
    @@ -1014,7 +1140,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [D]? where D : DynamicObject
    +public func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [D] where D : DynamicObject
    @@ -1024,9 +1150,9 @@

    Declaration

  • - + - fetchAll(_:) + fetchAll(_:)
    @@ -1041,7 +1167,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchAll<B>(_ clauseChain: B) -> [B.ObjectType]? where B : FetchChainableBuilderType
    +public func fetchAll<B>(_ clauseChain: B) throws -> [B.ObjectType] where B : FetchChainableBuilderType
    @@ -1051,9 +1177,9 @@

    Declaration

  • - + - fetchCount(_:_:) + fetchCount(_:_:)
    @@ -1068,7 +1194,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> Int? where D : DynamicObject
    +public func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> Int where D : DynamicObject
    @@ -1078,9 +1204,9 @@

    Declaration

  • - + - fetchCount(_:_:) + fetchCount(_:_:)
    @@ -1095,7 +1221,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> Int? where D : DynamicObject
    +public func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> Int where D : DynamicObject
    @@ -1105,9 +1231,9 @@

    Declaration

  • - + - fetchCount(_:) + fetchCount(_:)
    @@ -1122,7 +1248,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchCount<B>(_ clauseChain: B) -> Int? where B : FetchChainableBuilderType
    +public func fetchCount<B>(_ clauseChain: B) throws -> Int where B : FetchChainableBuilderType
    @@ -1132,9 +1258,9 @@

    Declaration

  • - + - fetchObjectID(_:_:) + fetchObjectID(_:_:)
    @@ -1149,7 +1275,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> NSManagedObjectID? where D : DynamicObject
    +public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> NSManagedObjectID? where D : DynamicObject
    @@ -1159,9 +1285,9 @@

    Declaration

  • - + - fetchObjectID(_:_:) + fetchObjectID(_:_:)
    @@ -1176,7 +1302,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> NSManagedObjectID? where D : DynamicObject
    +public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> NSManagedObjectID? where D : DynamicObject
    @@ -1186,9 +1312,9 @@

    Declaration

  • - + - fetchObjectID(_:) + fetchObjectID(_:)
    @@ -1203,7 +1329,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchObjectID<B>(_ clauseChain: B) -> NSManagedObjectID? where B : FetchChainableBuilderType
    +public func fetchObjectID<B>(_ clauseChain: B) throws -> NSManagedObjectID? where B : FetchChainableBuilderType
    @@ -1213,9 +1339,9 @@

    Declaration

  • - + - fetchObjectIDs(_:_:) + fetchObjectIDs(_:_:)
    @@ -1230,7 +1356,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [NSManagedObjectID]? where D : DynamicObject
    +public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [NSManagedObjectID] where D : DynamicObject
    @@ -1240,9 +1366,9 @@

    Declaration

  • - + - fetchObjectIDs(_:_:) + fetchObjectIDs(_:_:)
    @@ -1257,7 +1383,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [NSManagedObjectID]? where D : DynamicObject
    +public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [NSManagedObjectID] where D : DynamicObject
    @@ -1267,9 +1393,9 @@

    Declaration

  • - + - fetchObjectIDs(_:) + fetchObjectIDs(_:)
    @@ -1284,7 +1410,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchObjectIDs<B>(_ clauseChain: B) -> [NSManagedObjectID]? where B : FetchChainableBuilderType
    +public func fetchObjectIDs<B>(_ clauseChain: B) throws -> [NSManagedObjectID] where B : FetchChainableBuilderType
    @@ -1305,9 +1431,9 @@

    QueryableSource

  • - + - queryValue(_:_:_:) + queryValue(_:_:_:)
    @@ -1322,7 +1448,7 @@

    Declaration

    Swift

    @nonobjc
    -public func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) -> U? where D : DynamicObject, U : QueryableAttributeType
    +public func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) throws -> U? where D : DynamicObject, U : QueryableAttributeType
    @@ -1332,9 +1458,9 @@

    Declaration

  • - + - queryValue(_:_:_:) + queryValue(_:_:_:)
    @@ -1349,7 +1475,7 @@

    Declaration

    Swift

    @nonobjc
    -public func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) -> U? where D : DynamicObject, U : QueryableAttributeType
    +public func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) throws -> U? where D : DynamicObject, U : QueryableAttributeType
    @@ -1359,9 +1485,9 @@

    Declaration

  • - + - queryValue(_:) + queryValue(_:)
    @@ -1376,7 +1502,7 @@

    Declaration

    Swift

    @nonobjc
    -public func queryValue<B>(_ clauseChain: B) -> B.ResultType? where B : QueryChainableBuilderType, B.ResultType : QueryableAttributeType
    +public func queryValue<B>(_ clauseChain: B) throws -> B.ResultType? where B : QueryChainableBuilderType, B.ResultType : QueryableAttributeType
    @@ -1386,9 +1512,9 @@

    Declaration

  • - + - queryAttributes(_:_:_:) + queryAttributes(_:_:_:)
    @@ -1403,7 +1529,7 @@

    Declaration

    Swift

    @nonobjc
    -public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) -> [[String : Any]]? where D : DynamicObject
    +public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) throws -> [[String : Any]] where D : DynamicObject
    @@ -1413,9 +1539,9 @@

    Declaration

  • - + - queryAttributes(_:_:_:) + queryAttributes(_:_:_:)
    @@ -1430,7 +1556,7 @@

    Declaration

    Swift

    @nonobjc
    -public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) -> [[String : Any]]? where D : DynamicObject
    +public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) throws -> [[String : Any]] where D : DynamicObject
    @@ -1440,9 +1566,9 @@

    Declaration

  • - + - queryAttributes(_:) + queryAttributes(_:)
    @@ -1456,7 +1582,7 @@

    Declaration

    Declaration

    Swift

    -
    public func queryAttributes<B>(_ clauseChain: B) -> [[String : Any]]? where B : QueryChainableBuilderType, B.ResultType == NSDictionary
    +
    public func queryAttributes<B>(_ clauseChain: B) throws -> [[String : Any]] where B : QueryChainableBuilderType, B.ResultType == NSDictionary
    @@ -1509,8 +1635,8 @@

    Declaration

    diff --git a/docs/Extensions/NSManagedObjectID.html b/docs/Extensions/NSManagedObjectID.html index 18f42764..b063644a 100644 --- a/docs/Extensions/NSManagedObjectID.html +++ b/docs/Extensions/NSManagedObjectID.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

  • - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -888,8 +1014,8 @@

    Declaration

    diff --git a/docs/Extensions/NSNull.html b/docs/Extensions/NSNull.html index c0259ada..6f4dad11 100644 --- a/docs/Extensions/NSNull.html +++ b/docs/Extensions/NSNull.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -888,8 +1014,8 @@

    Declaration

    diff --git a/docs/Extensions/NSNumber.html b/docs/Extensions/NSNumber.html index c0512fa1..b36afc27 100644 --- a/docs/Extensions/NSNumber.html +++ b/docs/Extensions/NSNumber.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -888,8 +1014,8 @@

    Declaration

    diff --git a/docs/Extensions/NSString.html b/docs/Extensions/NSString.html index 22d54a5e..90d91420 100644 --- a/docs/Extensions/NSString.html +++ b/docs/Extensions/NSString.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -888,8 +1014,8 @@

    Declaration

    diff --git a/docs/Extensions/NSURL.html b/docs/Extensions/NSURL.html index 0239e6d4..b74808b0 100644 --- a/docs/Extensions/NSURL.html +++ b/docs/Extensions/NSURL.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -888,8 +1014,8 @@

    Declaration

    diff --git a/docs/Extensions/NSUUID.html b/docs/Extensions/NSUUID.html index 8f10245e..6228b886 100644 --- a/docs/Extensions/NSUUID.html +++ b/docs/Extensions/NSUUID.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -888,8 +1014,8 @@

    Declaration

    diff --git a/docs/Extensions/Progress.html b/docs/Extensions/Progress.html index b383222a..647e359e 100644 --- a/docs/Extensions/Progress.html +++ b/docs/Extensions/Progress.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -843,7 +969,7 @@

    Declaration

    Swift

    @objc
    -public func cs_setProgressHandler(_ closure: ((_ progress: Progress) -> Void)?)
    +dynamic public func cs_setProgressHandler(_ closure: ((_ progress: Progress) -> Void)?)
    @@ -877,8 +1003,8 @@

    Parameters

    diff --git a/docs/Extensions/RawRepresentable.html b/docs/Extensions/RawRepresentable.html index 455c4829..3f990785 100644 --- a/docs/Extensions/RawRepresentable.html +++ b/docs/Extensions/RawRepresentable.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -835,8 +961,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/SetupResult.html b/docs/Extensions/Result.html similarity index 77% rename from docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/SetupResult.html rename to docs/Extensions/Result.html index aa66631e..cd9c3d0e 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/SetupResult.html +++ b/docs/Extensions/Result.html @@ -1,7 +1,7 @@ - SetupResult Enumeration Reference + Result Extension Reference @@ -14,16 +14,16 @@ - + - +

    CoreStore Docs - (88% documented) + (90% documented)

    @@ -44,7 +44,7 @@

    @@ -56,9 +56,6 @@ - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -756,214 +882,21 @@
    -

    SetupResult

    +

    Result

    -
    public enum SetupResult<T> : Hashable where T : StorageInterface
    +
    @_frozen
    +enum Result<Success, Failure> where Failure : Error
    -

    The SetupResult indicates the result of an asynchronous initialization of a persistent store. -The SetupResult can be treated as a boolean:

    -
    try! CoreStore.addStorage(
    -    SQLiteStore(),
    -    completion: { (result: SetupResult) -> Void in
    -        if result {
    -            // succeeded
    -        }
    -        else {
    -            // failed
    -        }
    -    }
    -)
    -
    - -

    or as an enum, where the resulting associated object can also be inspected:

    -
    try! CoreStore.addStorage(
    -    SQLiteStore(),
    -    completion: { (result: SetupResult) -> Void in
    -        switch result {
    -        case .success(let storage):
    -            // storage is the related StorageInterface instance
    -        case .failure(let error):
    -            // error is the CoreStoreError enum value for the failure
    -        }
    -    }
    -)
    -
    - +
    -
      -
    • -
      - - - - success(_:) - -
      -
      -
      -
      -
      -
      -

      SetupResult.success indicates that the storage setup succeeded. The associated object for this enum value is the related StorageInterface instance.

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      case success(T)
      - -
      -
      -
      -
      -
    • -
    • -
      - - - - failure(_:) - -
      -
      -
      -
      -
      -
      -

      SetupResult.failure indicates that the storage setup failed. The associated object for this value is the related CoreStoreError enum value.

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      case failure(CoreStoreError)
      - -
      -
      -
      -
      -
    • -
    • -
      - - - - isSuccess - -
      -
      -
      -
      -
      -
      -

      Returns true if the result indicates .success, false if the result is .failure.

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public var isSuccess: Bool { get }
      - -
      -
      -
      -
      -
    • -
    -
    -
    - -
      -
    • -
      - - - - ==(_:_:) - -
      -
      -
      -
      -
      -
      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public static func == <T, U>(lhs: SetupResult<T>, rhs: SetupResult<U>) -> Bool where T : StorageInterface, U : StorageInterface
      - -
      -
      -
      -
      -
    • -
    -
    -
    - -
      -
    • -
      - - - - hash(into:) - -
      -
      -
      -
      -
      -
      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public func hash(into hasher: inout Hasher)
      - -
      -
      -
      -
      -
    • -
    -
    -
    -
    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/MigrationResult.html b/docs/Extensions/Selector.html similarity index 78% rename from docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/MigrationResult.html rename to docs/Extensions/Selector.html index 9840ad32..b0230e83 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/MigrationResult.html +++ b/docs/Extensions/Selector.html @@ -1,7 +1,7 @@ - MigrationResult Enumeration Reference + Selector Extension Reference @@ -14,16 +14,16 @@ - + - +

    CoreStore Docs - (88% documented) + (90% documented)

    @@ -44,7 +44,7 @@

    @@ -56,9 +56,6 @@ - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -756,160 +882,20 @@
    -

    MigrationResult

    +

    Selector

    -
    public enum MigrationResult : Hashable
    +
    struct Selector : ExpressibleByStringLiteral
    -

    The MigrationResult indicates the result of a migration. -The MigrationResult can be treated as a boolean:

    -
    CoreStore.upgradeStorageIfNeeded(SQLiteStorage(fileName: "data.sqlite")) { (result) in
    -    switch result {
    -    case .success(let migrationSteps):
    -        // ...
    -    case .failure(let error):
    -        // ...
    -    }
    -}
    -
    - +
    -
      -
    • -
      - - - - success(_:) - -
      -
      -
      -
      -
      -
      -

      MigrationResult.success indicates either the migration succeeded, or there were no migrations needed. The associated value is an array of MigrationTypes reflecting the migration steps completed.

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      case success([MigrationType])
      - -
      -
      -
      -
      -
    • -
    • -
      - - - - failure(_:) - -
      -
      -
      -
      -
      -
      -

      SaveResult.failure indicates that the migration failed. The associated object for this value is the a CoreStoreError enum value.

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      case failure(CoreStoreError)
      - -
      -
      -
      -
      -
    • -
    • -
      - - - - isSuccess - -
      -
      -
      -
      -
      -
      -

      Returns true if the result indicates .success, false if the result is .failure.

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public var isSuccess: Bool { get }
      - -
      -
      -
      -
      -
    • -
    -
    -
    - - -
    -
    -
    diff --git a/docs/Extensions/Sequence.html b/docs/Extensions/Sequence.html index 1a4cf770..90069e55 100644 --- a/docs/Extensions/Sequence.html +++ b/docs/Extensions/Sequence.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -864,8 +990,8 @@

    Declaration

    diff --git a/docs/Extensions/String.html b/docs/Extensions/String.html index 7f84afd8..71f3f0d9 100644 --- a/docs/Extensions/String.html +++ b/docs/Extensions/String.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -885,8 +1011,8 @@

    Declaration

    diff --git a/docs/Extensions/URL.html b/docs/Extensions/URL.html index 30120c24..a87b31d4 100644 --- a/docs/Extensions/URL.html +++ b/docs/Extensions/URL.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -885,8 +1011,8 @@

    Declaration

    diff --git a/docs/Extensions/UUID.html b/docs/Extensions/UUID.html index de730017..fd452319 100644 --- a/docs/Extensions/UUID.html +++ b/docs/Extensions/UUID.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -886,8 +1012,8 @@

    Declaration

    diff --git a/docs/Functions.html b/docs/Functions.html index 3a564274..49e58aca 100644 --- a/docs/Functions.html +++ b/docs/Functions.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -2190,14 +2316,1008 @@

    Declaration

    +
    + +
      +
    • +
      + + + + ~(_:_:) + +
      +
      +
      +
      +
      +
      +

      Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

      +
      let owner = CoreStore.fetchOne(From<Pet>().where((\.master ~ \.name) == "John"))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func ~ <D, O, V>(lhs: KeyPath<D, O>, rhs: KeyPath<O, V>) -> Where<D>.Expression<Where<D>.SingleTarget, V> where D : NSManagedObject, O : NSManagedObject, V : AllowedObjectiveCKeyPathValue
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + ~(_:_:) + +
      +
      +
      +
      +
      +
      +

      Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

      +
      let owner = CoreStore.fetchOne(From<Pet>().where((\.master ~ \.name) == "John"))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func ~ <D, O, V>(lhs: KeyPath<D, O?>, rhs: KeyPath<O, V>) -> Where<D>.Expression<Where<D>.SingleTarget, V> where D : NSManagedObject, O : NSManagedObject, V : AllowedObjectiveCKeyPathValue
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + ~(_:_:) + +
      +
      +
      +
      +
      +
      +

      Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

      +
      let happyPets = CoreStore.fetchAll(From<Pet>().where((\.master ~ \.pets).count() > 1))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func ~ <D, O, V>(lhs: KeyPath<D, O>, rhs: KeyPath<O, V>) -> Where<D>.Expression<Where<D>.CollectionTarget, V> where D : NSManagedObject, O : NSManagedObject, V : AllowedObjectiveCCollectionKeyPathValue
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + ~(_:_:) + +
      +
      +
      +
      +
      +
      +

      Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

      +
      let happyPets = CoreStore.fetchAll(From<Pet>().where((\.master ~ \.pets).count() > 1))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func ~ <D, O, V>(lhs: KeyPath<D, O?>, rhs: KeyPath<O, V>) -> Where<D>.Expression<Where<D>.CollectionTarget, V> where D : NSManagedObject, O : NSManagedObject, V : AllowedObjectiveCCollectionKeyPathValue
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + ~(_:_:) + +
      +
      +
      +
      +
      +
      +

      Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

      +
      let johnsSonInLaw = CoreStore.fetchOne(From<Person>().where((\.spouse ~ \.father ~ \.name) == "John"))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func ~ <D, O, T, V>(lhs: Where<D>.Expression<T, O>, rhs: KeyPath<O, V>) -> Where<D>.Expression<T, V> where D : NSManagedObject, O : NSManagedObject, T : WhereExpressionTrait, V : AllowedObjectiveCKeyPathValue
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + ~(_:_:) + +
      +
      +
      +
      +
      +
      +

      Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

      +
      let johnsSonInLaw = CoreStore.fetchOne(From<Person>().where((\.spouse ~ \.father ~ \.name) == "John"))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func ~ <D, O, T, V>(lhs: Where<D>.Expression<T, O?>, rhs: KeyPath<O, V>) -> Where<D>.Expression<T, V> where D : NSManagedObject, O : NSManagedObject, T : WhereExpressionTrait, V : AllowedObjectiveCKeyPathValue
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + ~(_:_:) + +
      +
      +
      +
      +
      +
      +

      Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

      +
      let spouseHasSiblings = CoreStore.fetchOne(From<Person>().where((\.spouse ~ \.father ~ \.children).count() > 0))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func ~ <D, O, T, V>(lhs: Where<D>.Expression<T, O>, rhs: KeyPath<O, V>) -> Where<D>.Expression<Where<D>.CollectionTarget, V> where D : NSManagedObject, O : NSManagedObject, T : WhereExpressionTrait, V : AllowedObjectiveCCollectionKeyPathValue
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + ~(_:_:) + +
      +
      +
      +
      +
      +
      +

      Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

      +
      let spouseHasSiblings = CoreStore.fetchOne(From<Person>().where((\.spouse ~ \.father ~ \.children).count() > 0))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func ~ <D, O, T, V>(lhs: Where<D>.Expression<T, O?>, rhs: KeyPath<O, V>) -> Where<D>.Expression<Where<D>.CollectionTarget, V> where D : NSManagedObject, O : NSManagedObject, T : WhereExpressionTrait, V : AllowedObjectiveCCollectionKeyPathValue
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + ~(_:_:) + +
      +
      +
      +
      +
      +
      +

      Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

      +
      let spousesWithBadNamingSense = CoreStore.fetchAll(From<Person>().where((\.spouse ~ \.pets ~ \.name).any() == "Spot"))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func ~ <D, O, T, C, V>(lhs: Where<D>.Expression<T, C>, rhs: KeyPath<O, V>) -> Where<D>.Expression<Where<D>.CollectionTarget, V> where D : NSManagedObject, O : NSManagedObject, T : WhereExpressionTrait, C : AllowedObjectiveCCollectionKeyPathValue, V : AllowedObjectiveCKeyPathValue
      + +
      +
      +
      +
      +
    • +
    +
    +
    + + +
    +
    + +
      +
    • +
      + + + + ==(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by comparing if an expression is equal to a value

      +
      let dog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.name) == "John"))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func == <D, T, V>(lhs: Where<D>.Expression<T, V>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + !=(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by comparing if an expression is not equal to a value

      +
      let dog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.name) != "John"))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func != <D, T, V>(lhs: Where<D>.Expression<T, V>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + ~=(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by checking if a sequence contains a value

      +
      let dog = CoreStore.fetchOne(From<Dog>().where(["John", "Joe"] ~= (\.master ~ \.name))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func ~= <D, T, V, S>(sequence: S, expression: Where<D>.Expression<T, V>) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V == S.Element, S : Sequence
      + +
      +
      +
      +
      +
    • +
    +
    +
    + +
      +
    • +
      + + + + <(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by comparing if an expression is less than a value

      +
      let lonelyDog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.pets).count() < 2))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func < <D, T, V>(lhs: Where<D>.Expression<T, V>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V : Comparable
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + <=(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by comparing if an expression is less than or equal to a value

      +
      let lonelyDog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.pets).count() <= 1)
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func <= <D, T, V>(lhs: Where<D>.Expression<T, V>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V : Comparable
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + >(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by comparing if an expression is greater than a value

      +
      let happyDog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.pets).count() > 1)
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func > <D, T, V>(lhs: Where<D>.Expression<T, V>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V : Comparable
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + >=(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by comparing if an expression is greater than or equal to a value

      +
      let happyDog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.pets).count() >= 2)
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func >= <D, T, V>(lhs: Where<D>.Expression<T, V>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V : Comparable
      + +
      +
      +
      +
      +
    • +
    +
    +
    + +
      +
    • +
      + + + + ==(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by comparing if an expression is equal to a value

      +
      let dog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.name) == "John"))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func == <D, T, V>(lhs: Where<D>.Expression<T, V?>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + ==(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by comparing if an expression is equal to a value

      +
      let dog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.name) == "John"))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func == <D, T, V>(lhs: Where<D>.Expression<T, V?>, rhs: V?) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + !=(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by comparing if an expression is equal to a value

      +
      let dog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.name) != "John"))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func != <D, T, V>(lhs: Where<D>.Expression<T, V?>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + !=(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by comparing if an expression is equal to a value

      +
      let dog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.name) != "John"))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func != <D, T, V>(lhs: Where<D>.Expression<T, V?>, rhs: V?) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + ~=(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by checking if a sequence contains a value

      +
      let dog = CoreStore.fetchOne(From<Dog>().where(["John", "Joe"] ~= (\.master ~ \.name))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func ~= <D, T, V, S>(sequence: S, expression: Where<D>.Expression<T, V?>) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V == S.Element, S : Sequence
      + +
      +
      +
      +
      +
    • +
    +
    +
    + +
      +
    • +
      + + + + <(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by comparing if an expression is less than a value

      +
      let childsPet = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.age) < 10))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func < <D, T, V>(lhs: Where<D>.Expression<T, V?>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V : Comparable
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + <=(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by comparing if an expression is less than or equal to a value

      +
      let childsPet = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.age) <= 10))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func <= <D, T, V>(lhs: Where<D>.Expression<T, V?>, rhs: V?) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V : Comparable
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + >(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by comparing if an expression is greater than a value

      +
      let teensPet = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.age) > 10))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func > <D, T, V>(lhs: Where<D>.Expression<T, V?>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V : Comparable
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + >=(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by comparing if an expression is greater than or equal to a value

      +
      let teensPet = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.age) >= 10))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func >= <D, T, V>(lhs: Where<D>.Expression<T, V?>, rhs: V?) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V : Comparable
      + +
      +
      +
      +
      +
    • +
    +
    diff --git a/docs/Global Variables.html b/docs/Global Variables.html index 48c9de99..db8f42d9 100644 --- a/docs/Global Variables.html +++ b/docs/Global Variables.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -809,8 +935,8 @@

    Declaration

    diff --git a/docs/Protocols.html b/docs/Protocols.html index b6a3c7b3..d4974e1e 100644 --- a/docs/Protocols.html +++ b/docs/Protocols.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1671,53 +1797,6 @@

    Declaration

    -
    - -
      -
    • -
      - - - - ICloudStoreObserver - -
      -
      -
      -
      -
      -
      -

      Implement the ICloudStoreObserver protocol to observe ubiquitous storage notifications from the specified iCloud store. -Note that ICloudStoreObserver methods are only called when all the following conditions are true:

      - - - - See more -
      -
      -

      Declaration

      -
      -

      Swift

      -
      @available(*, deprecated, message: "Please see the release notes and Core Data documentation.")
      -public protocol ICloudStoreObserver : AnyObject
      - -
      -
      -
      -
      -
    • -
    -
    @@ -1901,6 +1980,196 @@

    Declaration

    +
    + +
      +
    • + +
      +
      +
      +
      +
      +

      Used only for utility methods. Types allowed as Value generic type to KeyPath utilities.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public protocol AllowedObjectiveCKeyPathValue
      + +
      +
      +
      +
      +
    • +
    +
    +
    + + +
    +
    + + +
    +
    + +
      +
    • + +
      +
      +
      +
      +
      +

      Used only for utility methods. Types allowed as Value generic type to KeyPath utilities.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public protocol AllowedCoreStoreObjectKeyPathValue : DynamicKeyPath
      + +
      +
      +
      +
      +
    • +
    +
    +
    + + +
    @@ -2732,6 +3001,44 @@

    Declaration

    +
    + +
      +
    • +
      + + + + WhereExpressionTrait + +
      +
      +
      +
      +
      +
      +

      Used only for Where.Expression type constraints. Currently supports SingleTarget and CollectionTarget.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public protocol WhereExpressionTrait
      + +
      +
      +
      +
      +
    • +
    +
    @@ -2754,7 +3061,7 @@

    WhereClauseType

    -

    Abstracts the Where clause for protocol utilities.

    +

    Abstracts the Where clause for protocol utilities. Typically used only for utility method generic constraints.

    See more
    @@ -2777,8 +3084,8 @@

    Declaration

    diff --git a/docs/Protocols/AnyWhereClause.html b/docs/Protocols/AnyWhereClause.html index 18ef41c5..ae6bbdd6 100644 --- a/docs/Protocols/AnyWhereClause.html +++ b/docs/Protocols/AnyWhereClause.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -853,8 +979,8 @@

    Parameters

    diff --git a/docs/Protocols/CSDynamicSchema.html b/docs/Protocols/CSDynamicSchema.html index d5054351..db9c4601 100644 --- a/docs/Protocols/CSDynamicSchema.html +++ b/docs/Protocols/CSDynamicSchema.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -842,8 +968,8 @@

    Declaration

    diff --git a/docs/Protocols/CSListObjectObserver.html b/docs/Protocols/CSListObjectObserver.html index 2b870922..30ecbc32 100644 --- a/docs/Protocols/CSListObjectObserver.html +++ b/docs/Protocols/CSListObjectObserver.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1088,8 +1214,8 @@

    Parameters

    diff --git a/docs/Protocols/CSListObserver.html b/docs/Protocols/CSListObserver.html index 1d541302..b38f8e4e 100644 --- a/docs/Protocols/CSListObserver.html +++ b/docs/Protocols/CSListObserver.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -980,8 +1106,8 @@

    Parameters

    diff --git a/docs/Protocols/CSListSectionObserver.html b/docs/Protocols/CSListSectionObserver.html index 33904f8f..cb2dcdbc 100644 --- a/docs/Protocols/CSListSectionObserver.html +++ b/docs/Protocols/CSListSectionObserver.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -935,8 +1061,8 @@

    Parameters

    diff --git a/docs/Protocols/CSLocalStorage.html b/docs/Protocols/CSLocalStorage.html index e4cd93e2..f773fdea 100644 --- a/docs/Protocols/CSLocalStorage.html +++ b/docs/Protocols/CSLocalStorage.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -898,8 +1024,8 @@

    Declaration

    diff --git a/docs/Protocols/CSObjectObserver.html b/docs/Protocols/CSObjectObserver.html index 283928a4..39323903 100644 --- a/docs/Protocols/CSObjectObserver.html +++ b/docs/Protocols/CSObjectObserver.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -979,8 +1105,8 @@

    Parameters

    diff --git a/docs/Protocols/CSStorageInterface.html b/docs/Protocols/CSStorageInterface.html index 18148164..ef03f774 100644 --- a/docs/Protocols/CSStorageInterface.html +++ b/docs/Protocols/CSStorageInterface.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -870,8 +996,8 @@

    Declaration

    diff --git a/docs/Protocols/CloudStorage.html b/docs/Protocols/CloudStorage.html index 35022916..4138e875 100644 --- a/docs/Protocols/CloudStorage.html +++ b/docs/Protocols/CloudStorage.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -888,8 +1014,8 @@

    Declaration

    diff --git a/docs/Protocols/CoreStoreLogger.html b/docs/Protocols/CoreStoreLogger.html index dcd22438..cadf0f74 100644 --- a/docs/Protocols/CoreStoreLogger.html +++ b/docs/Protocols/CoreStoreLogger.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1156,8 +1282,8 @@

    Parameters

    diff --git a/docs/Protocols/CoreStoreObjectKeyValueObservation.html b/docs/Protocols/CoreStoreObjectKeyValueObservation.html index 86ec0137..eda9a316 100644 --- a/docs/Protocols/CoreStoreObjectKeyValueObservation.html +++ b/docs/Protocols/CoreStoreObjectKeyValueObservation.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -809,8 +935,8 @@

    Declaration

    diff --git a/docs/Protocols/CoreStoreObjectiveCType.html b/docs/Protocols/CoreStoreObjectiveCType.html index f039fa7c..bb4a045a 100644 --- a/docs/Protocols/CoreStoreObjectiveCType.html +++ b/docs/Protocols/CoreStoreObjectiveCType.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -861,8 +987,8 @@

    Declaration

    diff --git a/docs/Protocols/CoreStoreSwiftType.html b/docs/Protocols/CoreStoreSwiftType.html index 18b5cc1c..01e652ae 100644 --- a/docs/Protocols/CoreStoreSwiftType.html +++ b/docs/Protocols/CoreStoreSwiftType.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -834,8 +960,8 @@

    Declaration

    diff --git a/docs/Protocols/DynamicKeyPath.html b/docs/Protocols/DynamicKeyPath.html index 2cbd840a..b75137d0 100644 --- a/docs/Protocols/DynamicKeyPath.html +++ b/docs/Protocols/DynamicKeyPath.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -792,7 +918,7 @@

    DynamicKeyPath

    Declaration

    Swift

    -
    associatedtype ObjectType
    +
    associatedtype ObjectType : DynamicObject
    @@ -834,8 +960,8 @@

    Declaration

    diff --git a/docs/Protocols/DynamicObject.html b/docs/Protocols/DynamicObject.html index a277383b..9ae7d9e4 100644 --- a/docs/Protocols/DynamicObject.html +++ b/docs/Protocols/DynamicObject.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1113,8 +1239,8 @@

    Declaration

    diff --git a/docs/Protocols/DynamicSchema.html b/docs/Protocols/DynamicSchema.html index 07fae6bb..a785005b 100644 --- a/docs/Protocols/DynamicSchema.html +++ b/docs/Protocols/DynamicSchema.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -890,8 +1016,8 @@

    Return Value

    diff --git a/docs/Protocols/FetchChainableBuilderType.html b/docs/Protocols/FetchChainableBuilderType.html index 27f07f59..9ea442d7 100644 --- a/docs/Protocols/FetchChainableBuilderType.html +++ b/docs/Protocols/FetchChainableBuilderType.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -861,8 +987,8 @@

    Declaration

    diff --git a/docs/Protocols/FetchableSource.html b/docs/Protocols/FetchableSource.html index ee19f3e2..71c2ce43 100644 --- a/docs/Protocols/FetchableSource.html +++ b/docs/Protocols/FetchableSource.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -975,9 +1101,9 @@

    Return Value

  • @@ -986,13 +1112,18 @@

    Return Value

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> D? where D : DynamicObject
    +
    func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> D? where D : DynamicObject
    @@ -1029,7 +1160,7 @@

    Parameters

    Return Value

    -

    the first DynamicObject instance that satisfies the specified FetchClauses

    +

    the first DynamicObject instance that satisfies the specified FetchClauses, or nil if no match was found

    @@ -1037,9 +1168,9 @@

    Return Value

  • @@ -1048,13 +1179,18 @@

    Return Value

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> D? where D : DynamicObject
    +
    func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> D? where D : DynamicObject
    @@ -1091,7 +1227,7 @@

    Parameters

    Return Value

    -

    the first DynamicObject instance that satisfies the specified FetchClauses

    +

    the first DynamicObject instance that satisfies the specified FetchClauses, or nil if no match was found

    @@ -1099,9 +1235,9 @@

    Return Value

  • @@ -1116,13 +1252,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchOne<B>(_ clauseChain: B) -> B.ObjectType? where B : FetchChainableBuilderType
    +
    func fetchOne<B>(_ clauseChain: B) throws -> B.ObjectType? where B : FetchChainableBuilderType
    @@ -1147,7 +1288,7 @@

    Parameters

    Return Value

    -

    the first DynamicObject instance that satisfies the specified FetchChainableBuilderType

    +

    the first DynamicObject instance that satisfies the specified FetchChainableBuilderType, or nil if no match was found

    @@ -1155,9 +1296,9 @@

    Return Value

  • @@ -1166,13 +1307,18 @@

    Return Value

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [D]? where D : DynamicObject
    +
    func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [D] where D : DynamicObject
    @@ -1209,7 +1355,7 @@

    Parameters

    Return Value

    -

    all DynamicObject instances that satisfy the specified FetchClauses

    +

    all DynamicObject instances that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -1217,9 +1363,9 @@

    Return Value

  • @@ -1228,13 +1374,18 @@

    Return Value

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [D]? where D : DynamicObject
    +
    func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [D] where D : DynamicObject
    @@ -1271,7 +1422,7 @@

    Parameters

    Return Value

    -

    all DynamicObject instances that satisfy the specified FetchClauses

    +

    all DynamicObject instances that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -1279,9 +1430,9 @@

    Return Value

  • @@ -1296,13 +1447,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchAll<B>(_ clauseChain: B) -> [B.ObjectType]? where B : FetchChainableBuilderType
    +
    func fetchAll<B>(_ clauseChain: B) throws -> [B.ObjectType] where B : FetchChainableBuilderType
    @@ -1327,7 +1483,7 @@

    Parameters

    Return Value

    -

    all DynamicObject instances that satisfy the specified FetchChainableBuilderType

    +

    all DynamicObject instances that satisfy the specified FetchChainableBuilderType, or an empty array if no match was found

    @@ -1335,9 +1491,9 @@

    Return Value

  • @@ -1346,13 +1502,18 @@

    Return Value

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> Int? where D : DynamicObject
    +
    func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> Int where D : DynamicObject
    @@ -1389,7 +1550,7 @@

    Parameters

    Return Value

    -

    the number DynamicObjects that satisfy the specified FetchClauses

    +

    the number of DynamicObjects that satisfy the specified FetchClauses

    @@ -1397,9 +1558,9 @@

    Return Value

  • @@ -1408,13 +1569,18 @@

    Return Value

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> Int? where D : DynamicObject
    +
    func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> Int where D : DynamicObject
    @@ -1451,7 +1617,7 @@

    Parameters

    Return Value

    -

    the number DynamicObjects that satisfy the specified FetchClauses

    +

    the number of DynamicObjects that satisfy the specified FetchClauses

    @@ -1459,9 +1625,9 @@

    Return Value

  • @@ -1476,13 +1642,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchCount<B>(_ clauseChain: B) -> Int? where B : FetchChainableBuilderType
    +
    func fetchCount<B>(_ clauseChain: B) throws -> Int where B : FetchChainableBuilderType
    @@ -1507,7 +1678,7 @@

    Parameters

    Return Value

    -

    the number DynamicObjects that satisfy the specified FetchChainableBuilderType

    +

    the number of DynamicObjects that satisfy the specified FetchChainableBuilderType

    @@ -1515,9 +1686,9 @@

    Return Value

  • @@ -1526,13 +1697,18 @@

    Return Value

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> NSManagedObjectID? where D : DynamicObject
    +
    func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> NSManagedObjectID? where D : DynamicObject
    @@ -1569,7 +1745,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses

    +

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses, or nil if no match was found

    @@ -1577,9 +1753,9 @@

    Return Value

  • @@ -1588,13 +1764,18 @@

    Return Value

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> NSManagedObjectID? where D : DynamicObject
    +
    func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> NSManagedObjectID? where D : DynamicObject
    @@ -1631,7 +1812,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses

    +

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses, or nil if no match was found

    @@ -1639,9 +1820,9 @@

    Return Value

  • @@ -1656,13 +1837,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchObjectID<B>(_ clauseChain: B) -> NSManagedObjectID? where B : FetchChainableBuilderType
    +
    func fetchObjectID<B>(_ clauseChain: B) throws -> NSManagedObjectID? where B : FetchChainableBuilderType
    @@ -1687,7 +1873,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType

    +

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType, or nil if no match was found

    @@ -1695,9 +1881,9 @@

    Return Value

  • @@ -1706,13 +1892,18 @@

    Return Value

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [NSManagedObjectID]? where D : DynamicObject
    +
    func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [NSManagedObjectID] where D : DynamicObject
    @@ -1749,7 +1940,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses

    +

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -1757,9 +1948,9 @@

    Return Value

  • @@ -1768,13 +1959,18 @@

    Return Value

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [NSManagedObjectID]? where D : DynamicObject
    +
    func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [NSManagedObjectID] where D : DynamicObject
    @@ -1811,7 +2007,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses

    +

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -1819,9 +2015,9 @@

    Return Value

  • @@ -1836,13 +2032,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchObjectIDs<B>(_ clauseChain: B) -> [NSManagedObjectID]? where B : FetchChainableBuilderType
    +
    func fetchObjectIDs<B>(_ clauseChain: B) throws -> [NSManagedObjectID] where B : FetchChainableBuilderType
    @@ -1867,7 +2068,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType

    +

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType, or an empty array if no match was found

    @@ -1907,8 +2108,8 @@

    Declaration

    diff --git a/docs/Protocols/GroupByClause.html b/docs/Protocols/GroupByClause.html index 725f1998..1caddb2d 100644 --- a/docs/Protocols/GroupByClause.html +++ b/docs/Protocols/GroupByClause.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

  • - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -834,8 +960,8 @@

    Declaration

    diff --git a/docs/Protocols/ICloudStoreObserver.html b/docs/Protocols/ICloudStoreObserver.html deleted file mode 100644 index 53afa24a..00000000 --- a/docs/Protocols/ICloudStoreObserver.html +++ /dev/null @@ -1,1316 +0,0 @@ - - - - ICloudStoreObserver Protocol Reference - - - - - - - - - - - - - - - - -
    -

    - - CoreStore Docs - - (88% documented) -

    - -

    -

    - -
    -

    - -

    - - - View on GitHub - -

    - -
    - - - -
    - -
    - -
    -
    -

    ICloudStoreObserver

    -
    -
    -
    @available(*, deprecated, message: "Please see the release notes and Core Data documentation.")
    -public protocol ICloudStoreObserver : AnyObject
    - -
    -
    -

    Implement the ICloudStoreObserver protocol to observe ubiquitous storage notifications from the specified iCloud store. -Note that ICloudStoreObserver methods are only called when all the following conditions are true:

    - - - -
    -
    - -
    -
    -
    -
      -
    • - -
      -
      -
      -
      -
      -

      Notifies that the initial ubiquitous store import will complete

      - -
      -

      Default Implementation

      -
      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      func iCloudStoreWillFinishUbiquitousStoreInitialImport(storage: ICloudStore, dataStack: DataStack)
      - -
      -
      -
      -

      Parameters

      - - - - - - - - - - - -
      - - storage - - -
      -

      the ICloudStore instance being observed

      -
      -
      - - dataStack - - -
      -

      the DataStack that manages the peristent store

      -
      -
      -
      -
      -
      -
    • -
    • - -
      -
      -
      -
      -
      -

      Notifies that the initial ubiquitous store import completed

      - -
      -

      Default Implementation

      -
      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      func iCloudStoreDidFinishUbiquitousStoreInitialImport(storage: ICloudStore, dataStack: DataStack)
      - -
      -
      -
      -

      Parameters

      - - - - - - - - - - - -
      - - storage - - -
      -

      the ICloudStore instance being observed

      -
      -
      - - dataStack - - -
      -

      the DataStack that manages the peristent store

      -
      -
      -
      -
      -
      -
    • -
    • -
      - - - - iCloudStoreWillAddAccount(storage:dataStack:) - - - Default implementation - -
      -
      -
      -
      -
      -
      -

      Notifies that an iCloud account will be added to the coordinator

      - -
      -

      Default Implementation

      -
      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      func iCloudStoreWillAddAccount(storage: ICloudStore, dataStack: DataStack)
      - -
      -
      -
      -

      Parameters

      - - - - - - - - - - - -
      - - storage - - -
      -

      the ICloudStore instance being observed

      -
      -
      - - dataStack - - -
      -

      the DataStack that manages the peristent store

      -
      -
      -
      -
      -
      -
    • -
    • -
      - - - - iCloudStoreDidAddAccount(storage:dataStack:) - - - Default implementation - -
      -
      -
      -
      -
      -
      -

      Notifies that an iCloud account was added to the coordinator

      - -
      -

      Default Implementation

      -
      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      func iCloudStoreDidAddAccount(storage: ICloudStore, dataStack: DataStack)
      - -
      -
      -
      -

      Parameters

      - - - - - - - - - - - -
      - - storage - - -
      -

      the ICloudStore instance being observed

      -
      -
      - - dataStack - - -
      -

      the DataStack that manages the peristent store

      -
      -
      -
      -
      -
      -
    • -
    • -
      - - - - iCloudStoreWillRemoveAccount(storage:dataStack:) - - - Default implementation - -
      -
      -
      -
      -
      -
      -

      Notifies that an iCloud account will be removed from the coordinator

      - -
      -

      Default Implementation

      -
      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      func iCloudStoreWillRemoveAccount(storage: ICloudStore, dataStack: DataStack)
      - -
      -
      -
      -

      Parameters

      - - - - - - - - - - - -
      - - storage - - -
      -

      the ICloudStore instance being observed

      -
      -
      - - dataStack - - -
      -

      the DataStack that manages the peristent store

      -
      -
      -
      -
      -
      -
    • -
    • -
      - - - - iCloudStoreDidRemoveAccount(storage:dataStack:) - - - Default implementation - -
      -
      -
      -
      -
      -
      -

      Notifies that an iCloud account was removed from the coordinator

      - -
      -

      Default Implementation

      -
      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      func iCloudStoreDidRemoveAccount(storage: ICloudStore, dataStack: DataStack)
      - -
      -
      -
      -

      Parameters

      - - - - - - - - - - - -
      - - storage - - -
      -

      the ICloudStore instance being observed

      -
      -
      - - dataStack - - -
      -

      the DataStack that manages the peristent store

      -
      -
      -
      -
      -
      -
    • -
    • -
      - - - - iCloudStoreWillRemoveContent(storage:dataStack:) - - - Default implementation - -
      -
      -
      -
      -
      -
      -

      Notifies that iCloud contents will be deleted

      - -
      -

      Default Implementation

      -
      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      func iCloudStoreWillRemoveContent(storage: ICloudStore, dataStack: DataStack)
      - -
      -
      -
      -

      Parameters

      - - - - - - - - - - - -
      - - storage - - -
      -

      the ICloudStore instance being observed

      -
      -
      - - dataStack - - -
      -

      the DataStack that manages the peristent store

      -
      -
      -
      -
      -
      -
    • -
    • -
      - - - - iCloudStoreDidRemoveContent(storage:dataStack:) - - - Default implementation - -
      -
      -
      -
      -
      -
      -

      Notifies that iCloud contents were deleted

      - -
      -

      Default Implementation

      -
      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      func iCloudStoreDidRemoveContent(storage: ICloudStore, dataStack: DataStack)
      - -
      -
      -
      -

      Parameters

      - - - - - - - - - - - -
      - - storage - - -
      -

      the ICloudStore instance being observed

      -
      -
      - - dataStack - - -
      -

      the DataStack that manages the peristent store

      -
      -
      -
      -
      -
      -
    • -
    -
    -
    -
    - -
    -
    - - - - diff --git a/docs/Protocols/ImportableObject.html b/docs/Protocols/ImportableObject.html index a848919f..a4e1c5b1 100644 --- a/docs/Protocols/ImportableObject.html +++ b/docs/Protocols/ImportableObject.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -953,8 +1079,8 @@

    Parameters

    diff --git a/docs/Protocols/ImportableUniqueObject.html b/docs/Protocols/ImportableUniqueObject.html index 02ff3b76..00f48e67 100644 --- a/docs/Protocols/ImportableUniqueObject.html +++ b/docs/Protocols/ImportableUniqueObject.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1202,8 +1328,8 @@

    Parameters

    diff --git a/docs/Protocols/ListObjectObserver.html b/docs/Protocols/ListObjectObserver.html index af1cd4b5..414a1f0a 100644 --- a/docs/Protocols/ListObjectObserver.html +++ b/docs/Protocols/ListObjectObserver.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1111,8 +1237,8 @@

    Parameters

    diff --git a/docs/Protocols/ListObserver.html b/docs/Protocols/ListObserver.html index 99aa35d8..733d7441 100644 --- a/docs/Protocols/ListObserver.html +++ b/docs/Protocols/ListObserver.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1023,8 +1149,8 @@

    Parameters

    diff --git a/docs/Protocols/ListSectionObserver.html b/docs/Protocols/ListSectionObserver.html index 606d8c07..609ed724 100644 --- a/docs/Protocols/ListSectionObserver.html +++ b/docs/Protocols/ListSectionObserver.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -944,8 +1070,8 @@

    Parameters

    diff --git a/docs/Protocols/LocalStorage.html b/docs/Protocols/LocalStorage.html index 3295b3e9..bd777ae6 100644 --- a/docs/Protocols/LocalStorage.html +++ b/docs/Protocols/LocalStorage.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -942,8 +1068,8 @@

    Declaration

    diff --git a/docs/Protocols/ObjectObserver.html b/docs/Protocols/ObjectObserver.html index 5a81e10f..1c489dae 100644 --- a/docs/Protocols/ObjectObserver.html +++ b/docs/Protocols/ObjectObserver.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1021,8 +1147,8 @@

    Parameters

    diff --git a/docs/Protocols/OrderByClause.html b/docs/Protocols/OrderByClause.html index d91b69ed..0cddeb73 100644 --- a/docs/Protocols/OrderByClause.html +++ b/docs/Protocols/OrderByClause.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -834,8 +960,8 @@

    Declaration

    diff --git a/docs/Protocols/QueryChainableBuilderType.html b/docs/Protocols/QueryChainableBuilderType.html index 7dceae9d..049a1400 100644 --- a/docs/Protocols/QueryChainableBuilderType.html +++ b/docs/Protocols/QueryChainableBuilderType.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -915,8 +1041,8 @@

    Declaration

    diff --git a/docs/Protocols/QueryableAttributeType.html b/docs/Protocols/QueryableAttributeType.html index 86736d35..a5d2ef08 100644 --- a/docs/Protocols/QueryableAttributeType.html +++ b/docs/Protocols/QueryableAttributeType.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -919,8 +1045,8 @@

    Declaration

    diff --git a/docs/Protocols/QueryableSource.html b/docs/Protocols/QueryableSource.html index 289c6360..377486f9 100644 --- a/docs/Protocols/QueryableSource.html +++ b/docs/Protocols/QueryableSource.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -775,9 +901,9 @@

    QueryableSource

  • @@ -788,13 +914,18 @@

    QueryableSource

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) -> U? where D : DynamicObject, U : QueryableAttributeType
    +
    func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) throws -> U? where D : DynamicObject, U : QueryableAttributeType
    @@ -843,7 +974,7 @@

    Parameters

    Return Value

    -

    the result of the the query. The type of the return value is specified by the generic type of the Select<U> parameter.

    +

    the result of the the query, or nil if no match was found. The type of the return value is specified by the generic type of the Select<U> parameter.

    @@ -851,9 +982,9 @@

    Return Value

  • @@ -864,13 +995,18 @@

    Return Value

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) -> U? where D : DynamicObject, U : QueryableAttributeType
    +
    func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) throws -> U? where D : DynamicObject, U : QueryableAttributeType
    @@ -919,7 +1055,7 @@

    Parameters

    Return Value

    -

    the result of the the query. The type of the return value is specified by the generic type of the Select<U> parameter.

    +

    the result of the the query, or nil if no match was found. The type of the return value is specified by the generic type of the Select<U> parameter.

    @@ -927,9 +1063,9 @@

    Return Value

  • @@ -946,13 +1082,18 @@

    Return Value

    .where(\.age > 18) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func queryValue<B>(_ clauseChain: B) -> B.ResultType? where B : QueryChainableBuilderType, B.ResultType : QueryableAttributeType
    +
    func queryValue<B>(_ clauseChain: B) throws -> B.ResultType? where B : QueryChainableBuilderType, B.ResultType : QueryableAttributeType
    @@ -977,7 +1118,7 @@

    Parameters

    Return Value

    -

    the result of the the query as specified by the QueryChainableBuilderType

    +

    the result of the the query as specified by the QueryChainableBuilderType, or nil if no match was found.

    @@ -985,9 +1126,9 @@

    Return Value

  • @@ -998,13 +1139,18 @@

    Return Value

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) -> [[String : Any]]? where D : DynamicObject
    +
    func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) throws -> [[String : Any]] where D : DynamicObject
    @@ -1061,9 +1207,9 @@

    Return Value

  • @@ -1074,13 +1220,18 @@

    Return Value

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) -> [[String : Any]]? where D : DynamicObject
    +
    func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) throws -> [[String : Any]] where D : DynamicObject
    @@ -1137,9 +1288,9 @@

    Return Value

  • @@ -1165,13 +1316,18 @@

    Return Value

    print("There are \(count) people who are \(age) years old." } +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func queryAttributes<B>(_ clauseChain: B) -> [[String : Any]]? where B : QueryChainableBuilderType, B.ResultType == NSDictionary
    +
    func queryAttributes<B>(_ clauseChain: B) throws -> [[String : Any]] where B : QueryChainableBuilderType, B.ResultType == NSDictionary
    @@ -1236,8 +1392,8 @@

    Declaration

    diff --git a/docs/Protocols/SchemaMappingProvider.html b/docs/Protocols/SchemaMappingProvider.html index a83d3b5e..df863a3e 100644 --- a/docs/Protocols/SchemaMappingProvider.html +++ b/docs/Protocols/SchemaMappingProvider.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

  • - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -807,8 +933,8 @@

    Declaration

    diff --git a/docs/Protocols/SectionMonitorBuilderType.html b/docs/Protocols/SectionMonitorBuilderType.html index d1a15f20..aa66201e 100644 --- a/docs/Protocols/SectionMonitorBuilderType.html +++ b/docs/Protocols/SectionMonitorBuilderType.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -889,8 +1015,8 @@

    Declaration

    diff --git a/docs/Protocols/SelectClause.html b/docs/Protocols/SelectClause.html index 2d2825bb..a6da13de 100644 --- a/docs/Protocols/SelectClause.html +++ b/docs/Protocols/SelectClause.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -861,8 +987,8 @@

    Declaration

    diff --git a/docs/Protocols/StorageInterface.html b/docs/Protocols/StorageInterface.html index 3c953872..6ca8a679 100644 --- a/docs/Protocols/StorageInterface.html +++ b/docs/Protocols/StorageInterface.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -926,8 +1052,8 @@

    Declaration

    diff --git a/docs/Protocols/WhereClauseType.html b/docs/Protocols/WhereClauseType.html index 1004c7b5..c8385079 100644 --- a/docs/Protocols/WhereClauseType.html +++ b/docs/Protocols/WhereClauseType.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -763,7 +889,7 @@

    WhereClauseType

    -

    Abstracts the Where clause for protocol utilities.

    +

    Abstracts the Where clause for protocol utilities. Typically used only for utility method generic constraints.

    @@ -813,9 +939,9 @@

    WhereClauseType

  • - + - &&(_:_:) + &&(_:_:) Extension method @@ -838,7 +964,7 @@

    WhereClauseType

    Declaration

    Swift

    -
    public static func && <TWhere>(left: Self, right: TWhere) -> Self where TWhere : WhereClauseType
    +
    public static func && <TWhere>(left: Self, right: TWhere) -> Where<Self.ObjectType> where TWhere : WhereClauseType
    @@ -848,9 +974,9 @@

    Declaration

  • - + - &&(_:_:) + &&(_:_:) Extension method @@ -873,7 +999,7 @@

    Declaration

    Declaration

    Swift

    -
    public static func && <TWhere>(left: TWhere, right: Self) -> Self where TWhere : WhereClauseType
    +
    public static func && <TWhere>(left: TWhere, right: Self) -> Where<Self.ObjectType> where TWhere : WhereClauseType
    @@ -883,9 +1009,9 @@

    Declaration

  • - + - ||(_:_:) + ||(_:_:) Extension method @@ -908,7 +1034,7 @@

    Declaration

    Declaration

    Swift

    -
    public static func || <TWhere>(left: Self, right: TWhere) -> Self where TWhere : WhereClauseType
    +
    public static func || <TWhere>(left: Self, right: TWhere) -> Where<Self.ObjectType> where TWhere : WhereClauseType
    @@ -918,9 +1044,9 @@

    Declaration

  • - + - ||(_:_:) + ||(_:_:) Extension method @@ -943,7 +1069,7 @@

    Declaration

    Declaration

    Swift

    -
    public static func || <TWhere>(left: TWhere, right: Self) -> Self where TWhere : WhereClauseType
    +
    public static func || <TWhere>(left: TWhere, right: Self) -> Where<Self.ObjectType> where TWhere : WhereClauseType
    @@ -958,8 +1084,8 @@

    Declaration

    diff --git a/docs/Structs.html b/docs/Structs.html index caf76309..f31a8b7d 100644 --- a/docs/Structs.html +++ b/docs/Structs.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

  • - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1131,6 +1257,45 @@

    Declaration

    +
    + +
      +
    • +
      + + + + PartialObject + +
      +
      +
      +
      +
      +
      +

      A PartialObject is only used when overriding getters and setters for CoreStoreObject properties. Custom getters and setters are implemented as a closure that overrides the default property getter/setter. The closure receives a PartialObject<O>, which acts as a fast, type-safe KVC interface for CoreStoreObject. The reason a CoreStoreObject instance is not passed directly is because the Core Data runtime is not aware of CoreStoreObject properties’ static typing, and so loading those info everytime KVO invokes this accessor method incurs a heavy performance hit (especially in KVO-heavy operations such as ListMonitor observing.) When accessing the property value from PartialObject<O>, make sure to use PartialObject<O>.persistentValue(for:) instead of PartialObject<O>.value(for:), which would unintentionally execute the same closure again recursively.

      + + See more +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public struct PartialObject<O> where O : CoreStoreObject
      + +
      +
      +
      +
      +
    • +
    +
    @@ -1503,53 +1668,14 @@

    Declaration

    -
    - -
      -
    • -
      - - - - PartialObject - -
      -
      -
      -
      -
      -
      -

      A PartialObject is only used when overriding getters and setters for CoreStoreObject properties. Custom getters and setters are implemented as a closure that overrides the default property getter/setter. The closure receives a PartialObject<O>, which acts as a fast, type-safe KVC interface for CoreStoreObject. The reason a CoreStoreObject instance is not passed directly is because the Core Data runtime is not aware of CoreStoreObject properties’ static typing, and so loading those info everytime KVO invokes this accessor method incurs a heavy performance hit (especially in KVO-heavy operations such as ListMonitor observing.) When accessing the property value from PartialObject<O>, make sure to use PartialObject<O>.persistentValue(for:) instead of PartialObject<O>.value(for:), which would unintentionally execute the same closure again recursively.

      - - See more -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public struct PartialObject<O> where O : CoreStoreObject
      - -
      -
      -
      -
      -
    • -
    -
    diff --git a/docs/Structs/CloudStorageOptions.html b/docs/Structs/CloudStorageOptions.html index 9b18f87a..67bc8184 100644 --- a/docs/Structs/CloudStorageOptions.html +++ b/docs/Structs/CloudStorageOptions.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1009,8 +1135,8 @@

    Declaration

    diff --git a/docs/Structs/FetchChainBuilder.html b/docs/Structs/FetchChainBuilder.html index 06036454..dc457a90 100644 --- a/docs/Structs/FetchChainBuilder.html +++ b/docs/Structs/FetchChainBuilder.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -867,10 +993,10 @@

    Declaration

      @@ -1048,6 +1174,56 @@

      Return Value

    +
  • +
    + + + + orderBy(_:) + +
    +
    +
    +
    +
    +
    +

    Adds an OrderBy clause to the FetchChainBuilder

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func orderBy(_ clause: OrderBy<D>) -> FetchChainBuilder<D>
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + clause + + +
    +

    the OrderBy clause to add

    +
    +
    +
    +
    +

    Return Value

    +

    a new FetchChainBuilder containing the OrderBy clause

    +
    +
    +
    +
  • @@ -1110,6 +1286,56 @@

    Return Value

  • +
  • +
    + + + + orderBy(_:) + +
    +
    +
    +
    +
    +
    +

    Adds an OrderBy clause to the FetchChainBuilder

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func orderBy(_ sortKeys: [OrderBy<D>.SortKey]) -> FetchChainBuilder<D>
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + sortKeys + + +
    +

    a series of SortKeys

    +
    +
    +
    +
    +

    Return Value

    +

    a new FetchChainBuilder containing the OrderBy clause

    +
    +
    +
    +
  • @@ -1268,8 +1494,8 @@

    Return Value

    diff --git a/docs/Structs/From.html b/docs/Structs/From.html index 17de2aa8..c621e27d 100644 --- a/docs/Structs/From.html +++ b/docs/Structs/From.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

  • - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1372,6 +1498,56 @@

    Return Value

    +
  • +
    + + + + orderBy(_:) + +
    +
    +
    +
    +
    +
    +

    Creates a FetchChainBuilder that starts with the specified OrderBy clause.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func orderBy(_ clause: OrderBy<D>) -> FetchChainBuilder<D>
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + clause + + +
    +

    the OrderBy clause to create a FetchChainBuilder with

    +
    +
    +
    +
    +

    Return Value

    +

    a FetchChainBuilder that starts with the specified OrderBy clause

    +
    +
    +
    +
  • @@ -1434,6 +1610,56 @@

    Return Value

  • +
  • +
    + + + + orderBy(_:) + +
    +
    +
    +
    +
    +
    +

    Creates a FetchChainBuilder with a series of SortKeys

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func orderBy(_ sortKeys: [OrderBy<D>.SortKey]) -> FetchChainBuilder<D>
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + sortKeys + + +
    +

    a series of SortKeys

    +
    +
    +
    +
    +

    Return Value

    +

    a FetchChainBuilder with a series of SortKeys

    +
    +
    +
    +
  • @@ -1944,10 +2170,10 @@

    Return Value

      @@ -2124,10 +2350,10 @@

      Return Value

      @@ -2865,8 +3091,8 @@

      Return Value

    diff --git a/docs/Structs/GroupBy.html b/docs/Structs/GroupBy.html index e6847d5e..4772be37 100644 --- a/docs/Structs/GroupBy.html +++ b/docs/Structs/GroupBy.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

  • - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1337,8 +1463,8 @@

    Parameters

    diff --git a/docs/Structs/Into.html b/docs/Structs/Into.html index f008511f..e869450e 100644 --- a/docs/Structs/Into.html +++ b/docs/Structs/Into.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1137,8 +1263,8 @@

    Declaration

    diff --git a/docs/Structs/LocalStorageOptions.html b/docs/Structs/LocalStorageOptions.html index 79692729..8710d90a 100644 --- a/docs/Structs/LocalStorageOptions.html +++ b/docs/Structs/LocalStorageOptions.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1036,8 +1162,8 @@

    Declaration

    diff --git a/docs/Structs/MigrationChain.html b/docs/Structs/MigrationChain.html index e6d8e146..23305623 100644 --- a/docs/Structs/MigrationChain.html +++ b/docs/Structs/MigrationChain.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1245,8 +1371,8 @@

    Declaration

    diff --git a/docs/Structs/OrderBy.html b/docs/Structs/OrderBy.html index ac392a3a..cdbba17d 100644 --- a/docs/Structs/OrderBy.html +++ b/docs/Structs/OrderBy.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1270,8 +1396,8 @@

    Declaration

    diff --git a/docs/Structs/OrderBy/SortKey.html b/docs/Structs/OrderBy/SortKey.html index 6b206e9b..d31379f7 100644 --- a/docs/Structs/OrderBy/SortKey.html +++ b/docs/Structs/OrderBy/SortKey.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1129,10 +1255,10 @@

    Declaration

      @@ -1198,8 +1324,8 @@

      Declaration

    diff --git a/docs/Structs/PartialObject.html b/docs/Structs/PartialObject.html index b7c70be5..9a26c6b5 100644 --- a/docs/Structs/PartialObject.html +++ b/docs/Structs/PartialObject.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1293,14 +1419,51 @@

    Declaration

    +
    + +
      +
    • +
      + + + + debugDescription + +
      +
      +
      +
      +
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var debugDescription: String { get }
      + +
      +
      +
      +
      +
    • +
    +
    diff --git a/docs/Structs/QueryChainBuilder.html b/docs/Structs/QueryChainBuilder.html index 7c2bcd51..46b99ac9 100644 --- a/docs/Structs/QueryChainBuilder.html +++ b/docs/Structs/QueryChainBuilder.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -919,10 +1045,10 @@

    Declaration

      @@ -1100,6 +1226,56 @@

      Return Value

    +
  • +
    + + + + orderBy(_:) + +
    +
    +
    +
    +
    +
    +

    Adds an OrderBy clause to the QueryChainBuilder

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func orderBy(_ clause: OrderBy<D>) -> QueryChainBuilder<D, R>
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + clause + + +
    +

    the OrderBy clause to add

    +
    +
    +
    +
    +

    Return Value

    +

    a new QueryChainBuilder containing the OrderBy clause

    +
    +
    +
    +
  • @@ -1162,6 +1338,56 @@

    Return Value

  • +
  • +
    + + + + orderBy(_:) + +
    +
    +
    +
    +
    +
    +

    Adds an OrderBy clause to the QueryChainBuild

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func orderBy(_ sortKeys: [OrderBy<D>.SortKey]) -> QueryChainBuilder<D, R>
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + sortKeys + + +
    +

    a series of SortKeys

    +
    +
    +
    +
    +

    Return Value

    +

    a new QueryChainBuilder containing the OrderBy clause

    +
    +
    +
    +
  • @@ -1478,10 +1704,10 @@

    Return Value

      @@ -1539,10 +1765,10 @@

      Return Value

      @@ -1804,8 +2030,8 @@

      Return Value

    diff --git a/docs/Structs/SectionBy.html b/docs/Structs/SectionBy.html index d6fcae0a..664e9aba 100644 --- a/docs/Structs/SectionBy.html +++ b/docs/Structs/SectionBy.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

  • - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1500,8 +1626,8 @@

    Parameters

    diff --git a/docs/Structs/SectionMonitorChainBuilder.html b/docs/Structs/SectionMonitorChainBuilder.html index c0e2dce6..a5a03150 100644 --- a/docs/Structs/SectionMonitorChainBuilder.html +++ b/docs/Structs/SectionMonitorChainBuilder.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -869,10 +995,10 @@

    Declaration

      @@ -1050,6 +1176,56 @@

      Return Value

    +
  • +
    + + + + orderBy(_:) + +
    +
    +
    +
    +
    +
    +

    Adds an OrderBy clause to the SectionMonitorChainBuilder

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func orderBy(_ clause: OrderBy<D>) -> SectionMonitorChainBuilder<D>
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + clause + + +
    +

    the OrderBy clause to add

    +
    +
    +
    +
    +

    Return Value

    +

    a new SectionMonitorChainBuilder containing the OrderBy clause

    +
    +
    +
    +
  • @@ -1112,6 +1288,56 @@

    Return Value

  • +
  • +
    + + + + orderBy(_:) + +
    +
    +
    +
    +
    +
    +

    Adds an OrderBy clause to the SectionMonitorChainBuilder

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func orderBy(_ sortKeys: [OrderBy<D>.SortKey]) -> SectionMonitorChainBuilder<D>
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + sortKeys + + +
    +

    a series of SortKeys

    +
    +
    +
    +
    +

    Return Value

    +

    a new SectionMonitorChainBuilder containing the OrderBy clause

    +
    +
    +
    +
  • @@ -1266,10 +1492,10 @@

    Return Value

      @@ -1331,8 +1557,8 @@

      Return Value

    diff --git a/docs/Structs/Select.html b/docs/Structs/Select.html index bb31440d..eef30520 100644 --- a/docs/Structs/Select.html +++ b/docs/Structs/Select.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

  • - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1414,8 +1540,8 @@

    Parameters

    diff --git a/docs/Structs/Tweak.html b/docs/Structs/Tweak.html index 7bbbdff6..e72c72d0 100644 --- a/docs/Structs/Tweak.html +++ b/docs/Structs/Tweak.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -941,8 +1067,8 @@

    Declaration

    diff --git a/docs/Structs/VersionLock.html b/docs/Structs/VersionLock.html index be1d779d..b76dafa7 100644 --- a/docs/Structs/VersionLock.html +++ b/docs/Structs/VersionLock.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1085,8 +1211,8 @@

    Declaration

    diff --git a/docs/Structs/Where.html b/docs/Structs/Where.html index 948ced1e..14378d72 100644 --- a/docs/Structs/Where.html +++ b/docs/Structs/Where.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1004,6 +1130,52 @@

    Declaration

    +
  • +
    + + + + init(_:) + +
    +
    +
    +
    +
    +
    +

    Initializes a Where clause with an existing Where clause.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(_ clause: Where<D>)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + clause + + +
    +

    the existing Where clause.

    +
    +
    +
    +
    +
    +
  • @@ -1785,6 +1957,126 @@

    Declaration

  • +
    + +
      +
    • +
      + + + + Expression + +
      +
      +
      +
      +
      +
      +

      Type-safe keyPath chain usable in query/fetch expressions.

      +
      let expression: Where<Pet>.Expression = (\.master ~ \.name)
      +let owner = CoreStore.fetchOne(
      +   From<Pet>().where(expression == "John")
      +)
      +
      + + See more +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public struct Expression<T, V> : CustomStringConvertible, DynamicKeyPath where T : WhereExpressionTrait
      + +
      +
      +
      +
      +
    • +
    +
    +
    + + +
    +
    + + +
    @@ -2903,8 +3195,8 @@

    Parameters

    diff --git a/docs/Classes/AsynchronousDataTransaction/Result.html b/docs/Structs/Where/Expression.html similarity index 52% rename from docs/Classes/AsynchronousDataTransaction/Result.html rename to docs/Structs/Where/Expression.html index 861bb0de..ada12405 100644 --- a/docs/Classes/AsynchronousDataTransaction/Result.html +++ b/docs/Structs/Where/Expression.html @@ -1,7 +1,7 @@ - Result Enumeration Reference + Expression Structure Reference @@ -14,16 +14,16 @@ - + - +

    CoreStore Docs - (88% documented) + (90% documented)

    @@ -44,7 +44,7 @@

    @@ -56,9 +56,6 @@ - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -756,14 +882,19 @@
    -

    Result

    +

    Expression

    -
    public enum Result<T>
    +
    public struct Expression<T, V> : CustomStringConvertible, DynamicKeyPath where T : WhereExpressionTrait
    -

    The Result contains the success or failure information for a completed transaction

    +

    Type-safe keyPath chain usable in query/fetch expressions.

    +
    let expression: Where<Pet>.Expression = (\.master ~ \.name)
    +let owner = CoreStore.fetchOne(
    +   From<Pet>().where(expression == "John")
    +)
    +
    @@ -775,9 +906,351 @@

    Result

  • - - - success(userInfo:) + + + Trait + +
    +
    +
    +
    +
    +
    +

    Currently supports SingleTarget and CollectionTarget.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias Trait = T
    + +
    +
    +
    +
    +
  • + +
    +
    + +
      +
    • +
      + + + + cs_keyPathString + +
      +
      +
      +
      +
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public let cs_keyPathString: String
      + +
      +
      +
      +
      +
    • +
    +
    +
    + +
      +
    • +
      + + + + ObjectType + +
      +
      +
      +
      +
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public typealias ObjectType = D
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + ValueType + +
      +
      +
      +
      +
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public typealias ValueType = V
      + +
      +
      +
      +
      +
    • +
    +
    +
    + +
      +
    • +
      + + + + description + +
      +
      +
      +
      +
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var description: String { get }
      + +
      +
      +
      +
      +
    • +
    +
    +
    + +
      +
    • +
      + + + + count() + +
      +
      +
      +
      +
      +
      +

      Creates a Where.Expression clause for COUNT

      +
      let dogsWithPlaymates = CoreStore.fetchAll(From<Dog>().where((\.master ~ \.pets).count() > 1))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func count() -> Where<D>.Expression<T, Int>
      + +
      +
      +
      +
      +
    • +
    +
    +
    + +
      +
    • +
      + + + + any() + +
      +
      +
      +
      +
      +
      +

      Creates a Where.Expression clause for ANY

      +
      let dogsWithBadNamingSense = CoreStore.fetchAll(From<Dog>().where((\.master ~ \.pets ~ \.name).any() > "Spot"))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func any() -> Where<D>.Expression<T, V>
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + all() + +
      +
      +
      +
      +
      +
      +

      Creates a Where.Expression clause for ALL

      +
      let allPlaymatePuppies = CoreStore.fetchAll(From<Dog>().where((\.master ~ \.pets ~ \.age).all() > 5))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func all() -> Where<D>.Expression<T, V>
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + none() + +
      +
      +
      +
      +
      +
      +

      Creates a Where.Expression clause for NONE

      +
      let dogs = CoreStore.fetchAll(From<Dog>().where((\.master ~ \.pets ~ \.name).any() > "Spot"))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func none() -> Where<D>.Expression<T, V>
      + +
      +
      +
      +
      +
    • +
    +
    +
    + + + + @@ -992,14 +1118,115 @@

    Declaration

    +
    + +
      +
    • +
      + + + + MigrationResult + +
      +
      +
      +
      +
      +
      +

      The MigrationResult indicates the result of a migration. +MigrationResult.success indicates either the migration succeeded, or there were no migrations needed. The associated value is an array of MigrationTypes reflecting the migration steps completed. +MigrationResult.failure indicates that the migration failed. The associated object for this value is the a CoreStoreError enum value.

      +
      CoreStore.upgradeStorageIfNeeded(SQLiteStorage(fileName: "data.sqlite")) { (result) in
      +    switch result {
      +    case .success(let migrationSteps):
      +        // ...
      +    case .failure(let error):
      +        // ...
      +    }
      +}
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public typealias MigrationResult = Swift.Result<[MigrationType], CoreStoreError>
      + +
      +
      +
      +
      +
    • +
    +
    +
    + +
      +
    • +
      + + + + SetupResult + +
      +
      +
      +
      +
      +
      +

      The SetupResult indicates the result of an asynchronous initialization of a persistent store. +SetupResult.success indicates that the storage setup succeeded. The associated object for this enum value is the related StorageInterface instance. +SetupResult.failure indicates that the storage setup failed. The associated object for this value is the related CoreStoreError enum value.

      +
      try! CoreStore.addStorage(
      +    SQLiteStore(),
      +    completion: { (result: SetupResult) -> Void in
      +        switch result {
      +        case .success(let storage):
      +            // storage is the related StorageInterface instance
      +        case .failure(let error):
      +            // error is the CoreStoreError enum value for the failure
      +        }
      +    }
      +)
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public typealias SetupResult<StorageInterfaceType> = Swift.Result<StorageInterfaceType, CoreStoreError> where StorageInterfaceType : StorageInterface
      + +
      +
      +
      +
      +
    • +
    +
    diff --git a/docs/badge.svg b/docs/badge.svg index da0aa979..afb57966 100644 --- a/docs/badge.svg +++ b/docs/badge.svg @@ -8,7 +8,7 @@ - + @@ -19,10 +19,10 @@ documentation - 88% + 90% - 88% + 90% diff --git a/docs/css/jazzy.css b/docs/css/jazzy.css index c83db5bf..24cfe4ae 100644 --- a/docs/css/jazzy.css +++ b/docs/css/jazzy.css @@ -63,6 +63,10 @@ a { a:hover, a:focus { outline: 0; text-decoration: underline; } + a.discouraged { + text-decoration: line-through; } + a.discouraged:hover, a.discouraged:focus { + text-decoration: underline line-through; } table { background: #fff; @@ -225,7 +229,7 @@ pre code { .item a[name]:before { content: ""; display: block; } - .item .token { + .item .token, .item .direct-link { padding-left: 3px; margin-left: 0px; font-size: 1rem; } @@ -287,9 +291,9 @@ pre code { .language .aside-title { color: #4183c4; } -.aside-warning { +.aside-warning, .aside-deprecated, .aside-unavailable { border-left: 5px solid #ff6666; } - .aside-warning .aside-title { + .aside-warning .aside-title, .aside-deprecated .aside-title, .aside-unavailable .aside-title { color: #ff0000; } .graybox { diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes.html index a817650a..c1c42226 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -786,7 +912,7 @@

    AsynchronousDataTransaction

    -

    The AsynchronousDataTransaction provides an interface for DynamicObject creates, updates, and deletes. A transaction object should typically be only used from within a transaction block initiated from DataStack.perform(asynchronous:...), or from CoreStore.perform(synchronous:...).

    +

    The AsynchronousDataTransaction provides an interface for DynamicObject creates, updates, and deletes. A transaction object should typically be only used from within a transaction block initiated from DataStack.perform(asynchronous:...), or from CoreStore.perform(synchronous:...).

    See more
    @@ -1393,10 +1519,10 @@

    CSMigrationResult

    -

    The CSMigrationResult serves as the Objective-C bridging type for MigrationResult.

    +

    The CSMigrationResult serves as the Objective-C bridging type for MigrationResult.

    @@ -1799,10 +1925,10 @@

    CSSetupResult

    -

    The CSSetupResult serves as the Objective-C bridging type for SetupResult.

    +

    The CSSetupResult serves as the Objective-C bridging type for SetupResult.

    See also

    - SetupResult + SetupResult
    @@ -2473,46 +2599,6 @@

    Declaration

    -
    - -
      -
    • -
      - - - - ICloudStore - -
      -
      -
      -
      -
      -
      -

      A storage interface backed by an SQLite database managed by iCloud.

      - - See more -
      -
      -

      Declaration

      -
      -

      Swift

      -
      @available(*, deprecated, message: "Please see the release notes and Core Data documentation.")
      -public final class ICloudStore : CloudStorage
      - -
      -
      -
      -
      -
    • -
    -
    @@ -3008,6 +3094,11 @@

    InferredSchemaMappingProvider

    A SchemaMappingProvider that tries to infer model migration between two DynamicSchema versions by searching all xcmappingmodels from Bundle.allBundles or by relying on lightweight migration if possible. Throws an error if lightweight migration is impossible for the two DynamicSchema. This mapping is automatically used as a fallback mapping provider, even if no mapping providers are explicitly declared in the StorageInterface.

    +
    +

    Note

    + For security reasons, InferredSchemaMappingProvider will not search Bundle.allFrameworks by default. If the xcmappingmodels are bundled within a framework, use XcodeSchemaMappingProvider instead and provide Bundle(for: <a class in the framework> to its initializer. + +
    See more
    @@ -3118,8 +3209,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/AsynchronousDataTransaction.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/AsynchronousDataTransaction.html index cef69eeb..f4fefa22 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/AsynchronousDataTransaction.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/AsynchronousDataTransaction.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -763,7 +889,7 @@

    AsynchronousDataTransaction

    -

    The AsynchronousDataTransaction provides an interface for DynamicObject creates, updates, and deletes. A transaction object should typically be only used from within a transaction block initiated from DataStack.perform(asynchronous:...), or from CoreStore.perform(synchronous:...).

    +

    The AsynchronousDataTransaction provides an interface for DynamicObject creates, updates, and deletes. A transaction object should typically be only used from within a transaction block initiated from DataStack.perform(asynchronous:...), or from CoreStore.perform(synchronous:...).

    @@ -820,9 +946,9 @@

    Result

  • - - - Result + + + Result
    @@ -830,15 +956,16 @@

    Result

    -

    The Result contains the success or failure information for a completed transaction

    +

    The Result contains the success or failure information for a completed transaction. +Result<T>.success indicates that the transaction succeeded, either because the save succeeded or because there were no changes to save. The associated userInfo is the value returned from the transaction closure. +Result<T>.failure indicates that the transaction either failed or was cancelled. The associated object for this value is a CoreStoreError enum value.

    - See more

    Declaration

    Swift

    -
    public enum Result<T>
    +
    public typealias Result<UserInfoType> = Swift.Result<UserInfoType, CoreStoreError>
    @@ -1262,8 +1389,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/BaseDataTransaction.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/BaseDataTransaction.html index 6ee9b4fc..10644a05 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/BaseDataTransaction.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/BaseDataTransaction.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

  • - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1221,9 +1347,9 @@

    Return Value

  • @@ -1252,9 +1378,9 @@

    Return Value

  • @@ -1352,9 +1478,9 @@

    Return Value

  • @@ -1383,9 +1509,9 @@

    Return Value

  • @@ -1483,9 +1609,9 @@

    Return Value

  • @@ -1533,9 +1659,9 @@

    Return Value

  • @@ -2013,9 +2139,9 @@

    DataTransaction

  • @@ -2031,7 +2157,7 @@

    Declaration

    Swift

    @discardableResult
    -public func deleteAll<D>(_ from: From<D>, _ deleteClauses: DeleteClause...) -> Int? where D : DynamicObject
    +public func deleteAll<D>(_ from: From<D>, _ deleteClauses: DeleteClause...) throws -> Int where D : DynamicObject
    @@ -2076,9 +2202,9 @@

    Return Value

  • @@ -2094,7 +2220,7 @@

    Declaration

    Swift

    @discardableResult
    -public func deleteAll<D>(_ from: From<D>, _ deleteClauses: [DeleteClause]) -> Int? where D : DynamicObject
    +public func deleteAll<D>(_ from: From<D>, _ deleteClauses: [DeleteClause]) throws -> Int where D : DynamicObject
    @@ -2139,9 +2265,9 @@

    Return Value

  • @@ -2159,7 +2285,7 @@

    Declaration

    Swift

    @discardableResult
    -public func deleteAll<B>(_ clauseChain: B) -> Int? where B : FetchChainableBuilderType
    +public func deleteAll<B>(_ clauseChain: B) throws -> Int where B : FetchChainableBuilderType
    @@ -2403,9 +2529,9 @@

    Return Value

  • @@ -2414,13 +2540,18 @@

    Return Value

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> D? where D : DynamicObject
    +
    public func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> D? where D : DynamicObject
    @@ -2457,7 +2588,7 @@

    Parameters

    Return Value

    -

    the first DynamicObject instance that satisfies the specified FetchClauses

    +

    the first DynamicObject instance that satisfies the specified FetchClauses, or nil if no match was found

  • @@ -2465,9 +2596,9 @@

    Return Value

  • @@ -2476,13 +2607,18 @@

    Return Value

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> D? where D : DynamicObject
    +
    public func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> D? where D : DynamicObject
    @@ -2519,7 +2655,7 @@

    Parameters

    Return Value

    -

    the first DynamicObject instance that satisfies the specified FetchClauses

    +

    the first DynamicObject instance that satisfies the specified FetchClauses, or nil if no match was found

    @@ -2527,9 +2663,9 @@

    Return Value

  • @@ -2544,13 +2680,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchOne<B>(_ clauseChain: B) -> B.ObjectType? where B : FetchChainableBuilderType
    +
    public func fetchOne<B>(_ clauseChain: B) throws -> B.ObjectType? where B : FetchChainableBuilderType
    @@ -2575,7 +2716,7 @@

    Parameters

    Return Value

    -

    the first DynamicObject instance that satisfies the specified FetchChainableBuilderType

    +

    the first DynamicObject instance that satisfies the specified FetchChainableBuilderType, or nil if no match was found

    @@ -2583,9 +2724,9 @@

    Return Value

  • @@ -2594,13 +2735,18 @@

    Return Value

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [D]? where D : DynamicObject
    +
    public func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [D] where D : DynamicObject
    @@ -2637,7 +2783,7 @@

    Parameters

    Return Value

    -

    all DynamicObject instances that satisfy the specified FetchClauses

    +

    all DynamicObject instances that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -2645,9 +2791,9 @@

    Return Value

  • @@ -2656,13 +2802,18 @@

    Return Value

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [D]? where D : DynamicObject
    +
    public func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [D] where D : DynamicObject
    @@ -2699,7 +2850,7 @@

    Parameters

    Return Value

    -

    all DynamicObject instances that satisfy the specified FetchClauses

    +

    all DynamicObject instances that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -2707,9 +2858,9 @@

    Return Value

  • @@ -2724,13 +2875,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchAll<B>(_ clauseChain: B) -> [B.ObjectType]? where B : FetchChainableBuilderType
    +
    public func fetchAll<B>(_ clauseChain: B) throws -> [B.ObjectType] where B : FetchChainableBuilderType
    @@ -2755,7 +2911,7 @@

    Parameters

    Return Value

    -

    all DynamicObject instances that satisfy the specified FetchChainableBuilderType

    +

    all DynamicObject instances that satisfy the specified FetchChainableBuilderType, or an empty array if no match was found

    @@ -2763,9 +2919,9 @@

    Return Value

  • @@ -2774,13 +2930,18 @@

    Return Value

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> Int? where D : DynamicObject
    +
    public func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> Int where D : DynamicObject
    @@ -2817,7 +2978,7 @@

    Parameters

    Return Value

    -

    the number DynamicObjects that satisfy the specified FetchClauses

    +

    the number of DynamicObjects that satisfy the specified FetchClauses

    @@ -2825,9 +2986,9 @@

    Return Value

  • @@ -2836,13 +2997,18 @@

    Return Value

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> Int? where D : DynamicObject
    +
    public func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> Int where D : DynamicObject
    @@ -2879,7 +3045,7 @@

    Parameters

    Return Value

    -

    the number DynamicObjects that satisfy the specified FetchClauses

    +

    the number of DynamicObjects that satisfy the specified FetchClauses

    @@ -2887,9 +3053,9 @@

    Return Value

  • @@ -2904,13 +3070,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchCount<B>(_ clauseChain: B) -> Int? where B : FetchChainableBuilderType
    +
    public func fetchCount<B>(_ clauseChain: B) throws -> Int where B : FetchChainableBuilderType
    @@ -2935,7 +3106,7 @@

    Parameters

    Return Value

    -

    the number DynamicObjects that satisfy the specified FetchChainableBuilderType

    +

    the number of DynamicObjects that satisfy the specified FetchChainableBuilderType

    @@ -2943,9 +3114,9 @@

    Return Value

  • @@ -2954,13 +3125,18 @@

    Return Value

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> NSManagedObjectID? where D : DynamicObject
    +
    public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> NSManagedObjectID? where D : DynamicObject
    @@ -2997,7 +3173,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses

    +

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses, or nil if no match was found

    @@ -3005,9 +3181,9 @@

    Return Value

  • @@ -3016,13 +3192,18 @@

    Return Value

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> NSManagedObjectID? where D : DynamicObject
    +
    public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> NSManagedObjectID? where D : DynamicObject
    @@ -3059,7 +3240,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses

    +

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses, or nil if no match was found

    @@ -3067,9 +3248,9 @@

    Return Value

  • @@ -3084,13 +3265,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchObjectID<B>(_ clauseChain: B) -> NSManagedObjectID? where B : FetchChainableBuilderType
    +
    public func fetchObjectID<B>(_ clauseChain: B) throws -> NSManagedObjectID? where B : FetchChainableBuilderType
    @@ -3115,7 +3301,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType

    +

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType, or nil if no match was found

    @@ -3123,9 +3309,9 @@

    Return Value

  • @@ -3134,13 +3320,18 @@

    Return Value

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [NSManagedObjectID]? where D : DynamicObject
    +
    public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [NSManagedObjectID] where D : DynamicObject
    @@ -3177,7 +3368,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses

    +

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -3185,9 +3376,9 @@

    Return Value

  • @@ -3196,13 +3387,18 @@

    Return Value

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [NSManagedObjectID]? where D : DynamicObject
    +
    public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [NSManagedObjectID] where D : DynamicObject
    @@ -3239,7 +3435,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses

    +

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -3247,9 +3443,9 @@

    Return Value

  • @@ -3264,13 +3460,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchObjectIDs<B>(_ clauseChain: B) -> [NSManagedObjectID]? where B : FetchChainableBuilderType
    +
    public func fetchObjectIDs<B>(_ clauseChain: B) throws -> [NSManagedObjectID] where B : FetchChainableBuilderType
    @@ -3295,7 +3496,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType

    +

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType, or an empty array if no match was found

    @@ -3314,9 +3515,9 @@

    QueryableSource

  • @@ -3327,13 +3528,18 @@

    QueryableSource

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) -> U? where D : DynamicObject, U : QueryableAttributeType
    +
    public func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) throws -> U? where D : DynamicObject, U : QueryableAttributeType
    @@ -3382,7 +3588,7 @@

    Parameters

    Return Value

    -

    the result of the the query. The type of the return value is specified by the generic type of the Select<U> parameter.

    +

    the result of the the query, or nil if no match was found. The type of the return value is specified by the generic type of the Select<U> parameter.

    @@ -3390,9 +3596,9 @@

    Return Value

  • @@ -3403,13 +3609,18 @@

    Return Value

    Queries aggregate values or aggregates as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) -> U? where D : DynamicObject, U : QueryableAttributeType
    +
    public func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) throws -> U? where D : DynamicObject, U : QueryableAttributeType
    @@ -3458,7 +3669,7 @@

    Parameters

    Return Value

    -

    the result of the the query. The type of the return value is specified by the generic type of the Select<U> parameter.

    +

    the result of the the query, or nil if no match was found. The type of the return value is specified by the generic type of the Select<U> parameter.

    @@ -3466,9 +3677,9 @@

    Return Value

  • @@ -3485,13 +3696,18 @@

    Return Value

    .where(\.age > 18) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func queryValue<B>(_ clauseChain: B) -> B.ResultType? where B : QueryChainableBuilderType, B.ResultType : QueryableAttributeType
    +
    public func queryValue<B>(_ clauseChain: B) throws -> B.ResultType? where B : QueryChainableBuilderType, B.ResultType : QueryableAttributeType
    @@ -3516,7 +3732,7 @@

    Parameters

    Return Value

    -

    the result of the the query as specified by the QueryChainableBuilderType

    +

    the result of the the query as specified by the QueryChainableBuilderType, or nil if no match was found.

    @@ -3524,9 +3740,9 @@

    Return Value

  • @@ -3537,13 +3753,18 @@

    Return Value

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) -> [[String : Any]]? where D : DynamicObject
    +
    public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) throws -> [[String : Any]] where D : DynamicObject
    @@ -3600,9 +3821,9 @@

    Return Value

  • @@ -3613,13 +3834,18 @@

    Return Value

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) -> [[String : Any]]? where D : DynamicObject
    +
    public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) throws -> [[String : Any]] where D : DynamicObject
    @@ -3676,9 +3902,9 @@

    Return Value

  • @@ -3704,13 +3930,18 @@

    Return Value

    print("There are \(count) people who are \(age) years old." } +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func queryAttributes<B>(_ clauseChain: B) -> [[String : Any]]? where B : QueryChainableBuilderType, B.ResultType == NSDictionary
    +
    public func queryAttributes<B>(_ clauseChain: B) throws -> [[String : Any]] where B : QueryChainableBuilderType, B.ResultType == NSDictionary
    @@ -3786,8 +4017,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSAsynchronousDataTransaction.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSAsynchronousDataTransaction.html index 871b5253..ec75857b 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSAsynchronousDataTransaction.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSAsynchronousDataTransaction.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

  • - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1204,8 +1330,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSBaseDataTransaction.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSBaseDataTransaction.html index 7bec7291..b50ef862 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSBaseDataTransaction.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSBaseDataTransaction.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -2142,8 +2268,8 @@

    Return Value

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSCoreStore.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSCoreStore.html index 89fd7391..842542b6 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSCoreStore.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSCoreStore.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -2602,7 +2728,7 @@

    Parameters

    Return Value

    -

    a CSSaveResult value indicating success or failure, or nil if the transaction was not comitted synchronously

    +

    YES if the commit succeeded, NO if the commit failed. If NO, the error argument will hold error information.

    @@ -2713,8 +2839,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSDataStack.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSDataStack.html index 4e4a80f6..47719197 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSDataStack.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSDataStack.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -855,7 +981,7 @@

    Parameters

    -

    an optional bundle to load models from. If not specified, the main bundle will be used.

    +

    an optional bundle to load .xcdatamodeld models from. If not specified, the main bundle will be used.

    @@ -2839,8 +2965,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSError.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSError.html index ff64ae01..46ed006d 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSError.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSError.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -883,8 +1009,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSFrom.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSFrom.html index 513906fe..7f8021e1 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSFrom.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSFrom.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1017,8 +1143,8 @@

    Parameters

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSGroupBy.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSGroupBy.html index c8cb9591..b2edfecb 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSGroupBy.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSGroupBy.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -908,8 +1034,8 @@

    Parameters

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSInMemoryStore.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSInMemoryStore.html index 9e5ca97f..bdf8dc52 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSInMemoryStore.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSInMemoryStore.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1019,8 +1145,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSInto.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSInto.html index bc66942e..e02e0e2c 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSInto.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSInto.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -955,8 +1081,8 @@

    Parameters

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSListMonitor.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSListMonitor.html index d53712df..43c7cc52 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSListMonitor.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSListMonitor.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -2103,6 +2229,11 @@

    Declaration

    Asks the CSListMonitor to refetch its objects using the specified series of CSFetchClauses. Note that this method does not execute the fetch immediately; the actual fetching will happen after the NSFetchedResultsController‘s last controllerDidChangeContent(_:) notification completes.

    refetch(...) broadcasts listMonitorWillRefetch(...) to its observers immediately, and then listMonitorDidRefetch(...) after the new fetch request completes.

    +
    +

    Important

    + Starting CoreStore 4.0, all CSFetchClauses required by the CSListMonitor should be provided in the arguments list of refetch(...). + +
    @@ -2126,7 +2257,7 @@

    Parameters

    -

    a series of FetchClause instances for fetching the object list. Accepts Where, OrderBy, and Tweak clauses. Note that only specified clauses will be changed; unspecified clauses will use previous values.

    +

    a series of FetchClause instances for fetching the object list. Accepts Where, OrderBy, and Tweak clauses.

    @@ -2144,8 +2275,8 @@

    Parameters

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSMigrationResult.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSMigrationResult.html index 9039352f..bf40a274 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSMigrationResult.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSMigrationResult.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -764,10 +890,10 @@

    CSMigrationResult

    -

    The CSMigrationResult serves as the Objective-C bridging type for MigrationResult.

    +

    The CSMigrationResult serves as the Objective-C bridging type for MigrationResult.

    @@ -1079,7 +1205,7 @@

    CoreStoreObjectiveCType

    Declaration

    Swift

    -
    public let bridgeToSwift: MigrationResult
    +
    public let bridgeToSwift: MigrationResult
    @@ -1105,7 +1231,7 @@

    Declaration

    Declaration

    Swift

    -
    public required init(_ swiftValue: MigrationResult)
    +
    public required init(_ swiftValue: MigrationResult)
    @@ -1120,8 +1246,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSMigrationType.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSMigrationType.html index 681b658f..a08aba97 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSMigrationType.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSMigrationType.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -989,8 +1115,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSObjectMonitor.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSObjectMonitor.html index e6c502b9..9fd7a08a 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSObjectMonitor.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSObjectMonitor.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -941,8 +1067,8 @@

    Parameters

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSOrderBy.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSOrderBy.html index 2cff8015..740c498c 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSOrderBy.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSOrderBy.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -916,8 +1042,8 @@

    Parameters

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSSQLiteStore.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSSQLiteStore.html index 84372599..a7ca914a 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSSQLiteStore.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSSQLiteStore.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1242,8 +1368,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSSectionBy.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSSectionBy.html index 06c207f8..6202f4ab 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSSectionBy.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSSectionBy.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -901,8 +1027,8 @@

    Return Value

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSSelect.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSSelect.html index 5b6b08b6..cb80f6bd 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSSelect.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSSelect.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1192,8 +1318,8 @@

    Return Value

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSSelectTerm.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSSelectTerm.html index 456f6cbd..2d7209e1 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSSelectTerm.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSSelectTerm.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1217,8 +1343,8 @@

    Return Value

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSSetupResult.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSSetupResult.html index 15d7e8f2..402e979a 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSSetupResult.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSSetupResult.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -764,10 +890,10 @@

    CSSetupResult

    -

    The CSSetupResult serves as the Objective-C bridging type for SetupResult.

    +

    The CSSetupResult serves as the Objective-C bridging type for SetupResult.

    See also

    - SetupResult + SetupResult
    @@ -1057,8 +1183,8 @@

    Parameters

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSSynchronousDataTransaction.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSSynchronousDataTransaction.html index bea2862f..6c41ef65 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSSynchronousDataTransaction.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSSynchronousDataTransaction.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1195,8 +1321,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSTweak.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSTweak.html index 45fa3c6b..375176fc 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSTweak.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSTweak.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -929,8 +1055,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSUnsafeDataModelSchema.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSUnsafeDataModelSchema.html index eca085eb..ed9be7f0 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSUnsafeDataModelSchema.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSUnsafeDataModelSchema.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -973,8 +1099,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSUnsafeDataTransaction.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSUnsafeDataTransaction.html index f23d3b97..73fdf6ba 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSUnsafeDataTransaction.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSUnsafeDataTransaction.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1259,8 +1385,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSWhere.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSWhere.html index cf80c421..ae0db52c 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSWhere.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSWhere.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1094,8 +1220,8 @@

    Parameters

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSXcodeDataModelSchema.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSXcodeDataModelSchema.html index 25865e66..7f2ae3d9 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSXcodeDataModelSchema.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CSXcodeDataModelSchema.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -973,8 +1099,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CoreStoreObject.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CoreStoreObject.html index 70b214e7..2c63453a 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CoreStoreObject.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CoreStoreObject.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1275,8 +1401,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CoreStoreObjectObjectDiff.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CoreStoreObjectObjectDiff.html index 31053d95..0d3572af 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CoreStoreObjectObjectDiff.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CoreStoreObjectObjectDiff.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -888,8 +1014,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CoreStoreObjectOrderedDiff.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CoreStoreObjectOrderedDiff.html index 1fedec2b..e7e5e44e 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CoreStoreObjectOrderedDiff.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CoreStoreObjectOrderedDiff.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -915,8 +1041,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CoreStoreObjectTransformableDiff.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CoreStoreObjectTransformableDiff.html index 7a79fa2b..7d795cd6 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CoreStoreObjectTransformableDiff.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CoreStoreObjectTransformableDiff.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -888,8 +1014,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CoreStoreObjectUnorderedDiff.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CoreStoreObjectUnorderedDiff.html index 0f537b9f..659bf875 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CoreStoreObjectUnorderedDiff.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CoreStoreObjectUnorderedDiff.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -888,8 +1014,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CoreStoreObjectValueDiff.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CoreStoreObjectValueDiff.html index 1a0a0b72..9d2f4753 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CoreStoreObjectValueDiff.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CoreStoreObjectValueDiff.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -888,8 +1014,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CoreStoreSchema.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CoreStoreSchema.html index a16f7d08..c0878170 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CoreStoreSchema.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CoreStoreSchema.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -945,7 +1071,7 @@

    Parameters

    Declaration

    Swift

    -
    public required init(modelVersion: ModelVersion, entityConfigurations: [DynamicEntity: Set<String>], versionLock: VersionLock? = nil)
    +
    public required init(modelVersion: ModelVersion, entityConfigurations: [DynamicEntity : Set<String>], versionLock: VersionLock? = nil)
    @@ -1103,8 +1229,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CustomSchemaMappingProvider.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CustomSchemaMappingProvider.html index d88208bd..e49b15d4 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CustomSchemaMappingProvider.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CustomSchemaMappingProvider.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1132,8 +1258,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CustomSchemaMappingProvider/CustomMapping.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CustomSchemaMappingProvider/CustomMapping.html index 324b775a..019e2bf2 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CustomSchemaMappingProvider/CustomMapping.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CustomSchemaMappingProvider/CustomMapping.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1047,8 +1173,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html index 2799dbfb..c21cac9c 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -861,8 +987,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html index 3a1c2187..2c47adfa 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -861,8 +987,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/DataStack.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/DataStack.html index abccbb9c..fe4a067c 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/DataStack.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/DataStack.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -847,7 +973,7 @@

    Parameters

    -

    an optional bundle to load models from. If not specified, the main bundle will be used.

    +

    an optional bundle to load .xcdatamodeld models from. If not specified, the main bundle will be used.

    @@ -1597,9 +1723,9 @@

    DataStack

  • @@ -1624,7 +1750,7 @@

    DataStack

    Declaration

    Swift

    -
    public func addStorage<T>(_ storage: T, completion: @escaping (SetupResult<T>) -> Void)
    +
    public func addStorage<T>(_ storage: T, completion: @escaping (SetupResult<T>) -> Void)
    @@ -1652,7 +1778,7 @@

    Parameters

    -

    the closure to be executed on the main queue when the process completes, either due to success or failure. The closure’s SetupResult argument indicates the result. Note that the StorageInterface associated to the SetupResult.success may not always be the same instance as the parameter argument if a previous StorageInterface was already added at the same URL and with the same configuration.

    +

    the closure to be executed on the main queue when the process completes, either due to success or failure. The closure’s SetupResult argument indicates the result. Note that the StorageInterface associated to the SetupResult.success may not always be the same instance as the parameter argument if a previous StorageInterface was already added at the same URL and with the same configuration.

    @@ -1665,9 +1791,9 @@

    Parameters

  • @@ -1692,7 +1818,7 @@

    Parameters

    Declaration

    Swift

    -
    public func addStorage<T: LocalStorage>(_ storage: T, completion: @escaping (SetupResult<T>) -> Void) -> Progress?
    +
    public func addStorage<T: LocalStorage>(_ storage: T, completion: @escaping (SetupResult<T>) -> Void) -> Progress?
    @@ -1720,7 +1846,7 @@

    Parameters

    -

    the closure to be executed on the main queue when the process completes, either due to success or failure. The closure’s SetupResult argument indicates the result. Note that the LocalStorage associated to the SetupResult.success may not always be the same instance as the parameter argument if a previous LocalStorage was already added at the same URL and with the same configuration.

    +

    the closure to be executed on the main queue when the process completes, either due to success or failure. The closure’s SetupResult argument indicates the result. Note that the LocalStorage associated to the SetupResult.success may not always be the same instance as the parameter argument if a previous LocalStorage was already added at the same URL and with the same configuration.

    @@ -1737,9 +1863,9 @@

    Return Value

  • @@ -1775,7 +1901,7 @@

    Return Value

    Declaration

    Swift

    -
    public func addStorage<T: CloudStorage>(_ storage: T, completion: @escaping (SetupResult<T>) -> Void)
    +
    public func addStorage<T: CloudStorage>(_ storage: T, completion: @escaping (SetupResult<T>) -> Void)
    @@ -1803,7 +1929,7 @@

    Parameters

    -

    the closure to be executed on the main queue when the process completes, either due to success or failure. The closure’s SetupResult argument indicates the result. Note that the CloudStorage associated to the SetupResult.success may not always be the same instance as the parameter argument if a previous CloudStorage was already added at the same URL and with the same configuration.

    +

    the closure to be executed on the main queue when the process completes, either due to success or failure. The closure’s SetupResult argument indicates the result. Note that the CloudStorage associated to the SetupResult.success may not always be the same instance as the parameter argument if a previous CloudStorage was already added at the same URL and with the same configuration.

    @@ -1816,9 +1942,9 @@

    Parameters

  • @@ -1838,7 +1964,7 @@

    Parameters

    Declaration

    Swift

    -
    public func upgradeStorageIfNeeded<T: LocalStorage>(_ storage: T, completion: @escaping (MigrationResult) -> Void) throws -> Progress?
    +
    public func upgradeStorageIfNeeded<T: LocalStorage>(_ storage: T, completion: @escaping (MigrationResult) -> Void) throws -> Progress?
    @@ -1866,7 +1992,7 @@

    Parameters

    -

    the closure to be executed on the main queue when the migration completes, either due to success or failure. The closure’s MigrationResult argument indicates the result.

    +

    the closure to be executed on the main queue when the migration completes, either due to success or failure. The closure’s MigrationResult argument indicates the result.

    @@ -2331,7 +2457,7 @@

    Parameters

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    dataStack.monitorList(
    -    { (monitor) in
    +    createAsynchronously: { (monitor) in
             self.monitor = monitor
         },
         From<MyPersonEntity>()
    @@ -2380,10 +2506,6 @@ 

    Parameters

    -
    -

    Return Value

    -

    a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType

    -
  • @@ -2771,7 +2893,7 @@

    Parameters

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified SectionMonitorBuilderType built from a chain of clauses.

    dataStack.monitorSectionedList(
    -    { (monitor) in
    +    createAsynchronously: { (monitor) in
             self.monitor = monitor
         },
         From<MyPersonEntity>()
    @@ -2794,6 +2916,18 @@ 

    Declaration

    Parameters

    + + + +
    + + createAsynchronously + + +
    +

    the closure that receives the created ListMonitor instance

    +
    +
    @@ -2809,10 +2943,6 @@

    Parameters

    -
    -

    Return Value

    -

    a ListMonitor for a list of DynamicObjects that satisfy the specified SectionMonitorBuilderType

    -
    @@ -3030,9 +3160,9 @@

    Return Value

  • @@ -3041,13 +3171,18 @@

    Return Value

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> D? where D : DynamicObject
    +
    public func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> D? where D : DynamicObject
    @@ -3084,7 +3219,7 @@

    Parameters

    Return Value

    -

    the first DynamicObject instance that satisfies the specified FetchClauses

    +

    the first DynamicObject instance that satisfies the specified FetchClauses, or nil if no match was found

    @@ -3092,9 +3227,9 @@

    Return Value

  • @@ -3103,13 +3238,18 @@

    Return Value

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> D? where D : DynamicObject
    +
    public func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> D? where D : DynamicObject
    @@ -3146,7 +3286,7 @@

    Parameters

    Return Value

    -

    the first DynamicObject instance that satisfies the specified FetchClauses

    +

    the first DynamicObject instance that satisfies the specified FetchClauses, or nil if no match was found

    @@ -3154,9 +3294,9 @@

    Return Value

  • @@ -3171,13 +3311,18 @@

    Return Value

    .orderBy(.ascending(\.age)) )
    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchOne<B>(_ clauseChain: B) -> B.ObjectType? where B : FetchChainableBuilderType
    +
    public func fetchOne<B>(_ clauseChain: B) throws -> B.ObjectType? where B : FetchChainableBuilderType
    @@ -3202,7 +3347,7 @@

    Parameters

    Return Value

    -

    the first DynamicObject instance that satisfies the specified FetchChainableBuilderType

    +

    the first DynamicObject instance that satisfies the specified FetchChainableBuilderType, or nil if no match was found

    @@ -3210,9 +3355,9 @@

    Return Value

  • @@ -3221,13 +3366,18 @@

    Return Value

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [D]? where D : DynamicObject
    +
    public func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [D] where D : DynamicObject
    @@ -3264,7 +3414,7 @@

    Parameters

    Return Value

    -

    all DynamicObject instances that satisfy the specified FetchClauses

    +

    all DynamicObject instances that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -3272,9 +3422,9 @@

    Return Value

  • @@ -3283,13 +3433,18 @@

    Return Value

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [D]? where D : DynamicObject
    +
    public func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [D] where D : DynamicObject
    @@ -3326,7 +3481,7 @@

    Parameters

    Return Value

    -

    all DynamicObject instances that satisfy the specified FetchClauses

    +

    all DynamicObject instances that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -3334,9 +3489,9 @@

    Return Value

  • @@ -3351,13 +3506,18 @@

    Return Value

    .orderBy(.ascending(\.age)) )
    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchAll<B>(_ clauseChain: B) -> [B.ObjectType]? where B : FetchChainableBuilderType
    +
    public func fetchAll<B>(_ clauseChain: B) throws -> [B.ObjectType] where B : FetchChainableBuilderType
    @@ -3382,7 +3542,7 @@

    Parameters

    Return Value

    -

    all DynamicObject instances that satisfy the specified FetchChainableBuilderType

    +

    all DynamicObject instances that satisfy the specified FetchChainableBuilderType, or an empty array if no match was found

    @@ -3390,9 +3550,9 @@

    Return Value

  • @@ -3401,13 +3561,18 @@

    Return Value

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> Int? where D : DynamicObject
    +
    public func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> Int where D : DynamicObject
    @@ -3444,7 +3609,7 @@

    Parameters

    Return Value

    -

    the number DynamicObjects that satisfy the specified FetchClauses

    +

    the number of DynamicObjects that satisfy the specified FetchClauses

    @@ -3452,9 +3617,9 @@

    Return Value

  • @@ -3463,13 +3628,18 @@

    Return Value

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> Int? where D : DynamicObject
    +
    public func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> Int where D : DynamicObject
    @@ -3506,7 +3676,7 @@

    Parameters

    Return Value

    -

    the number DynamicObjects that satisfy the specified FetchClauses

    +

    the number of DynamicObjects that satisfy the specified FetchClauses

    @@ -3514,9 +3684,9 @@

    Return Value

  • @@ -3531,13 +3701,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchCount<B>(_ clauseChain: B) -> Int? where B : FetchChainableBuilderType
    +
    public func fetchCount<B>(_ clauseChain: B) throws -> Int where B : FetchChainableBuilderType
    @@ -3562,7 +3737,7 @@

    Parameters

    Return Value

    -

    the number DynamicObjects that satisfy the specified FetchChainableBuilderType

    +

    the number of DynamicObjects that satisfy the specified FetchChainableBuilderType

    @@ -3570,9 +3745,9 @@

    Return Value

  • @@ -3581,13 +3756,18 @@

    Return Value

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> NSManagedObjectID? where D : DynamicObject
    +
    public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> NSManagedObjectID? where D : DynamicObject
    @@ -3624,7 +3804,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses

    +

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses, or nil if no match was found

    @@ -3632,9 +3812,9 @@

    Return Value

  • @@ -3643,13 +3823,18 @@

    Return Value

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> NSManagedObjectID? where D : DynamicObject
    +
    public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> NSManagedObjectID? where D : DynamicObject
    @@ -3686,7 +3871,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses

    +

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses, or nil if no match was found

    @@ -3694,9 +3879,9 @@

    Return Value

  • @@ -3711,13 +3896,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchObjectID<B>(_ clauseChain: B) -> NSManagedObjectID? where B : FetchChainableBuilderType
    +
    public func fetchObjectID<B>(_ clauseChain: B) throws -> NSManagedObjectID? where B : FetchChainableBuilderType
    @@ -3742,7 +3932,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType

    +

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType, or nil if no match was found

    @@ -3750,9 +3940,9 @@

    Return Value

  • @@ -3761,13 +3951,18 @@

    Return Value

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [NSManagedObjectID]? where D : DynamicObject
    +
    public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [NSManagedObjectID] where D : DynamicObject
    @@ -3804,7 +3999,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses

    +

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -3812,9 +4007,9 @@

    Return Value

  • @@ -3823,13 +4018,18 @@

    Return Value

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [NSManagedObjectID]? where D : DynamicObject
    +
    public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [NSManagedObjectID] where D : DynamicObject
    @@ -3866,7 +4066,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses

    +

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -3874,9 +4074,9 @@

    Return Value

  • @@ -3891,13 +4091,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func fetchObjectIDs<B>(_ clauseChain: B) -> [NSManagedObjectID]? where B : FetchChainableBuilderType
    +
    public func fetchObjectIDs<B>(_ clauseChain: B) throws -> [NSManagedObjectID] where B : FetchChainableBuilderType
    @@ -3922,7 +4127,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType

    +

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType, or an empty array if no match was found

    @@ -3941,9 +4146,9 @@

    QueryableSource

  • @@ -3954,13 +4159,18 @@

    QueryableSource

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) -> U? where D : DynamicObject, U : QueryableAttributeType
    +
    public func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) throws -> U? where D : DynamicObject, U : QueryableAttributeType
    @@ -4009,7 +4219,7 @@

    Parameters

    Return Value

    -

    the result of the the query. The type of the return value is specified by the generic type of the Select<U> parameter.

    +

    the result of the the query, or nil if no match was found. The type of the return value is specified by the generic type of the Select<U> parameter.

    @@ -4017,9 +4227,9 @@

    Return Value

  • @@ -4030,13 +4240,18 @@

    Return Value

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) -> U? where D : DynamicObject, U : QueryableAttributeType
    +
    public func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) throws -> U? where D : DynamicObject, U : QueryableAttributeType
    @@ -4085,7 +4300,7 @@

    Parameters

    Return Value

    -

    the result of the the query. The type of the return value is specified by the generic type of the Select<U> parameter.

    +

    the result of the the query, or nil if no match was found. The type of the return value is specified by the generic type of the Select<U> parameter.

    @@ -4093,9 +4308,9 @@

    Return Value

  • @@ -4112,13 +4327,18 @@

    Return Value

    .where(\.age > 18) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func queryValue<B>(_ clauseChain: B) -> B.ResultType? where B : QueryChainableBuilderType, B.ResultType : QueryableAttributeType
    +
    public func queryValue<B>(_ clauseChain: B) throws -> B.ResultType? where B : QueryChainableBuilderType, B.ResultType : QueryableAttributeType
    @@ -4143,7 +4363,7 @@

    Parameters

    Return Value

    -

    the result of the the query as specified by the QueryChainableBuilderType

    +

    the result of the the query as specified by the QueryChainableBuilderType, or nil if no match was found.

    @@ -4151,9 +4371,9 @@

    Return Value

  • @@ -4164,13 +4384,18 @@

    Return Value

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) -> [[String : Any]]? where D : DynamicObject
    +
    public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) throws -> [[String : Any]] where D : DynamicObject
    @@ -4227,9 +4452,9 @@

    Return Value

  • @@ -4240,13 +4465,18 @@

    Return Value

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) -> [[String : Any]]? where D : DynamicObject
    +
    public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) throws -> [[String : Any]] where D : DynamicObject
    @@ -4303,9 +4533,9 @@

    Return Value

  • @@ -4331,13 +4561,18 @@

    Return Value

    print("There are \(count) people who are \(age) years old." } +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public func queryAttributes<B>(_ clauseChain: B) -> [[String : Any]]? where B : QueryChainableBuilderType, B.ResultType == NSDictionary
    +
    public func queryAttributes<B>(_ clauseChain: B) throws -> [[String : Any]] where B : QueryChainableBuilderType, B.ResultType == NSDictionary
    @@ -4419,9 +4654,9 @@

    DataStack

  • @@ -4429,7 +4664,7 @@

    DataStack

    -

    Performs a transaction asynchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the wrapped as .success(userInfo: T) in the completion‘s Result<T>. Any errors thrown from inside the task will be reported as .failure(error: CoreStoreError). To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    +

    Performs a transaction asynchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the wrapped as .success(T) in the completion‘s Result<T>. Any errors thrown from inside the task will be reported as .failure(CoreStoreError). To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    @@ -4988,8 +5223,8 @@

    Return Value

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/DefaultLogger.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/DefaultLogger.html index ba709c23..2fd06def 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/DefaultLogger.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/DefaultLogger.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

  • - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1164,8 +1290,8 @@

    Parameters

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/DynamicEntity.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/DynamicEntity.html index 2f65abc0..cab4c337 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/DynamicEntity.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/DynamicEntity.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1016,8 +1142,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/Entity.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/Entity.html index f1a43883..add975d1 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/Entity.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/Entity.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -825,7 +951,8 @@

    Entity

    Declaration

    Swift

    -
    public convenience init(_ entityName: String, isAbstract: Bool = false, versionHashModifier: String? = nil, indexes: [[PartialKeyPath<O>]] = [], uniqueConstraints: [[PartialKeyPath<O>]] = [])
    +
    @available(OSX 10.11, *)
    +public convenience init(_ entityName: String, isAbstract: Bool = false, versionHashModifier: String? = nil, indexes: [[PartialKeyPath<O>]] = [], uniqueConstraints: [[PartialKeyPath<O>]])
    @@ -899,6 +1026,90 @@

    Parameters

    +
  • + +
    +
    +
    +
    +
    +

    Initializes an Entity. Always provide a concrete generic type to Entity.

    +
    Entity<Animal>("Animal")
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public convenience init(_ entityName: String, isAbstract: Bool = false, versionHashModifier: String? = nil, indexes: [[PartialKeyPath<O>]] = [])
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + + + + + +
    + + entityName + + +
    +

    the NSEntityDescription name to use for the entity

    +
    +
    + + isAbstract + + +
    +

    set to true if the entity is meant to be an abstract class and can only be initialized with subclass types.

    +
    +
    + + versionHashModifier + + +
    +

    the version hash modifier for the entity. Used to mark or denote an entity as being a different version than another even if all of the values which affect persistence are equal. (Such a difference is important in cases where, for example, the structure of an entity is unchanged but the format or content of data has changed.)

    +
    +
    + + indexes + + +
    +

    the compound indexes for the entity as an array of arrays. The arrays contained in the returned array contain KeyPaths to properties of the entity.

    +
    +
    +
    +
    +
    +
  • @@ -921,7 +1132,116 @@

    Parameters

    Declaration

    Swift

    -
    public init(_ type: O.Type, _ entityName: String, isAbstract: Bool = false, versionHashModifier: String? = nil, indexes: [[PartialKeyPath<O>]] = [], uniqueConstraints: [[PartialKeyPath<O>]] = [])
    +
    @available(OSX 10.11, *)
    +public init(_ type: O.Type, _ entityName: String, isAbstract: Bool = false, versionHashModifier: String? = nil, indexes: [[PartialKeyPath<O>]] = [], uniqueConstraints: [[PartialKeyPath<O>]])
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + type + + +
    +

    the DynamicObject type associated with the entity

    +
    +
    + + entityName + + +
    +

    the NSEntityDescription name to use for the entity

    +
    +
    + + isAbstract + + +
    +

    set to true if the entity is meant to be an abstract class and can only be initialized with subclass types.

    +
    +
    + + versionHashModifier + + +
    +

    the version hash modifier for the entity. Used to mark or denote an entity as being a different version than another even if all of the values which affect persistence are equal. (Such a difference is important in cases where, for example, the structure of an entity is unchanged but the format or content of data has changed.)

    +
    +
    + + indexes + + +
    +

    the compound indexes for the entity as an array of arrays. The arrays contained in the returned array contain KeyPath’s to properties of the entity.

    +
    +
    + + uniqueConstraints + + +
    +

    sets uniqueness constraints for the entity. A uniqueness constraint is a set of one or more KeyPaths whose value must be unique over the set of instances of that entity. This value forms part of the entity’s version hash. Uniqueness constraint violations can be computationally expensive to handle. It is highly suggested that there be only one uniqueness constraint per entity hierarchy. Uniqueness constraints must be defined at the highest level possible, and CoreStore will raise an assertion failure if unique constraints are added to a sub entity.

    +
    +
    +
    + + +
  • +
  • + +
    +
    +
    +
    +
    +

    Initializes an Entity.

    +
    Entity(Animal.self, "Animal")
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(_ type: O.Type, _ entityName: String, isAbstract: Bool = false, versionHashModifier: String? = nil, indexes: [[PartialKeyPath<O>]] = [])
    @@ -1052,8 +1372,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/ICloudStore.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/ICloudStore.html deleted file mode 100644 index 7a209a84..00000000 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/ICloudStore.html +++ /dev/null @@ -1,1309 +0,0 @@ - - - - ICloudStore Class Reference - - - - - - - - - - - - - - - - -
    -

    - - CoreStore Docs - - (88% documented) -

    - -

    -

    - -
    -

    - -

    - - - View on GitHub - -

    - -
    - - - -
    - -
    - -
    -
    -

    ICloudStore

    -
    -
    -
    @available(*, deprecated, message: "Please see the release notes and Core Data documentation.")
    -public final class ICloudStore : CloudStorage
    - -
    -
    -

    A storage interface backed by an SQLite database managed by iCloud.

    - -
    -
    - -
    -
    -
    -
      -
    • - -
      -
      -
      -
      -
      -

      Initializes an iCloud store interface from the given ubiquitous store information. Returns nil if the container could not be located or if iCloud storage is unavailable for the current user or device

      -
      guard let storage = ICloudStore(
      -    ubiquitousContentName: "MyAppCloudData",
      -    ubiquitousContentTransactionLogsSubdirectory: "logs/config1",
      -    ubiquitousContainerID: "iCloud.com.mycompany.myapp.containername",
      -    ubiquitousPeerToken: "9614d658014f4151a95d8048fb717cf0",
      -    configuration: "Config1",
      -    cloudStorageOptions: .recreateLocalStoreOnModelMismatch
      -) else {
      -    // iCloud is not available on the device
      -    return
      -}
      -CoreStore.addStorage(
      -    storage,
      -    completion: { result in
      -        // ...
      -    }
      -)
      -
      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public required init?(ubiquitousContentName: String, ubiquitousContentTransactionLogsSubdirectory: String, ubiquitousContainerID: String? = nil, ubiquitousPeerToken: String? = nil, configuration: ModelConfiguration = nil, cloudStorageOptions: CloudStorageOptions = nil)
      - -
      -
      -
      -

      Parameters

      - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - - ubiquitousContentName - - -
      -

      the name of the store in iCloud. This is required and should not be empty, and should not contain periods (.).

      -
      -
      - - ubiquitousContentTransactionLogsSubdirectory - - -
      -

      a required relative path for the transaction logs

      -
      -
      - - ubiquitousContainerID - - -
      -

      a container if your app has multiple ubiquity container identifiers in its entitlements

      -
      -
      - - ubiquitousPeerToken - - -
      -

      a per-application salt to allow multiple apps on the same device to share a Core Data store integrated with iCloud

      -
      -
      - - configuration - - -
      -

      an optional configuration name from the model file. If not specified, defaults to nil, the Default configuration. Note that if you have multiple configurations, you will need to specify a different ubiquitousContentName explicitly for each of them.

      -
      -
      - - cloudStorageOptions - - -
      -

      When the ICloudStore is passed to the DataStack‘s addStorage() methods, tells the DataStack how to setup the persistent store. Defaults to .None.

      -
      -
      -
      -
      -
      -
    • -
    • -
      - - - - addObserver(_:) - -
      -
      -
      -
      -
      -
      -

      Registers an ICloudStoreObserver to start receive notifications from the ubiquitous store

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public func addObserver<T>(_ observer: T) where T : ICloudStoreObserver
      - -
      -
      -
      -

      Parameters

      - - - - - - - -
      - - observer - - -
      -

      the observer to start sending ubiquitous notifications to

      -
      -
      -
      -
      -
      -
    • -
    • -
      - - - - removeObserver(_:) - -
      -
      -
      -
      -
      -
      -

      Unregisters an ICloudStoreObserver to stop receiving notifications from the ubiquitous store

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public func removeObserver(_ observer: ICloudStoreObserver)
      - -
      -
      -
      -

      Parameters

      - - - - - - - -
      - - observer - - -
      -

      the observer to stop sending ubiquitous notifications to

      -
      -
      -
      -
      -
      -
    • -
    -
    -
    - -
      -
    • -
      - - - - storeType - -
      -
      -
      -
      -
      -
      -

      The string identifier for the NSPersistentStore‘s type property. For SQLiteStores, this is always set to NSSQLiteStoreType.

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public static let storeType: String
      - -
      -
      -
      -
      -
    • -
    • -
      - - - - configuration - -
      -
      -
      -
      -
      -
      -

      The configuration name in the model file

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public let configuration: ModelConfiguration
      - -
      -
      -
      -
      -
    • -
    • -
      - - - - storeOptions - -
      -
      -
      -
      -
      -
      -

      The options dictionary for the NSPersistentStore. For SQLiteStores, this is always set to

      -
      [NSSQLitePragmasOption: ["journal_mode": "WAL"]]
      -
      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public let storeOptions: [AnyHashable : Any]?
      - -
      -
      -
      -
      -
    • -
    • - -
      -
      -
      -
      -
      -

      Do not call directly. Used by the DataStack internally.

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public func cs_didAddToDataStack(_ dataStack: DataStack)
      - -
      -
      -
      -
      -
    • -
    • - -
      -
      -
      -
      -
      -

      Do not call directly. Used by the DataStack internally.

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public func cs_didRemoveFromDataStack(_ dataStack: DataStack)
      - -
      -
      -
      -
      -
    • -
    -
    -
    - -
      -
    • -
      - - - - cacheFileURL - -
      -
      -
      -
      -
      -
      -

      The NSURL that points to the ubiquity container file

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public let cacheFileURL: URL
      - -
      -
      -
      -
      -
    • -
    • -
      - - - - cloudStorageOptions - -
      -
      -
      -
      -
      -
      -

      Options that tell the DataStack how to setup the persistent store

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public var cloudStorageOptions: CloudStorageOptions
      - -
      -
      -
      -
      -
    • -
    • - -
      -
      -
      -
      -
      -

      The options dictionary for the specified CloudStorageOptions

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public func dictionary(forOptions options: CloudStorageOptions) -> [AnyHashable : Any]?
      - -
      -
      -
      -
      -
    • -
    • - -
      -
      -
      -
      -
      -

      Called by the DataStack to perform actual deletion of the store file from disk. Do not call directly! The sourceModel argument is a hint for the existing store’s model version. For SQLiteStore, this converts the database’s WAL journaling mode to DELETE before deleting the file.

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public func cs_eraseStorageAndWait(soureModel: NSManagedObjectModel) throws
      - -
      -
      -
      -
      -
    • -
    -
    -
    - -
      -
    • -
      - - - - debugDescription - -
      -
      -
      -
      -
      -
      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public var debugDescription: String { get }
      - -
      -
      -
      -
      -
    • -
    -
    -
    -
    - -
    -
    - - - - diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/InMemoryStore.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/InMemoryStore.html index 71de0f1c..2900f792 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/InMemoryStore.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/InMemoryStore.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

  • - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1073,8 +1199,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/InferredSchemaMappingProvider.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/InferredSchemaMappingProvider.html index 5c88de33..56b3b766 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/InferredSchemaMappingProvider.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/InferredSchemaMappingProvider.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -764,6 +890,11 @@

    InferredSchemaMappingProvider

    A SchemaMappingProvider that tries to infer model migration between two DynamicSchema versions by searching all xcmappingmodels from Bundle.allBundles or by relying on lightweight migration if possible. Throws an error if lightweight migration is impossible for the two DynamicSchema. This mapping is automatically used as a fallback mapping provider, even if no mapping providers are explicitly declared in the StorageInterface.

    +
    +

    Note

    + For security reasons, InferredSchemaMappingProvider will not search Bundle.allFrameworks by default. If the xcmappingmodels are bundled within a framework, use XcodeSchemaMappingProvider instead and provide Bundle(for: <a class in the framework> to its initializer. + +
    @@ -887,8 +1018,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/ListMonitor.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/ListMonitor.html index 059aca3d..eb76aa26 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/ListMonitor.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/ListMonitor.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1230,9 +1356,9 @@

    Return Value

  • @@ -1247,7 +1373,7 @@

    Return Value

    Declaration

    Swift

    -
    public func hasObjectsInSection(_ section: Int) -> Bool
    +
    public func hasObjects(in section: Int) -> Bool
    @@ -1342,9 +1468,9 @@

    Return Value

  • @@ -1359,7 +1485,7 @@

    Return Value

    Declaration

    Swift

    -
    public func numberOfObjectsInSection(_ section: Int) -> Int
    +
    public func numberOfObjects(in section: Int) -> Int
    @@ -1392,9 +1518,9 @@

    Return Value

  • @@ -1409,7 +1535,7 @@

    Return Value

    Declaration

    Swift

    -
    public func numberOfObjectsInSection(safeSectionIndex section: Int) -> Int?
    +
    public func numberOfObjects(safelyIn section: Int) -> Int?
    @@ -1442,9 +1568,9 @@

    Return Value

  • @@ -1459,7 +1585,7 @@

    Return Value

    Declaration

    Swift

    -
    public func sectionInfoAtIndex(_ section: Int) -> NSFetchedResultsSectionInfo
    +
    public func sectionInfo(at section: Int) -> NSFetchedResultsSectionInfo
    @@ -1492,9 +1618,9 @@

    Return Value

  • @@ -1509,7 +1635,7 @@

    Return Value

    Declaration

    Swift

    -
    public func sectionInfoAtIndex(safeSectionIndex section: Int) -> NSFetchedResultsSectionInfo?
    +
    public func sectionInfo(safelyAt section: Int) -> NSFetchedResultsSectionInfo?
    @@ -1573,9 +1699,9 @@

    Return Value

  • @@ -1590,7 +1716,7 @@

    Return Value

    Declaration

    Swift

    -
    public func targetSectionForSectionIndex(title: String, index: Int) -> Int
    +
    public func targetSection(forSectionIndexTitle sectionIndexTitle: String, at sectionIndex: Int) -> Int
    @@ -1601,7 +1727,7 @@

    Parameters

    - title + sectionIndexTitle @@ -1613,7 +1739,7 @@

    Parameters

    - index + sectionIndex @@ -1666,9 +1792,9 @@

    Return Value

  • - - - indexOf(_:) + + + index(of:)
    @@ -1683,7 +1809,7 @@

    Return Value

    Declaration

    Swift

    -
    public func indexOf(_ object: ObjectType) -> Int?
    +
    public func index(of object: ObjectType) -> Int?
    @@ -1716,9 +1842,9 @@

    Return Value

  • @@ -1733,7 +1859,7 @@

    Return Value

    Declaration

    Swift

    -
    public func indexPathOf(_ object: ObjectType) -> IndexPath?
    +
    public func indexPath(of object: ObjectType) -> IndexPath?
    @@ -2009,7 +2135,9 @@

    Public (Refetching)

    Declaration

    Swift

    -
    public private(set) var isPendingRefetch: Bool
    +
    public private(set) var isPendingRefetch: Bool {
    +  get
    +  }
    @@ -2032,6 +2160,11 @@

    Declaration

    Asks the ListMonitor to refetch its objects using the specified series of FetchClauses. Note that this method does not execute the fetch immediately; the actual fetching will happen after the NSFetchedResultsController‘s last controllerDidChangeContent(_:) notification completes.

    refetch(...) broadcasts listMonitorWillRefetch(...) to its observers immediately, and then listMonitorDidRefetch(...) after the new fetch request completes.

    +
    +

    Important

    + Starting CoreStore 4.0, all FetchClauses required by the ListMonitor should be provided in the arguments list of refetch(...). + +
    @@ -2054,7 +2187,7 @@

    Parameters

    -

    a series of FetchClause instances for fetching the object list. Accepts Where, OrderBy, and Tweak clauses. Important: Starting CoreStore 4.0, all FetchClauses required by the ListMonitor should be provided in the arguments list of refetch(...).

    +

    a series of FetchClause instances for fetching the object list. Accepts Where, OrderBy, and Tweak clauses.

    @@ -2080,6 +2213,11 @@

    Parameters

    Asks the ListMonitor to refetch its objects using the specified series of FetchClauses. Note that this method does not execute the fetch immediately; the actual fetching will happen after the NSFetchedResultsController‘s last controllerDidChangeContent(_:) notification completes.

    refetch(...) broadcasts listMonitorWillRefetch(...) to its observers immediately, and then listMonitorDidRefetch(...) after the new fetch request completes.

    +
    +

    Important

    + Starting CoreStore 4.0, all FetchClauses required by the ListMonitor should be provided in the arguments list of refetch(...). + +
    @@ -2102,7 +2240,7 @@

    Parameters

    -

    a series of FetchClause instances for fetching the object list. Accepts Where, OrderBy, and Tweak clauses. Important: Starting CoreStore 4.0, all FetchClauses required by the ListMonitor should be provided in the arguments list of refetch(...).

    +

    a series of FetchClause instances for fetching the object list. Accepts Where, OrderBy, and Tweak clauses.

    @@ -2316,9 +2454,9 @@

    Return Value

  • @@ -2333,7 +2471,7 @@

    Return Value

    Declaration

    Swift

    -
    public func objectsInSection(_ section: Int) -> [ObjectType]
    +
    public func objects(in section: Int) -> [ObjectType]
    @@ -2366,9 +2504,9 @@

    Return Value

  • @@ -2383,7 +2521,7 @@

    Return Value

    Declaration

    Swift

    -
    public func objectsInSection(safeSectionIndex section: Int) -> [ObjectType]?
    +
    public func objects(safelyIn section: Int) -> [ObjectType]?
    @@ -2458,9 +2596,9 @@

    Return Value

  • @@ -2475,7 +2613,7 @@

    Return Value

    Declaration

    Swift

    -
    public func objectsInSection(_ section: Int) -> [ObjectType]
    +
    public func objects(in section: Int) -> [ObjectType]
    @@ -2508,9 +2646,9 @@

    Return Value

  • @@ -2525,7 +2663,7 @@

    Return Value

    Declaration

    Swift

    -
    public func objectsInSection(safeSectionIndex section: Int) -> [ObjectType]?
    +
    public func objects(safelyIn section: Int) -> [ObjectType]?
    @@ -2563,8 +2701,8 @@

    Return Value

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/ObjectMonitor.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/ObjectMonitor.html index 3d70cf4b..f573036f 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/ObjectMonitor.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/ObjectMonitor.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

  • - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1091,8 +1217,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/SQLiteStore.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/SQLiteStore.html index 46abcddf..18592097 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/SQLiteStore.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/SQLiteStore.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1516,8 +1642,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/SchemaHistory.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/SchemaHistory.html index f9b1ef9a..a4fff3c1 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/SchemaHistory.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/SchemaHistory.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1145,8 +1271,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/SynchronousDataTransaction.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/SynchronousDataTransaction.html index c8146f09..c6c59c13 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/SynchronousDataTransaction.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/SynchronousDataTransaction.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1223,8 +1349,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/UnsafeDataModelSchema.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/UnsafeDataModelSchema.html index 157b4793..a751f632 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/UnsafeDataModelSchema.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/UnsafeDataModelSchema.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -979,8 +1105,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/UnsafeDataTransaction.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/UnsafeDataTransaction.html index 7d18082e..c4311888 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/UnsafeDataTransaction.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/UnsafeDataTransaction.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1836,6 +1962,73 @@

    Parameters

    +
  • + +
    +
    +
    +
    +
    +

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    +
    dataStack.monitorList(
    +    createAsynchronously: { (monitor) in
    +        self.monitor = monitor
    +    },
    +    From<MyPersonEntity>()
    +        .where(\.age > 18)
    +        .orderBy(.ascending(\.age))
    +)
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func monitorList<B: FetchChainableBuilderType>(createAsynchronously: @escaping (ListMonitor<B.ObjectType>) -> Void, _ clauseChain: B)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + createAsynchronously + + +
    +

    the closure that receives the created ListMonitor instance

    +
    +
    + + clauseChain + + +
    +

    a FetchChainableBuilderType built from a chain of clauses

    +
    +
    +
    +
    +
    +
  • @@ -2243,6 +2436,18 @@

    Declaration

    Parameters

    + + + +
    + + createAsynchronously + + +
    +

    the closure that receives the created ListMonitor instance

    +
    +
    @@ -2258,10 +2463,6 @@

    Parameters

    -
    -

    Return Value

    -

    a ListMonitor for a list of DynamicObjects that satisfy the specified SectionMonitorBuilderType

    -
  • @@ -2273,8 +2474,8 @@

    Return Value

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/UserInfo.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/UserInfo.html index ea5b658e..047f817b 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/UserInfo.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/UserInfo.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -918,8 +1044,8 @@

    Return Value

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/XcodeDataModelSchema.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/XcodeDataModelSchema.html index 6cdf3bf4..4ef49c60 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/XcodeDataModelSchema.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/XcodeDataModelSchema.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -824,7 +950,7 @@

    Parameters

    -

    an optional bundle to load models from. If not specified, the main bundle will be used.

    +

    an optional bundle to load .xcdatamodeld models from. If not specified, the main bundle will be used.

    @@ -1119,8 +1245,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/XcodeSchemaMappingProvider.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/XcodeSchemaMappingProvider.html index 0b422eb3..5d1feb59 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/XcodeSchemaMappingProvider.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/XcodeSchemaMappingProvider.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1042,8 +1168,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums.html index 8f039a11..df729d99 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -853,55 +979,6 @@

    Declaration

    -
    - -
      -
    • -
      - - - - MigrationResult - -
      -
      -
      -
      -
      -
      -

      The MigrationResult indicates the result of a migration. -The MigrationResult can be treated as a boolean:

      -
      CoreStore.upgradeStorageIfNeeded(SQLiteStorage(fileName: "data.sqlite")) { (result) in
      -    switch result {
      -    case .success(let migrationSteps):
      -        // ...
      -    case .failure(let error):
      -        // ...
      -    }
      -}
      -
      - - See more -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public enum MigrationResult : Hashable
      - -
      -
      -
      -
      -
    • -
    -
    @@ -1025,72 +1102,6 @@

    Declaration

    -
    - -
      -
    • -
      - - - - SetupResult - -
      -
      -
      -
      -
      -
      -

      The SetupResult indicates the result of an asynchronous initialization of a persistent store. -The SetupResult can be treated as a boolean:

      -
      try! CoreStore.addStorage(
      -    SQLiteStore(),
      -    completion: { (result: SetupResult) -> Void in
      -        if result {
      -            // succeeded
      -        }
      -        else {
      -            // failed
      -        }
      -    }
      -)
      -
      - -

      or as an enum, where the resulting associated object can also be inspected:

      -
      try! CoreStore.addStorage(
      -    SQLiteStore(),
      -    completion: { (result: SetupResult) -> Void in
      -        switch result {
      -        case .success(let storage):
      -            // storage is the related StorageInterface instance
      -        case .failure(let error):
      -            // error is the CoreStoreError enum value for the failure
      -        }
      -    }
      -)
      -
      - - See more -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public enum SetupResult<T> : Hashable where T : StorageInterface
      - -
      -
      -
      -
      -
    • -
    -
    @@ -1349,8 +1360,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/CSErrorCode.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/CSErrorCode.html index 54c729cf..8a503efb 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/CSErrorCode.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/CSErrorCode.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -980,8 +1106,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/CSLocalStorageOptions.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/CSLocalStorageOptions.html index 47b940b8..e38b4e79 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/CSLocalStorageOptions.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/CSLocalStorageOptions.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -894,8 +1020,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/CoreStore.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/CoreStore.html index e79291fe..fa997d67 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/CoreStore.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/CoreStore.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -861,9 +987,9 @@

    CoreStore

  • @@ -888,7 +1014,7 @@

    CoreStore

    Declaration

    Swift

    -
    public static func addStorage<T>(_ storage: T, completion: @escaping (SetupResult<T>) -> Void)
    +
    public static func addStorage<T>(_ storage: T, completion: @escaping (SetupResult<T>) -> Void)
    @@ -916,7 +1042,7 @@

    Parameters

    -

    the closure to be executed on the main queue when the process completes, either due to success or failure. The closure’s SetupResult argument indicates the result. Note that the StorageInterface associated to the SetupResult.success may not always be the same instance as the parameter argument if a previous StorageInterface was already added at the same URL and with the same configuration.

    +

    the closure to be executed on the main queue when the process completes, either due to success or failure. The closure’s SetupResult argument indicates the result. Note that the StorageInterface associated to the SetupResult.success may not always be the same instance as the parameter argument if a previous StorageInterface was already added at the same URL and with the same configuration.

    @@ -929,9 +1055,9 @@

    Parameters

  • @@ -956,7 +1082,7 @@

    Parameters

    Declaration

    Swift

    -
    public static func addStorage<T: LocalStorage>(_ storage: T, completion: @escaping (SetupResult<T>) -> Void) -> Progress?
    +
    public static func addStorage<T: LocalStorage>(_ storage: T, completion: @escaping (SetupResult<T>) -> Void) -> Progress?
    @@ -984,7 +1110,7 @@

    Parameters

    -

    the closure to be executed on the main queue when the process completes, either due to success or failure. The closure’s SetupResult argument indicates the result. Note that the LocalStorage associated to the SetupResult.success may not always be the same instance as the parameter argument if a previous LocalStorage was already added at the same URL and with the same configuration.

    +

    the closure to be executed on the main queue when the process completes, either due to success or failure. The closure’s SetupResult argument indicates the result. Note that the LocalStorage associated to the SetupResult.success may not always be the same instance as the parameter argument if a previous LocalStorage was already added at the same URL and with the same configuration.

    @@ -1001,9 +1127,9 @@

    Return Value

  • @@ -1039,7 +1165,7 @@

    Return Value

    Declaration

    Swift

    -
    public static func addStorage<T: CloudStorage>(_ storage: T, completion: @escaping (SetupResult<T>) -> Void)
    +
    public static func addStorage<T: CloudStorage>(_ storage: T, completion: @escaping (SetupResult<T>) -> Void)
    @@ -1067,7 +1193,7 @@

    Parameters

    -

    the closure to be executed on the main queue when the process completes, either due to success or failure. The closure’s SetupResult argument indicates the result. Note that the CloudStorage associated to the SetupResult.success may not always be the same instance as the parameter argument if a previous CloudStorage was already added at the same URL and with the same configuration.

    +

    the closure to be executed on the main queue when the process completes, either due to success or failure. The closure’s SetupResult argument indicates the result. Note that the CloudStorage associated to the SetupResult.success may not always be the same instance as the parameter argument if a previous CloudStorage was already added at the same URL and with the same configuration.

    @@ -1080,9 +1206,9 @@

    Parameters

  • @@ -1102,7 +1228,7 @@

    Parameters

    Declaration

    Swift

    -
    public static func upgradeStorageIfNeeded<T: LocalStorage>(_ storage: T, completion: @escaping (MigrationResult) -> Void) throws -> Progress?
    +
    public static func upgradeStorageIfNeeded<T: LocalStorage>(_ storage: T, completion: @escaping (MigrationResult) -> Void) throws -> Progress?
    @@ -1130,7 +1256,7 @@

    Parameters

    -

    the closure to be executed on the main queue when the migration completes, either due to success or failure. The closure’s MigrationResult argument indicates the result. This closure is NOT executed if an error is thrown, but will be executed with a .failure result if an error occurs asynchronously.

    +

    the closure to be executed on the main queue when the migration completes, either due to success or failure. The closure’s MigrationResult argument indicates the result. This closure is NOT executed if an error is thrown, but will be executed with a .failure result if an error occurs asynchronously.

    @@ -1595,7 +1721,7 @@

    Parameters

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    CoreStore.monitorList(
    -    { (monitor) in
    +    createAsynchronously: { (monitor) in
             self.monitor = monitor
         },
         From<MyPersonEntity>()
    @@ -1644,10 +1770,6 @@ 

    Parameters

    -
    -

    Return Value

    -

    a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType

    -
  • @@ -2035,7 +2157,7 @@

    Parameters

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified SectionMonitorBuilderType built from a chain of clauses.

    CoreStore.monitorSectionedList(
    -    { (monitor) in
    +    createAsynchronously: { (monitor) in
             self.monitor = monitor
         },
         From<MyPersonEntity>()
    @@ -2058,6 +2180,18 @@ 

    Declaration

    Parameters

    + + + +
    + + createAsynchronously + + +
    +

    the closure that receives the created ListMonitor instance

    +
    +
    @@ -2073,10 +2207,6 @@

    Parameters

    -
    -

    Return Value

    -

    a ListMonitor for a list of DynamicObjects that satisfy the specified SectionMonitorBuilderType

    -
    @@ -2294,9 +2424,9 @@

    Return Value

  • @@ -2305,13 +2435,18 @@

    Return Value

    Using the defaultStack, fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> D? where D : DynamicObject
    +
    public static func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> D? where D : DynamicObject
    @@ -2348,7 +2483,7 @@

    Parameters

    Return Value

    -

    the first DynamicObject instance that satisfies the specified FetchClauses

    +

    the first DynamicObject instance that satisfies the specified FetchClauses, or nil if no match was found

    @@ -2356,9 +2491,9 @@

    Return Value

  • @@ -2367,13 +2502,18 @@

    Return Value

    Using the defaultStack, fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> D? where D : DynamicObject
    +
    public static func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> D? where D : DynamicObject
    @@ -2410,7 +2550,7 @@

    Parameters

    Return Value

    -

    the first DynamicObject instance that satisfies the specified FetchClauses

    +

    the first DynamicObject instance that satisfies the specified FetchClauses, or nil if no match was found

    @@ -2418,9 +2558,9 @@

    Return Value

  • @@ -2435,13 +2575,18 @@

    Return Value

    .orderBy(.ascending(\.age)) )
    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchOne<B>(_ clauseChain: B) -> B.ObjectType? where B : FetchChainableBuilderType
    +
    public static func fetchOne<B>(_ clauseChain: B) throws -> B.ObjectType? where B : FetchChainableBuilderType
    @@ -2466,7 +2611,7 @@

    Parameters

    Return Value

    -

    the first DynamicObject instance that satisfies the specified FetchChainableBuilderType

    +

    the first DynamicObject instance that satisfies the specified FetchChainableBuilderType, or nil if no match was found

    @@ -2474,9 +2619,9 @@

    Return Value

  • @@ -2485,13 +2630,18 @@

    Return Value

    Using the defaultStack, fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [D]? where D : DynamicObject
    +
    public static func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [D] where D : DynamicObject
    @@ -2528,7 +2678,7 @@

    Parameters

    Return Value

    -

    all DynamicObject instances that satisfy the specified FetchClauses

    +

    all DynamicObject instances that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -2536,9 +2686,9 @@

    Return Value

  • @@ -2547,13 +2697,18 @@

    Return Value

    Using the defaultStack, fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [D]? where D : DynamicObject
    +
    public static func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [D] where D : DynamicObject
    @@ -2590,7 +2745,7 @@

    Parameters

    Return Value

    -

    all DynamicObject instances that satisfy the specified FetchClauses

    +

    all DynamicObject instances that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -2598,9 +2753,9 @@

    Return Value

  • @@ -2615,13 +2770,18 @@

    Return Value

    .orderBy(.ascending(\.age)) )
    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchAll<B>(_ clauseChain: B) -> [B.ObjectType]? where B : FetchChainableBuilderType
    +
    public static func fetchAll<B>(_ clauseChain: B) throws -> [B.ObjectType] where B : FetchChainableBuilderType
    @@ -2646,7 +2806,7 @@

    Parameters

    Return Value

    -

    all DynamicObject instances that satisfy the specified FetchChainableBuilderType

    +

    all DynamicObject instances that satisfy the specified FetchChainableBuilderType, or an empty array if no match was found

    @@ -2654,9 +2814,9 @@

    Return Value

  • @@ -2665,13 +2825,18 @@

    Return Value

    Using the defaultStack, fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> Int? where D : DynamicObject
    +
    public static func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> Int where D : DynamicObject
    @@ -2708,7 +2873,7 @@

    Parameters

    Return Value

    -

    the number DynamicObjects that satisfy the specified FetchClauses

    +

    the number of DynamicObjects that satisfy the specified FetchClauses

    @@ -2716,9 +2881,9 @@

    Return Value

  • @@ -2727,13 +2892,18 @@

    Return Value

    Using the defaultStack, fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> Int? where D : DynamicObject
    +
    public static func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> Int where D : DynamicObject
    @@ -2770,7 +2940,7 @@

    Parameters

    Return Value

    -

    the number DynamicObjects that satisfy the specified FetchClauses

    +

    the number of DynamicObjects that satisfy the specified FetchClauses

    @@ -2778,9 +2948,9 @@

    Return Value

  • @@ -2795,13 +2965,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchCount<B>(_ clauseChain: B) -> Int? where B : FetchChainableBuilderType
    +
    public static func fetchCount<B>(_ clauseChain: B) throws -> Int where B : FetchChainableBuilderType
    @@ -2826,7 +3001,7 @@

    Parameters

    Return Value

    -

    the number DynamicObjects that satisfy the specified FetchChainableBuilderType

    +

    the number of DynamicObjects that satisfy the specified FetchChainableBuilderType

    @@ -2834,9 +3009,9 @@

    Return Value

  • @@ -2845,13 +3020,18 @@

    Return Value

    Using the defaultStack, fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> NSManagedObjectID? where D : DynamicObject
    +
    public static func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> NSManagedObjectID? where D : DynamicObject
    @@ -2888,7 +3068,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses

    +

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses, or nil if no match was found

    @@ -2896,9 +3076,9 @@

    Return Value

  • @@ -2907,13 +3087,18 @@

    Return Value

    Using the defaultStack, fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> NSManagedObjectID? where D : DynamicObject
    +
    public static func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> NSManagedObjectID? where D : DynamicObject
    @@ -2950,7 +3135,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses

    +

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses, or nil if no match was found

    @@ -2958,9 +3143,9 @@

    Return Value

  • @@ -2975,13 +3160,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchObjectID<B>(_ clauseChain: B) -> NSManagedObjectID? where B : FetchChainableBuilderType
    +
    public static func fetchObjectID<B>(_ clauseChain: B) throws -> NSManagedObjectID? where B : FetchChainableBuilderType
    @@ -3006,7 +3196,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType

    +

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType, or nil if no match was found

    @@ -3014,9 +3204,9 @@

    Return Value

  • @@ -3025,13 +3215,18 @@

    Return Value

    Using the defaultStack, fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [NSManagedObjectID]? where D : DynamicObject
    +
    public static func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [NSManagedObjectID] where D : DynamicObject
    @@ -3068,7 +3263,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses

    +

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -3076,9 +3271,9 @@

    Return Value

  • @@ -3087,13 +3282,18 @@

    Return Value

    Using the defaultStack, fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [NSManagedObjectID]? where D : DynamicObject
    +
    public static func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [NSManagedObjectID] where D : DynamicObject
    @@ -3130,7 +3330,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses

    +

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -3138,9 +3338,9 @@

    Return Value

  • @@ -3155,13 +3355,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func fetchObjectIDs<B>(_ clauseChain: B) -> [NSManagedObjectID]? where B : FetchChainableBuilderType
    +
    public static func fetchObjectIDs<B>(_ clauseChain: B) throws -> [NSManagedObjectID] where B : FetchChainableBuilderType
    @@ -3186,7 +3391,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType

    +

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType, or an empty array if no match was found

    @@ -3194,9 +3399,9 @@

    Return Value

  • @@ -3207,13 +3412,18 @@

    Return Value

    Using the defaultStack, queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) -> U? where D : DynamicObject, U : QueryableAttributeType
    +
    public static func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) throws -> U? where D : DynamicObject, U : QueryableAttributeType
    @@ -3262,7 +3472,7 @@

    Parameters

    Return Value

    -

    the result of the the query. The type of the return value is specified by the generic type of the Select<U> parameter.

    +

    the result of the the query, or nil if no match was found. The type of the return value is specified by the generic type of the Select<U> parameter.

    @@ -3270,9 +3480,9 @@

    Return Value

  • @@ -3283,13 +3493,18 @@

    Return Value

    Using the defaultStack, queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) -> U? where D : DynamicObject, U : QueryableAttributeType
    +
    public static func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) throws -> U? where D : DynamicObject, U : QueryableAttributeType
    @@ -3338,7 +3553,7 @@

    Parameters

    Return Value

    -

    the result of the the query. The type of the return value is specified by the generic type of the Select<U> parameter.

    +

    the result of the the query, or nil if no match was found. The type of the return value is specified by the generic type of the Select<U> parameter.

    @@ -3346,9 +3561,9 @@

    Return Value

  • @@ -3365,13 +3580,18 @@

    Return Value

    .where(\.age > 18) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func queryValue<B>(_ clauseChain: B) -> B.ResultType? where B : QueryChainableBuilderType, B.ResultType : QueryableAttributeType
    +
    public static func queryValue<B>(_ clauseChain: B) throws -> B.ResultType? where B : QueryChainableBuilderType, B.ResultType : QueryableAttributeType
    @@ -3396,7 +3616,7 @@

    Parameters

    Return Value

    -

    the result of the the query as specified by the QueryChainableBuilderType

    +

    the result of the the query as specified by the QueryChainableBuilderType, or nil if no match was found.

    @@ -3404,9 +3624,9 @@

    Return Value

  • @@ -3417,13 +3637,18 @@

    Return Value

    Using the defaultStack, queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) -> [[String : Any]]? where D : DynamicObject
    +
    public static func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) throws -> [[String : Any]] where D : DynamicObject
    @@ -3480,9 +3705,9 @@

    Return Value

  • @@ -3493,13 +3718,18 @@

    Return Value

    Using the defaultStack, queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) -> [[String : Any]]? where D : DynamicObject
    +
    public static func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) throws -> [[String : Any]] where D : DynamicObject
    @@ -3556,9 +3786,9 @@

    Return Value

  • @@ -3584,13 +3814,18 @@

    Return Value

    print("There are \(count) people who are \(age) years old." } +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    public static func queryAttributes<B>(_ clauseChain: B) -> [[String : Any]]? where B : QueryChainableBuilderType, B.ResultType == NSDictionary
    +
    public static func queryAttributes<B>(_ clauseChain: B) throws -> [[String : Any]] where B : QueryChainableBuilderType, B.ResultType == NSDictionary
    @@ -3999,9 +4234,9 @@

    CoreStore

  • @@ -4009,7 +4244,7 @@

    CoreStore

    -

    Using the defaultStack, performs a transaction asynchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the wrapped as .success(userInfo: T) in the completion‘s Result<T>. Any errors thrown from inside the task will be reported as .failure(error: CoreStoreError). To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    +

    Using the defaultStack, performs a transaction asynchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the wrapped as .success(T) in the completion‘s Result<T>. Any errors thrown from inside the task will be reported as .failure(CoreStoreError). To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    @@ -4261,8 +4496,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/CoreStoreError.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/CoreStoreError.html index b74e0b8b..e3c9bf49 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/CoreStoreError.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/CoreStoreError.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

  • - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -988,6 +1114,33 @@

    Declaration

    +
  • + +
    +
    +
    +
    +
    +

    Attempted to perform a fetch but could not find any related persistent store.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case persistentStoreNotFound(entity: DynamicObject.Type)
    + +
    +
    +
    +
    +
  • @@ -1202,9 +1355,9 @@

    _ObjectiveCBridgeableError

  • @@ -1270,8 +1423,8 @@

    Declaration

  • diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/CoreStoreErrorCode.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/CoreStoreErrorCode.html index f3988d14..4b19816c 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/CoreStoreErrorCode.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/CoreStoreErrorCode.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -988,6 +1114,33 @@

    Declaration

    +
  • + +
    +
    +
    +
    +
    +

    Attempted to perform a fetch but could not find any related persistent store.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case persistentStoreNotFound
    + +
    +
    +
    +
    +
  • @@ -996,8 +1149,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/MigrationType.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/MigrationType.html index 562ea1a5..c7b1201f 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/MigrationType.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/MigrationType.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1144,8 +1270,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/RelationshipContainer.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/RelationshipContainer.html index 8483587e..7533ab26 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/RelationshipContainer.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/RelationshipContainer.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -936,8 +1062,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/RelationshipContainer/ToManyOrdered.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/RelationshipContainer/ToManyOrdered.html index 1cd1cf14..aa14ec95 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/RelationshipContainer/ToManyOrdered.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/RelationshipContainer/ToManyOrdered.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1912,8 +2038,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/RelationshipContainer/ToManyUnordered.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/RelationshipContainer/ToManyUnordered.html index 6461fcf8..89ec4172 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/RelationshipContainer/ToManyUnordered.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/RelationshipContainer/ToManyUnordered.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1881,8 +2007,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/RelationshipContainer/ToOne.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/RelationshipContainer/ToOne.html index 8a4ff823..97c05a17 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/RelationshipContainer/ToOne.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/RelationshipContainer/ToOne.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1702,8 +1828,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/SelectTerm.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/SelectTerm.html index f666536e..b6e5d907 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/SelectTerm.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/SelectTerm.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1443,10 +1569,10 @@

    Declaration

      @@ -1814,10 +1940,10 @@

      Return Value

    @@ -2103,7 +2229,7 @@

    Return Value

    Declaration

    Swift

    -
    public static func average<V>(_ keyPath: KeyPath<D, ValueContainer<D>.Optional<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D>
    +
    public static func average<V>(_ keyPath: KeyPath<D, ValueContainer<D>.Optional<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D> where V : ImportableAttributeType
    @@ -2165,7 +2291,7 @@

    Return Value

    Declaration

    Swift

    -
    public static func average<V>(_ keyPath: KeyPath<D, TransformableContainer<D>.Required<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D>
    +
    public static func average<V>(_ keyPath: KeyPath<D, TransformableContainer<D>.Required<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D> where V : NSCoding, V : NSCopying
    @@ -2227,7 +2353,7 @@

    Return Value

    Declaration

    Swift

    -
    public static func average<V>(_ keyPath: KeyPath<D, TransformableContainer<D>.Optional<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D>
    +
    public static func average<V>(_ keyPath: KeyPath<D, TransformableContainer<D>.Optional<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D> where V : NSCoding, V : NSCopying
    @@ -2793,7 +2919,7 @@

    Return Value

    Declaration

    Swift

    -
    public static func minimum<V>(_ keyPath: KeyPath<D, ValueContainer<D>.Required<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D>
    +
    public static func minimum<V>(_ keyPath: KeyPath<D, ValueContainer<D>.Required<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D> where V : ImportableAttributeType
    @@ -2855,7 +2981,7 @@

    Return Value

    Declaration

    Swift

    -
    public static func minimum<V>(_ keyPath: KeyPath<D, ValueContainer<D>.Optional<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D>
    +
    public static func minimum<V>(_ keyPath: KeyPath<D, ValueContainer<D>.Optional<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D> where V : ImportableAttributeType
    @@ -2917,7 +3043,7 @@

    Return Value

    Declaration

    Swift

    -
    public static func minimum<V>(_ keyPath: KeyPath<D, TransformableContainer<D>.Required<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D>
    +
    public static func minimum<V>(_ keyPath: KeyPath<D, TransformableContainer<D>.Required<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D> where V : NSCoding, V : NSCopying
    @@ -2979,7 +3105,7 @@

    Return Value

    Declaration

    Swift

    -
    public static func minimum<V>(_ keyPath: KeyPath<D, TransformableContainer<D>.Optional<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D>
    +
    public static func minimum<V>(_ keyPath: KeyPath<D, TransformableContainer<D>.Optional<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D> where V : NSCoding, V : NSCopying
    @@ -3041,7 +3167,7 @@

    Return Value

    Declaration

    Swift

    -
    public static func sum<V>(_ keyPath: KeyPath<D, ValueContainer<D>.Required<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D>
    +
    public static func sum<V>(_ keyPath: KeyPath<D, ValueContainer<D>.Required<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D> where V : ImportableAttributeType
    @@ -3103,7 +3229,7 @@

    Return Value

    Declaration

    Swift

    -
    public static func sum<V>(_ keyPath: KeyPath<D, ValueContainer<D>.Optional<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D>
    +
    public static func sum<V>(_ keyPath: KeyPath<D, ValueContainer<D>.Optional<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D> where V : ImportableAttributeType
    @@ -3165,7 +3291,7 @@

    Return Value

    Declaration

    Swift

    -
    public static func sum<V>(_ keyPath: KeyPath<D, TransformableContainer<D>.Required<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D>
    +
    public static func sum<V>(_ keyPath: KeyPath<D, TransformableContainer<D>.Required<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D> where V : NSCoding, V : NSCopying
    @@ -3227,7 +3353,7 @@

    Return Value

    Declaration

    Swift

    -
    public static func sum<V>(_ keyPath: KeyPath<D, TransformableContainer<D>.Optional<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D>
    +
    public static func sum<V>(_ keyPath: KeyPath<D, TransformableContainer<D>.Optional<V>>, as alias: KeyPathString? = nil) -> SelectTerm<D> where V : NSCoding, V : NSCopying
    @@ -3277,8 +3403,8 @@

    Return Value

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/TransformableContainer.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/TransformableContainer.html index 3e5dbee5..293abb5f 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/TransformableContainer.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/TransformableContainer.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -882,8 +1008,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/TransformableContainer/Optional.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/TransformableContainer/Optional.html index 0612861b..dd063452 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/TransformableContainer/Optional.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/TransformableContainer/Optional.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1249,8 +1375,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/TransformableContainer/Required.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/TransformableContainer/Required.html index dcfe40ef..4af6f73f 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/TransformableContainer/Required.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/TransformableContainer/Required.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1219,8 +1345,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/ValueContainer.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/ValueContainer.html index 71aaa650..a8f18ba7 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/ValueContainer.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/ValueContainer.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -882,8 +1008,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/ValueContainer/Optional.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/ValueContainer/Optional.html index aee47d5b..a41fc321 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/ValueContainer/Optional.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/ValueContainer/Optional.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1639,8 +1765,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/ValueContainer/Required.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/ValueContainer/Required.html index 8e7bf99b..922a9f3d 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/ValueContainer/Required.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Enums/ValueContainer/Required.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1548,8 +1674,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions.html index fe59e63a..12268922 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -764,6 +890,126 @@

    Extensions

    +
    + +
      +
    • +
      + + + + NSAttributeType + +
      +
      +
      +
      +
      +
      + + See more +
      +
      +

      Declaration

      +
      +

      Swift

      +
      enum NSAttributeType : UInt
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + NSDeleteRule + +
      +
      +
      +
      +
      +
      + + See more +
      +
      +

      Declaration

      +
      +

      Swift

      +
      enum NSDeleteRule : UInt
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + Result + +
      +
      +
      +
      +
      +
      + + See more +
      +
      +

      Declaration

      +
      +

      Swift

      +
      @_frozen
      +enum Result<Success, Failure> where Failure : Error
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + Selector + +
      +
      +
      +
      +
      +
      + + See more +
      +
      +

      Declaration

      +
      +

      Swift

      +
      struct Selector : ExpressibleByStringLiteral
      + +
      +
      +
      +
      +
    • +
    +
    @@ -1135,7 +1381,7 @@

    Data

    Declaration

    Swift

    -
    struct Data : ReferenceConvertible, Equatable, Hashable, RandomAccessCollection, MutableCollection, RangeReplaceableCollection
    +
    struct Data : ReferenceConvertible, Equatable, Hashable, RandomAccessCollection, MutableCollection, RangeReplaceableCollection, MutableDataProtocol, ContiguousBytes
    @@ -1873,8 +2119,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Bool.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Bool.html index 0b380743..4302a031 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Bool.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Bool.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -885,8 +1011,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/CGFloat.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/CGFloat.html index e2944278..afcf812d 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/CGFloat.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/CGFloat.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -885,8 +1011,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Data.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Data.html index 9c7015a4..280ea836 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Data.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Data.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -759,7 +885,7 @@

    Data

    -
    struct Data : ReferenceConvertible, Equatable, Hashable, RandomAccessCollection, MutableCollection, RangeReplaceableCollection
    +
    struct Data : ReferenceConvertible, Equatable, Hashable, RandomAccessCollection, MutableCollection, RangeReplaceableCollection, MutableDataProtocol, ContiguousBytes
    @@ -885,8 +1011,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Date.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Date.html index d9916721..35dae73b 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Date.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Date.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -885,8 +1011,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Double.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Double.html index e5f5eabb..b724bde8 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Double.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Double.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -885,8 +1011,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Float.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Float.html index e42b7d29..4ecac8e6 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Float.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Float.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -885,8 +1011,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Int.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Int.html index 6112bb61..9b605e2d 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Int.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Int.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -885,8 +1011,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Int16.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Int16.html index c4fad99c..5c782548 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Int16.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Int16.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -885,8 +1011,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Int32.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Int32.html index 02960859..75a9ec2a 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Int32.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Int32.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -885,8 +1011,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Int64.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Int64.html index 2c02cd7d..b46ebd23 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Int64.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Int64.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -885,8 +1011,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Int8.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Int8.html index 2f462224..43f90dca 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Int8.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Int8.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -885,8 +1011,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/KeyPath.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/KeyPath.html index 3a0b0014..35a7f8cc 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/KeyPath.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/KeyPath.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -851,14 +977,80 @@

    Declaration

    +
    +
      +
    • +
      + + + + count() + +
      +
      +
      +
      +
      +
      +

      Creates a Where.Expression clause for COUNT

      +
      let dogsWithPlaymates = CoreStore.fetchAll(From<Dog>().where((\.master ~ \.pets).count() > 1))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func count() -> Where<Root>.Expression<Where<Root>.CollectionTarget, Int>
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
      +
    • +
      + + + + count() + +
      +
      +
      +
      +
      +
      +

      Creates a Where.Expression clause for COUNT

      +
      let dogsWithPlaymates = CoreStore.fetchAll(From<Dog>().where((\.master ~ \.pets).count() > 1))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func count() -> Where<Root>.Expression<Where<Root>.CollectionTarget, Int>
      + +
      +
      +
      +
      +
    • +
    +
    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/KeyPathString.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/KeyPathString.html index e91085d7..e1c662dd 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/KeyPathString.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/KeyPathString.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -774,9 +900,9 @@

    KeyPathString

  • @@ -793,7 +919,7 @@

    KeyPathString

    Declaration

    Swift

    -
    public init<O, V>(keyPath: KeyPath<O, V>) where O : NSManagedObject
    +
    public init<O, V>(keyPath: KeyPath<O, V>) where O : NSManagedObject, V : AllowedObjectiveCKeyPathValue
    @@ -829,6 +955,35 @@

    Declaration

  • +
  • +
    + + + + init(keyPath:) + +
    +
    +
    +
    +
    +
    +

    Extracts the keyPath string from the property.

    +
    let keyPath = String(keyPath: \Person.nickname)
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init<O, T, V>(keyPath: Where<O>.Expression<T, V>) where O : DynamicObject, T : WhereExpressionTrait
    + +
    +
    +
    +
    +
  • @@ -837,8 +992,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSAttributeType.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSAttributeType.html new file mode 100644 index 00000000..e1344e95 --- /dev/null +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSAttributeType.html @@ -0,0 +1,939 @@ + + + + NSAttributeType Extension Reference + + + + + + + + + + + + + + + + +
    +

    + + CoreStore Docs + + (90% documented) +

    + +

    +

    + +
    +

    + +

    + + + View on GitHub + +

    + +
    + + + +
    + +
    + +
    +
    +

    NSAttributeType

    +
    +
    +
    enum NSAttributeType : UInt
    + +
    +
    + +
    +
    + +
    +
    +
    +
      +
    • +
      + + + + debugDescription + +
      +
      +
      +
      +
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var debugDescription: String { get }
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + + diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSData.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSData.html index 5f665c1e..ee500425 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSData.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSData.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -888,8 +1014,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSDate.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSDate.html index 1f59a847..503988ab 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSDate.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSDate.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -888,8 +1014,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSDeleteRule.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSDeleteRule.html new file mode 100644 index 00000000..0395a9c2 --- /dev/null +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSDeleteRule.html @@ -0,0 +1,939 @@ + + + + NSDeleteRule Extension Reference + + + + + + + + + + + + + + + + +
    +

    + + CoreStore Docs + + (90% documented) +

    + +

    +

    + +
    +

    + +

    + + + View on GitHub + +

    + +
    + + + +
    + +
    + +
    +
    +

    NSDeleteRule

    +
    +
    +
    enum NSDeleteRule : UInt
    + +
    +
    + +
    +
    + +
    +
    +
    +
      +
    • +
      + + + + debugDescription + +
      +
      +
      +
      +
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var debugDescription: String { get }
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + + diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSManagedObject.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSManagedObject.html index 050e864c..6a8794a8 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSManagedObject.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSManagedObject.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1667,8 +1793,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSManagedObjectContext.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSManagedObjectContext.html index 1cc6acd6..d4ed228e 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSManagedObjectContext.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSManagedObjectContext.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -889,9 +1015,9 @@

    Declaration

  • @@ -906,7 +1032,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> D? where D : DynamicObject
    +public func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> D? where D : DynamicObject
    @@ -916,9 +1042,9 @@

    Declaration

  • @@ -933,7 +1059,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> D? where D : DynamicObject
    +public func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> D? where D : DynamicObject
    @@ -943,9 +1069,9 @@

    Declaration

  • @@ -960,7 +1086,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchOne<B>(_ clauseChain: B) -> B.ObjectType? where B : FetchChainableBuilderType
    +public func fetchOne<B>(_ clauseChain: B) throws -> B.ObjectType? where B : FetchChainableBuilderType
    @@ -970,9 +1096,9 @@

    Declaration

  • @@ -987,7 +1113,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [D]? where D : DynamicObject
    +public func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [D] where D : DynamicObject
    @@ -997,9 +1123,9 @@

    Declaration

  • @@ -1014,7 +1140,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [D]? where D : DynamicObject
    +public func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [D] where D : DynamicObject
    @@ -1024,9 +1150,9 @@

    Declaration

  • @@ -1041,7 +1167,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchAll<B>(_ clauseChain: B) -> [B.ObjectType]? where B : FetchChainableBuilderType
    +public func fetchAll<B>(_ clauseChain: B) throws -> [B.ObjectType] where B : FetchChainableBuilderType
    @@ -1051,9 +1177,9 @@

    Declaration

  • @@ -1068,7 +1194,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> Int? where D : DynamicObject
    +public func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> Int where D : DynamicObject
    @@ -1078,9 +1204,9 @@

    Declaration

  • @@ -1095,7 +1221,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> Int? where D : DynamicObject
    +public func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> Int where D : DynamicObject
    @@ -1105,9 +1231,9 @@

    Declaration

  • @@ -1122,7 +1248,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchCount<B>(_ clauseChain: B) -> Int? where B : FetchChainableBuilderType
    +public func fetchCount<B>(_ clauseChain: B) throws -> Int where B : FetchChainableBuilderType
    @@ -1132,9 +1258,9 @@

    Declaration

  • @@ -1149,7 +1275,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> NSManagedObjectID? where D : DynamicObject
    +public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> NSManagedObjectID? where D : DynamicObject
    @@ -1159,9 +1285,9 @@

    Declaration

  • @@ -1176,7 +1302,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> NSManagedObjectID? where D : DynamicObject
    +public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> NSManagedObjectID? where D : DynamicObject
    @@ -1186,9 +1312,9 @@

    Declaration

  • @@ -1203,7 +1329,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchObjectID<B>(_ clauseChain: B) -> NSManagedObjectID? where B : FetchChainableBuilderType
    +public func fetchObjectID<B>(_ clauseChain: B) throws -> NSManagedObjectID? where B : FetchChainableBuilderType
    @@ -1213,9 +1339,9 @@

    Declaration

  • @@ -1230,7 +1356,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [NSManagedObjectID]? where D : DynamicObject
    +public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [NSManagedObjectID] where D : DynamicObject
    @@ -1240,9 +1366,9 @@

    Declaration

  • @@ -1257,7 +1383,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [NSManagedObjectID]? where D : DynamicObject
    +public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [NSManagedObjectID] where D : DynamicObject
    @@ -1267,9 +1393,9 @@

    Declaration

  • @@ -1284,7 +1410,7 @@

    Declaration

    Swift

    @nonobjc
    -public func fetchObjectIDs<B>(_ clauseChain: B) -> [NSManagedObjectID]? where B : FetchChainableBuilderType
    +public func fetchObjectIDs<B>(_ clauseChain: B) throws -> [NSManagedObjectID] where B : FetchChainableBuilderType
    @@ -1305,9 +1431,9 @@

    QueryableSource

  • @@ -1322,7 +1448,7 @@

    Declaration

    Swift

    @nonobjc
    -public func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) -> U? where D : DynamicObject, U : QueryableAttributeType
    +public func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) throws -> U? where D : DynamicObject, U : QueryableAttributeType
    @@ -1332,9 +1458,9 @@

    Declaration

  • @@ -1349,7 +1475,7 @@

    Declaration

    Swift

    @nonobjc
    -public func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) -> U? where D : DynamicObject, U : QueryableAttributeType
    +public func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) throws -> U? where D : DynamicObject, U : QueryableAttributeType
    @@ -1359,9 +1485,9 @@

    Declaration

  • @@ -1376,7 +1502,7 @@

    Declaration

    Swift

    @nonobjc
    -public func queryValue<B>(_ clauseChain: B) -> B.ResultType? where B : QueryChainableBuilderType, B.ResultType : QueryableAttributeType
    +public func queryValue<B>(_ clauseChain: B) throws -> B.ResultType? where B : QueryChainableBuilderType, B.ResultType : QueryableAttributeType
    @@ -1386,9 +1512,9 @@

    Declaration

  • @@ -1403,7 +1529,7 @@

    Declaration

    Swift

    @nonobjc
    -public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) -> [[String : Any]]? where D : DynamicObject
    +public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) throws -> [[String : Any]] where D : DynamicObject
    @@ -1413,9 +1539,9 @@

    Declaration

  • @@ -1430,7 +1556,7 @@

    Declaration

    Swift

    @nonobjc
    -public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) -> [[String : Any]]? where D : DynamicObject
    +public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) throws -> [[String : Any]] where D : DynamicObject
    @@ -1440,9 +1566,9 @@

    Declaration

  • @@ -1456,7 +1582,7 @@

    Declaration

    Declaration

    Swift

    -
    public func queryAttributes<B>(_ clauseChain: B) -> [[String : Any]]? where B : QueryChainableBuilderType, B.ResultType == NSDictionary
    +
    public func queryAttributes<B>(_ clauseChain: B) throws -> [[String : Any]] where B : QueryChainableBuilderType, B.ResultType == NSDictionary
    @@ -1509,8 +1635,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSManagedObjectID.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSManagedObjectID.html index 18f42764..b063644a 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSManagedObjectID.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSManagedObjectID.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

  • - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -888,8 +1014,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSNull.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSNull.html index c0259ada..6f4dad11 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSNull.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSNull.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -888,8 +1014,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSNumber.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSNumber.html index c0512fa1..b36afc27 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSNumber.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSNumber.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -888,8 +1014,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSString.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSString.html index 22d54a5e..90d91420 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSString.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSString.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -888,8 +1014,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSURL.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSURL.html index 0239e6d4..b74808b0 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSURL.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSURL.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -888,8 +1014,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSUUID.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSUUID.html index 8f10245e..6228b886 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSUUID.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/NSUUID.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -888,8 +1014,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Progress.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Progress.html index b383222a..647e359e 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Progress.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Progress.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -843,7 +969,7 @@

    Declaration

    Swift

    @objc
    -public func cs_setProgressHandler(_ closure: ((_ progress: Progress) -> Void)?)
    +dynamic public func cs_setProgressHandler(_ closure: ((_ progress: Progress) -> Void)?)
    @@ -877,8 +1003,8 @@

    Parameters

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/RawRepresentable.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/RawRepresentable.html index 455c4829..3f990785 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/RawRepresentable.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/RawRepresentable.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -835,8 +961,8 @@

    Declaration

    diff --git a/docs/Enums/SetupResult.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Result.html similarity index 77% rename from docs/Enums/SetupResult.html rename to docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Result.html index aa66631e..cd9c3d0e 100644 --- a/docs/Enums/SetupResult.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Result.html @@ -1,7 +1,7 @@ - SetupResult Enumeration Reference + Result Extension Reference @@ -14,16 +14,16 @@ - + - +

    CoreStore Docs - (88% documented) + (90% documented)

    @@ -44,7 +44,7 @@

    @@ -56,9 +56,6 @@ - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -756,214 +882,21 @@
    -

    SetupResult

    +

    Result

    -
    public enum SetupResult<T> : Hashable where T : StorageInterface
    +
    @_frozen
    +enum Result<Success, Failure> where Failure : Error
    -

    The SetupResult indicates the result of an asynchronous initialization of a persistent store. -The SetupResult can be treated as a boolean:

    -
    try! CoreStore.addStorage(
    -    SQLiteStore(),
    -    completion: { (result: SetupResult) -> Void in
    -        if result {
    -            // succeeded
    -        }
    -        else {
    -            // failed
    -        }
    -    }
    -)
    -
    - -

    or as an enum, where the resulting associated object can also be inspected:

    -
    try! CoreStore.addStorage(
    -    SQLiteStore(),
    -    completion: { (result: SetupResult) -> Void in
    -        switch result {
    -        case .success(let storage):
    -            // storage is the related StorageInterface instance
    -        case .failure(let error):
    -            // error is the CoreStoreError enum value for the failure
    -        }
    -    }
    -)
    -
    - +
    -
      -
    • -
      - - - - success(_:) - -
      -
      -
      -
      -
      -
      -

      SetupResult.success indicates that the storage setup succeeded. The associated object for this enum value is the related StorageInterface instance.

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      case success(T)
      - -
      -
      -
      -
      -
    • -
    • -
      - - - - failure(_:) - -
      -
      -
      -
      -
      -
      -

      SetupResult.failure indicates that the storage setup failed. The associated object for this value is the related CoreStoreError enum value.

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      case failure(CoreStoreError)
      - -
      -
      -
      -
      -
    • -
    • -
      - - - - isSuccess - -
      -
      -
      -
      -
      -
      -

      Returns true if the result indicates .success, false if the result is .failure.

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public var isSuccess: Bool { get }
      - -
      -
      -
      -
      -
    • -
    -
    -
    - -
      -
    • -
      - - - - ==(_:_:) - -
      -
      -
      -
      -
      -
      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public static func == <T, U>(lhs: SetupResult<T>, rhs: SetupResult<U>) -> Bool where T : StorageInterface, U : StorageInterface
      - -
      -
      -
      -
      -
    • -
    -
    -
    - -
      -
    • -
      - - - - hash(into:) - -
      -
      -
      -
      -
      -
      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public func hash(into hasher: inout Hasher)
      - -
      -
      -
      -
      -
    • -
    -
    -
    -
    diff --git a/docs/Enums/MigrationResult.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Selector.html similarity index 78% rename from docs/Enums/MigrationResult.html rename to docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Selector.html index 9840ad32..b0230e83 100644 --- a/docs/Enums/MigrationResult.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Selector.html @@ -1,7 +1,7 @@ - MigrationResult Enumeration Reference + Selector Extension Reference @@ -14,16 +14,16 @@ - + - +

    CoreStore Docs - (88% documented) + (90% documented)

    @@ -44,7 +44,7 @@

    @@ -56,9 +56,6 @@ - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -756,160 +882,20 @@
    -

    MigrationResult

    +

    Selector

    -
    public enum MigrationResult : Hashable
    +
    struct Selector : ExpressibleByStringLiteral
    -

    The MigrationResult indicates the result of a migration. -The MigrationResult can be treated as a boolean:

    -
    CoreStore.upgradeStorageIfNeeded(SQLiteStorage(fileName: "data.sqlite")) { (result) in
    -    switch result {
    -    case .success(let migrationSteps):
    -        // ...
    -    case .failure(let error):
    -        // ...
    -    }
    -}
    -
    - +
    -
      -
    • -
      - - - - success(_:) - -
      -
      -
      -
      -
      -
      -

      MigrationResult.success indicates either the migration succeeded, or there were no migrations needed. The associated value is an array of MigrationTypes reflecting the migration steps completed.

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      case success([MigrationType])
      - -
      -
      -
      -
      -
    • -
    • -
      - - - - failure(_:) - -
      -
      -
      -
      -
      -
      -

      SaveResult.failure indicates that the migration failed. The associated object for this value is the a CoreStoreError enum value.

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      case failure(CoreStoreError)
      - -
      -
      -
      -
      -
    • -
    • -
      - - - - isSuccess - -
      -
      -
      -
      -
      -
      -

      Returns true if the result indicates .success, false if the result is .failure.

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public var isSuccess: Bool { get }
      - -
      -
      -
      -
      -
    • -
    -
    -
    - - -
    -
    -
    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Sequence.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Sequence.html index 1a4cf770..90069e55 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Sequence.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/Sequence.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -864,8 +990,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/String.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/String.html index 7f84afd8..71f3f0d9 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/String.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/String.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -885,8 +1011,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/URL.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/URL.html index 30120c24..a87b31d4 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/URL.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/URL.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -885,8 +1011,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/UUID.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/UUID.html index de730017..fd452319 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/UUID.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Extensions/UUID.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -886,8 +1012,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Functions.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Functions.html index 3a564274..49e58aca 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Functions.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Functions.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -2190,14 +2316,1008 @@

    Declaration

    +
    + +
      +
    • +
      + + + + ~(_:_:) + +
      +
      +
      +
      +
      +
      +

      Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

      +
      let owner = CoreStore.fetchOne(From<Pet>().where((\.master ~ \.name) == "John"))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func ~ <D, O, V>(lhs: KeyPath<D, O>, rhs: KeyPath<O, V>) -> Where<D>.Expression<Where<D>.SingleTarget, V> where D : NSManagedObject, O : NSManagedObject, V : AllowedObjectiveCKeyPathValue
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + ~(_:_:) + +
      +
      +
      +
      +
      +
      +

      Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

      +
      let owner = CoreStore.fetchOne(From<Pet>().where((\.master ~ \.name) == "John"))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func ~ <D, O, V>(lhs: KeyPath<D, O?>, rhs: KeyPath<O, V>) -> Where<D>.Expression<Where<D>.SingleTarget, V> where D : NSManagedObject, O : NSManagedObject, V : AllowedObjectiveCKeyPathValue
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + ~(_:_:) + +
      +
      +
      +
      +
      +
      +

      Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

      +
      let happyPets = CoreStore.fetchAll(From<Pet>().where((\.master ~ \.pets).count() > 1))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func ~ <D, O, V>(lhs: KeyPath<D, O>, rhs: KeyPath<O, V>) -> Where<D>.Expression<Where<D>.CollectionTarget, V> where D : NSManagedObject, O : NSManagedObject, V : AllowedObjectiveCCollectionKeyPathValue
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + ~(_:_:) + +
      +
      +
      +
      +
      +
      +

      Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

      +
      let happyPets = CoreStore.fetchAll(From<Pet>().where((\.master ~ \.pets).count() > 1))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func ~ <D, O, V>(lhs: KeyPath<D, O?>, rhs: KeyPath<O, V>) -> Where<D>.Expression<Where<D>.CollectionTarget, V> where D : NSManagedObject, O : NSManagedObject, V : AllowedObjectiveCCollectionKeyPathValue
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + ~(_:_:) + +
      +
      +
      +
      +
      +
      +

      Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

      +
      let johnsSonInLaw = CoreStore.fetchOne(From<Person>().where((\.spouse ~ \.father ~ \.name) == "John"))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func ~ <D, O, T, V>(lhs: Where<D>.Expression<T, O>, rhs: KeyPath<O, V>) -> Where<D>.Expression<T, V> where D : NSManagedObject, O : NSManagedObject, T : WhereExpressionTrait, V : AllowedObjectiveCKeyPathValue
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + ~(_:_:) + +
      +
      +
      +
      +
      +
      +

      Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

      +
      let johnsSonInLaw = CoreStore.fetchOne(From<Person>().where((\.spouse ~ \.father ~ \.name) == "John"))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func ~ <D, O, T, V>(lhs: Where<D>.Expression<T, O?>, rhs: KeyPath<O, V>) -> Where<D>.Expression<T, V> where D : NSManagedObject, O : NSManagedObject, T : WhereExpressionTrait, V : AllowedObjectiveCKeyPathValue
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + ~(_:_:) + +
      +
      +
      +
      +
      +
      +

      Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

      +
      let spouseHasSiblings = CoreStore.fetchOne(From<Person>().where((\.spouse ~ \.father ~ \.children).count() > 0))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func ~ <D, O, T, V>(lhs: Where<D>.Expression<T, O>, rhs: KeyPath<O, V>) -> Where<D>.Expression<Where<D>.CollectionTarget, V> where D : NSManagedObject, O : NSManagedObject, T : WhereExpressionTrait, V : AllowedObjectiveCCollectionKeyPathValue
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + ~(_:_:) + +
      +
      +
      +
      +
      +
      +

      Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

      +
      let spouseHasSiblings = CoreStore.fetchOne(From<Person>().where((\.spouse ~ \.father ~ \.children).count() > 0))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func ~ <D, O, T, V>(lhs: Where<D>.Expression<T, O?>, rhs: KeyPath<O, V>) -> Where<D>.Expression<Where<D>.CollectionTarget, V> where D : NSManagedObject, O : NSManagedObject, T : WhereExpressionTrait, V : AllowedObjectiveCCollectionKeyPathValue
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + ~(_:_:) + +
      +
      +
      +
      +
      +
      +

      Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

      +
      let spousesWithBadNamingSense = CoreStore.fetchAll(From<Person>().where((\.spouse ~ \.pets ~ \.name).any() == "Spot"))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func ~ <D, O, T, C, V>(lhs: Where<D>.Expression<T, C>, rhs: KeyPath<O, V>) -> Where<D>.Expression<Where<D>.CollectionTarget, V> where D : NSManagedObject, O : NSManagedObject, T : WhereExpressionTrait, C : AllowedObjectiveCCollectionKeyPathValue, V : AllowedObjectiveCKeyPathValue
      + +
      +
      +
      +
      +
    • +
    +
    +
    + + +
    +
    + +
      +
    • +
      + + + + ==(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by comparing if an expression is equal to a value

      +
      let dog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.name) == "John"))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func == <D, T, V>(lhs: Where<D>.Expression<T, V>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + !=(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by comparing if an expression is not equal to a value

      +
      let dog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.name) != "John"))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func != <D, T, V>(lhs: Where<D>.Expression<T, V>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + ~=(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by checking if a sequence contains a value

      +
      let dog = CoreStore.fetchOne(From<Dog>().where(["John", "Joe"] ~= (\.master ~ \.name))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func ~= <D, T, V, S>(sequence: S, expression: Where<D>.Expression<T, V>) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V == S.Element, S : Sequence
      + +
      +
      +
      +
      +
    • +
    +
    +
    + +
      +
    • +
      + + + + <(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by comparing if an expression is less than a value

      +
      let lonelyDog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.pets).count() < 2))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func < <D, T, V>(lhs: Where<D>.Expression<T, V>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V : Comparable
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + <=(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by comparing if an expression is less than or equal to a value

      +
      let lonelyDog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.pets).count() <= 1)
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func <= <D, T, V>(lhs: Where<D>.Expression<T, V>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V : Comparable
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + >(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by comparing if an expression is greater than a value

      +
      let happyDog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.pets).count() > 1)
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func > <D, T, V>(lhs: Where<D>.Expression<T, V>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V : Comparable
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + >=(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by comparing if an expression is greater than or equal to a value

      +
      let happyDog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.pets).count() >= 2)
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func >= <D, T, V>(lhs: Where<D>.Expression<T, V>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V : Comparable
      + +
      +
      +
      +
      +
    • +
    +
    +
    + +
      +
    • +
      + + + + ==(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by comparing if an expression is equal to a value

      +
      let dog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.name) == "John"))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func == <D, T, V>(lhs: Where<D>.Expression<T, V?>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + ==(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by comparing if an expression is equal to a value

      +
      let dog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.name) == "John"))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func == <D, T, V>(lhs: Where<D>.Expression<T, V?>, rhs: V?) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + !=(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by comparing if an expression is equal to a value

      +
      let dog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.name) != "John"))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func != <D, T, V>(lhs: Where<D>.Expression<T, V?>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + !=(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by comparing if an expression is equal to a value

      +
      let dog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.name) != "John"))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func != <D, T, V>(lhs: Where<D>.Expression<T, V?>, rhs: V?) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + ~=(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by checking if a sequence contains a value

      +
      let dog = CoreStore.fetchOne(From<Dog>().where(["John", "Joe"] ~= (\.master ~ \.name))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func ~= <D, T, V, S>(sequence: S, expression: Where<D>.Expression<T, V?>) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V == S.Element, S : Sequence
      + +
      +
      +
      +
      +
    • +
    +
    +
    + +
      +
    • +
      + + + + <(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by comparing if an expression is less than a value

      +
      let childsPet = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.age) < 10))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func < <D, T, V>(lhs: Where<D>.Expression<T, V?>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V : Comparable
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + <=(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by comparing if an expression is less than or equal to a value

      +
      let childsPet = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.age) <= 10))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func <= <D, T, V>(lhs: Where<D>.Expression<T, V?>, rhs: V?) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V : Comparable
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + >(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by comparing if an expression is greater than a value

      +
      let teensPet = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.age) > 10))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func > <D, T, V>(lhs: Where<D>.Expression<T, V?>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V : Comparable
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + >=(_:_:) + +
      +
      +
      +
      +
      +
      +

      Creates a Where clause by comparing if an expression is greater than or equal to a value

      +
      let teensPet = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.age) >= 10))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func >= <D, T, V>(lhs: Where<D>.Expression<T, V?>, rhs: V?) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V : Comparable
      + +
      +
      +
      +
      +
    • +
    +
    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Global Variables.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Global Variables.html index 48c9de99..db8f42d9 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Global Variables.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Global Variables.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -809,8 +935,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols.html index b6a3c7b3..d4974e1e 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1671,53 +1797,6 @@

    Declaration

    -
    - -
      -
    • -
      - - - - ICloudStoreObserver - -
      -
      -
      -
      -
      -
      -

      Implement the ICloudStoreObserver protocol to observe ubiquitous storage notifications from the specified iCloud store. -Note that ICloudStoreObserver methods are only called when all the following conditions are true:

      - - - - See more -
      -
      -

      Declaration

      -
      -

      Swift

      -
      @available(*, deprecated, message: "Please see the release notes and Core Data documentation.")
      -public protocol ICloudStoreObserver : AnyObject
      - -
      -
      -
      -
      -
    • -
    -
    @@ -1901,6 +1980,196 @@

    Declaration

    +
    + +
      +
    • + +
      +
      +
      +
      +
      +

      Used only for utility methods. Types allowed as Value generic type to KeyPath utilities.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public protocol AllowedObjectiveCKeyPathValue
      + +
      +
      +
      +
      +
    • +
    +
    +
    + + +
    +
    + + +
    +
    + +
      +
    • + +
      +
      +
      +
      +
      +

      Used only for utility methods. Types allowed as Value generic type to KeyPath utilities.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public protocol AllowedCoreStoreObjectKeyPathValue : DynamicKeyPath
      + +
      +
      +
      +
      +
    • +
    +
    +
    + + +
    @@ -2732,6 +3001,44 @@

    Declaration

    +
    + +
      +
    • +
      + + + + WhereExpressionTrait + +
      +
      +
      +
      +
      +
      +

      Used only for Where.Expression type constraints. Currently supports SingleTarget and CollectionTarget.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public protocol WhereExpressionTrait
      + +
      +
      +
      +
      +
    • +
    +
    @@ -2754,7 +3061,7 @@

    WhereClauseType

    -

    Abstracts the Where clause for protocol utilities.

    +

    Abstracts the Where clause for protocol utilities. Typically used only for utility method generic constraints.

    See more
    @@ -2777,8 +3084,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/AnyWhereClause.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/AnyWhereClause.html index 18ef41c5..ae6bbdd6 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/AnyWhereClause.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/AnyWhereClause.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -853,8 +979,8 @@

    Parameters

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CSDynamicSchema.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CSDynamicSchema.html index d5054351..db9c4601 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CSDynamicSchema.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CSDynamicSchema.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -842,8 +968,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CSListObjectObserver.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CSListObjectObserver.html index 2b870922..30ecbc32 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CSListObjectObserver.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CSListObjectObserver.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1088,8 +1214,8 @@

    Parameters

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CSListObserver.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CSListObserver.html index 1d541302..b38f8e4e 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CSListObserver.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CSListObserver.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -980,8 +1106,8 @@

    Parameters

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CSListSectionObserver.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CSListSectionObserver.html index 33904f8f..cb2dcdbc 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CSListSectionObserver.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CSListSectionObserver.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -935,8 +1061,8 @@

    Parameters

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CSLocalStorage.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CSLocalStorage.html index e4cd93e2..f773fdea 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CSLocalStorage.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CSLocalStorage.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -898,8 +1024,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CSObjectObserver.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CSObjectObserver.html index 283928a4..39323903 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CSObjectObserver.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CSObjectObserver.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -979,8 +1105,8 @@

    Parameters

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CSStorageInterface.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CSStorageInterface.html index 18148164..ef03f774 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CSStorageInterface.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CSStorageInterface.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -870,8 +996,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CloudStorage.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CloudStorage.html index 35022916..4138e875 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CloudStorage.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CloudStorage.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -888,8 +1014,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CoreStoreLogger.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CoreStoreLogger.html index dcd22438..cadf0f74 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CoreStoreLogger.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CoreStoreLogger.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1156,8 +1282,8 @@

    Parameters

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CoreStoreObjectKeyValueObservation.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CoreStoreObjectKeyValueObservation.html index 86ec0137..eda9a316 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CoreStoreObjectKeyValueObservation.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CoreStoreObjectKeyValueObservation.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -809,8 +935,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CoreStoreObjectiveCType.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CoreStoreObjectiveCType.html index f039fa7c..bb4a045a 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CoreStoreObjectiveCType.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CoreStoreObjectiveCType.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -861,8 +987,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CoreStoreSwiftType.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CoreStoreSwiftType.html index 18b5cc1c..01e652ae 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CoreStoreSwiftType.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/CoreStoreSwiftType.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -834,8 +960,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/DynamicKeyPath.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/DynamicKeyPath.html index 2cbd840a..b75137d0 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/DynamicKeyPath.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/DynamicKeyPath.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -792,7 +918,7 @@

    DynamicKeyPath

    Declaration

    Swift

    -
    associatedtype ObjectType
    +
    associatedtype ObjectType : DynamicObject
    @@ -834,8 +960,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/DynamicObject.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/DynamicObject.html index a277383b..9ae7d9e4 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/DynamicObject.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/DynamicObject.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1113,8 +1239,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/DynamicSchema.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/DynamicSchema.html index 07fae6bb..a785005b 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/DynamicSchema.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/DynamicSchema.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -890,8 +1016,8 @@

    Return Value

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/FetchChainableBuilderType.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/FetchChainableBuilderType.html index 27f07f59..9ea442d7 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/FetchChainableBuilderType.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/FetchChainableBuilderType.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -861,8 +987,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/FetchableSource.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/FetchableSource.html index ee19f3e2..71c2ce43 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/FetchableSource.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/FetchableSource.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -975,9 +1101,9 @@

    Return Value

  • @@ -986,13 +1112,18 @@

    Return Value

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> D? where D : DynamicObject
    +
    func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> D? where D : DynamicObject
    @@ -1029,7 +1160,7 @@

    Parameters

    Return Value

    -

    the first DynamicObject instance that satisfies the specified FetchClauses

    +

    the first DynamicObject instance that satisfies the specified FetchClauses, or nil if no match was found

    @@ -1037,9 +1168,9 @@

    Return Value

  • @@ -1048,13 +1179,18 @@

    Return Value

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> D? where D : DynamicObject
    +
    func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> D? where D : DynamicObject
    @@ -1091,7 +1227,7 @@

    Parameters

    Return Value

    -

    the first DynamicObject instance that satisfies the specified FetchClauses

    +

    the first DynamicObject instance that satisfies the specified FetchClauses, or nil if no match was found

    @@ -1099,9 +1235,9 @@

    Return Value

  • @@ -1116,13 +1252,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchOne<B>(_ clauseChain: B) -> B.ObjectType? where B : FetchChainableBuilderType
    +
    func fetchOne<B>(_ clauseChain: B) throws -> B.ObjectType? where B : FetchChainableBuilderType
    @@ -1147,7 +1288,7 @@

    Parameters

    Return Value

    -

    the first DynamicObject instance that satisfies the specified FetchChainableBuilderType

    +

    the first DynamicObject instance that satisfies the specified FetchChainableBuilderType, or nil if no match was found

    @@ -1155,9 +1296,9 @@

    Return Value

  • @@ -1166,13 +1307,18 @@

    Return Value

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [D]? where D : DynamicObject
    +
    func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [D] where D : DynamicObject
    @@ -1209,7 +1355,7 @@

    Parameters

    Return Value

    -

    all DynamicObject instances that satisfy the specified FetchClauses

    +

    all DynamicObject instances that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -1217,9 +1363,9 @@

    Return Value

  • @@ -1228,13 +1374,18 @@

    Return Value

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [D]? where D : DynamicObject
    +
    func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [D] where D : DynamicObject
    @@ -1271,7 +1422,7 @@

    Parameters

    Return Value

    -

    all DynamicObject instances that satisfy the specified FetchClauses

    +

    all DynamicObject instances that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -1279,9 +1430,9 @@

    Return Value

  • @@ -1296,13 +1447,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchAll<B>(_ clauseChain: B) -> [B.ObjectType]? where B : FetchChainableBuilderType
    +
    func fetchAll<B>(_ clauseChain: B) throws -> [B.ObjectType] where B : FetchChainableBuilderType
    @@ -1327,7 +1483,7 @@

    Parameters

    Return Value

    -

    all DynamicObject instances that satisfy the specified FetchChainableBuilderType

    +

    all DynamicObject instances that satisfy the specified FetchChainableBuilderType, or an empty array if no match was found

    @@ -1335,9 +1491,9 @@

    Return Value

  • @@ -1346,13 +1502,18 @@

    Return Value

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> Int? where D : DynamicObject
    +
    func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> Int where D : DynamicObject
    @@ -1389,7 +1550,7 @@

    Parameters

    Return Value

    -

    the number DynamicObjects that satisfy the specified FetchClauses

    +

    the number of DynamicObjects that satisfy the specified FetchClauses

    @@ -1397,9 +1558,9 @@

    Return Value

  • @@ -1408,13 +1569,18 @@

    Return Value

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> Int? where D : DynamicObject
    +
    func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> Int where D : DynamicObject
    @@ -1451,7 +1617,7 @@

    Parameters

    Return Value

    -

    the number DynamicObjects that satisfy the specified FetchClauses

    +

    the number of DynamicObjects that satisfy the specified FetchClauses

    @@ -1459,9 +1625,9 @@

    Return Value

  • @@ -1476,13 +1642,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchCount<B>(_ clauseChain: B) -> Int? where B : FetchChainableBuilderType
    +
    func fetchCount<B>(_ clauseChain: B) throws -> Int where B : FetchChainableBuilderType
    @@ -1507,7 +1678,7 @@

    Parameters

    Return Value

    -

    the number DynamicObjects that satisfy the specified FetchChainableBuilderType

    +

    the number of DynamicObjects that satisfy the specified FetchChainableBuilderType

    @@ -1515,9 +1686,9 @@

    Return Value

  • @@ -1526,13 +1697,18 @@

    Return Value

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> NSManagedObjectID? where D : DynamicObject
    +
    func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> NSManagedObjectID? where D : DynamicObject
    @@ -1569,7 +1745,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses

    +

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses, or nil if no match was found

    @@ -1577,9 +1753,9 @@

    Return Value

  • @@ -1588,13 +1764,18 @@

    Return Value

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> NSManagedObjectID? where D : DynamicObject
    +
    func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> NSManagedObjectID? where D : DynamicObject
    @@ -1631,7 +1812,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses

    +

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses, or nil if no match was found

    @@ -1639,9 +1820,9 @@

    Return Value

  • @@ -1656,13 +1837,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchObjectID<B>(_ clauseChain: B) -> NSManagedObjectID? where B : FetchChainableBuilderType
    +
    func fetchObjectID<B>(_ clauseChain: B) throws -> NSManagedObjectID? where B : FetchChainableBuilderType
    @@ -1687,7 +1873,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType

    +

    the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType, or nil if no match was found

    @@ -1695,9 +1881,9 @@

    Return Value

  • @@ -1706,13 +1892,18 @@

    Return Value

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [NSManagedObjectID]? where D : DynamicObject
    +
    func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [NSManagedObjectID] where D : DynamicObject
    @@ -1749,7 +1940,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses

    +

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -1757,9 +1948,9 @@

    Return Value

  • @@ -1768,13 +1959,18 @@

    Return Value

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [NSManagedObjectID]? where D : DynamicObject
    +
    func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [NSManagedObjectID] where D : DynamicObject
    @@ -1811,7 +2007,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses

    +

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses, or an empty array if no match was found

    @@ -1819,9 +2015,9 @@

    Return Value

  • @@ -1836,13 +2032,18 @@

    Return Value

    .orderBy(.ascending(\.age)) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func fetchObjectIDs<B>(_ clauseChain: B) -> [NSManagedObjectID]? where B : FetchChainableBuilderType
    +
    func fetchObjectIDs<B>(_ clauseChain: B) throws -> [NSManagedObjectID] where B : FetchChainableBuilderType
    @@ -1867,7 +2068,7 @@

    Parameters

    Return Value

    -

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType

    +

    the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType, or an empty array if no match was found

    @@ -1907,8 +2108,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/GroupByClause.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/GroupByClause.html index 725f1998..1caddb2d 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/GroupByClause.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/GroupByClause.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

  • - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -834,8 +960,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/ICloudStoreObserver.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/ICloudStoreObserver.html deleted file mode 100644 index 53afa24a..00000000 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/ICloudStoreObserver.html +++ /dev/null @@ -1,1316 +0,0 @@ - - - - ICloudStoreObserver Protocol Reference - - - - - - - - - - - - - - - - -
    -

    - - CoreStore Docs - - (88% documented) -

    - -

    -

    - -
    -

    - -

    - - - View on GitHub - -

    - -
    - - - -
    - -
    - -
    -
    -

    ICloudStoreObserver

    -
    -
    -
    @available(*, deprecated, message: "Please see the release notes and Core Data documentation.")
    -public protocol ICloudStoreObserver : AnyObject
    - -
    -
    -

    Implement the ICloudStoreObserver protocol to observe ubiquitous storage notifications from the specified iCloud store. -Note that ICloudStoreObserver methods are only called when all the following conditions are true:

    - - - -
    -
    - -
    -
    -
    -
      -
    • - -
      -
      -
      -
      -
      -

      Notifies that the initial ubiquitous store import will complete

      - -
      -

      Default Implementation

      -
      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      func iCloudStoreWillFinishUbiquitousStoreInitialImport(storage: ICloudStore, dataStack: DataStack)
      - -
      -
      -
      -

      Parameters

      - - - - - - - - - - - -
      - - storage - - -
      -

      the ICloudStore instance being observed

      -
      -
      - - dataStack - - -
      -

      the DataStack that manages the peristent store

      -
      -
      -
      -
      -
      -
    • -
    • - -
      -
      -
      -
      -
      -

      Notifies that the initial ubiquitous store import completed

      - -
      -

      Default Implementation

      -
      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      func iCloudStoreDidFinishUbiquitousStoreInitialImport(storage: ICloudStore, dataStack: DataStack)
      - -
      -
      -
      -

      Parameters

      - - - - - - - - - - - -
      - - storage - - -
      -

      the ICloudStore instance being observed

      -
      -
      - - dataStack - - -
      -

      the DataStack that manages the peristent store

      -
      -
      -
      -
      -
      -
    • -
    • -
      - - - - iCloudStoreWillAddAccount(storage:dataStack:) - - - Default implementation - -
      -
      -
      -
      -
      -
      -

      Notifies that an iCloud account will be added to the coordinator

      - -
      -

      Default Implementation

      -
      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      func iCloudStoreWillAddAccount(storage: ICloudStore, dataStack: DataStack)
      - -
      -
      -
      -

      Parameters

      - - - - - - - - - - - -
      - - storage - - -
      -

      the ICloudStore instance being observed

      -
      -
      - - dataStack - - -
      -

      the DataStack that manages the peristent store

      -
      -
      -
      -
      -
      -
    • -
    • -
      - - - - iCloudStoreDidAddAccount(storage:dataStack:) - - - Default implementation - -
      -
      -
      -
      -
      -
      -

      Notifies that an iCloud account was added to the coordinator

      - -
      -

      Default Implementation

      -
      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      func iCloudStoreDidAddAccount(storage: ICloudStore, dataStack: DataStack)
      - -
      -
      -
      -

      Parameters

      - - - - - - - - - - - -
      - - storage - - -
      -

      the ICloudStore instance being observed

      -
      -
      - - dataStack - - -
      -

      the DataStack that manages the peristent store

      -
      -
      -
      -
      -
      -
    • -
    • -
      - - - - iCloudStoreWillRemoveAccount(storage:dataStack:) - - - Default implementation - -
      -
      -
      -
      -
      -
      -

      Notifies that an iCloud account will be removed from the coordinator

      - -
      -

      Default Implementation

      -
      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      func iCloudStoreWillRemoveAccount(storage: ICloudStore, dataStack: DataStack)
      - -
      -
      -
      -

      Parameters

      - - - - - - - - - - - -
      - - storage - - -
      -

      the ICloudStore instance being observed

      -
      -
      - - dataStack - - -
      -

      the DataStack that manages the peristent store

      -
      -
      -
      -
      -
      -
    • -
    • -
      - - - - iCloudStoreDidRemoveAccount(storage:dataStack:) - - - Default implementation - -
      -
      -
      -
      -
      -
      -

      Notifies that an iCloud account was removed from the coordinator

      - -
      -

      Default Implementation

      -
      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      func iCloudStoreDidRemoveAccount(storage: ICloudStore, dataStack: DataStack)
      - -
      -
      -
      -

      Parameters

      - - - - - - - - - - - -
      - - storage - - -
      -

      the ICloudStore instance being observed

      -
      -
      - - dataStack - - -
      -

      the DataStack that manages the peristent store

      -
      -
      -
      -
      -
      -
    • -
    • -
      - - - - iCloudStoreWillRemoveContent(storage:dataStack:) - - - Default implementation - -
      -
      -
      -
      -
      -
      -

      Notifies that iCloud contents will be deleted

      - -
      -

      Default Implementation

      -
      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      func iCloudStoreWillRemoveContent(storage: ICloudStore, dataStack: DataStack)
      - -
      -
      -
      -

      Parameters

      - - - - - - - - - - - -
      - - storage - - -
      -

      the ICloudStore instance being observed

      -
      -
      - - dataStack - - -
      -

      the DataStack that manages the peristent store

      -
      -
      -
      -
      -
      -
    • -
    • -
      - - - - iCloudStoreDidRemoveContent(storage:dataStack:) - - - Default implementation - -
      -
      -
      -
      -
      -
      -

      Notifies that iCloud contents were deleted

      - -
      -

      Default Implementation

      -
      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      func iCloudStoreDidRemoveContent(storage: ICloudStore, dataStack: DataStack)
      - -
      -
      -
      -

      Parameters

      - - - - - - - - - - - -
      - - storage - - -
      -

      the ICloudStore instance being observed

      -
      -
      - - dataStack - - -
      -

      the DataStack that manages the peristent store

      -
      -
      -
      -
      -
      -
    • -
    -
    -
    -
    - -
    -
    - - - - diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/ImportableObject.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/ImportableObject.html index a848919f..a4e1c5b1 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/ImportableObject.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/ImportableObject.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -953,8 +1079,8 @@

    Parameters

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/ImportableUniqueObject.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/ImportableUniqueObject.html index 02ff3b76..00f48e67 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/ImportableUniqueObject.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/ImportableUniqueObject.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1202,8 +1328,8 @@

    Parameters

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/ListObjectObserver.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/ListObjectObserver.html index af1cd4b5..414a1f0a 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/ListObjectObserver.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/ListObjectObserver.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1111,8 +1237,8 @@

    Parameters

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/ListObserver.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/ListObserver.html index 99aa35d8..733d7441 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/ListObserver.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/ListObserver.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1023,8 +1149,8 @@

    Parameters

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/ListSectionObserver.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/ListSectionObserver.html index 606d8c07..609ed724 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/ListSectionObserver.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/ListSectionObserver.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -944,8 +1070,8 @@

    Parameters

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/LocalStorage.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/LocalStorage.html index 3295b3e9..bd777ae6 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/LocalStorage.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/LocalStorage.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -942,8 +1068,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/ObjectObserver.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/ObjectObserver.html index 5a81e10f..1c489dae 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/ObjectObserver.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/ObjectObserver.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1021,8 +1147,8 @@

    Parameters

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/OrderByClause.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/OrderByClause.html index d91b69ed..0cddeb73 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/OrderByClause.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/OrderByClause.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -834,8 +960,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/QueryChainableBuilderType.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/QueryChainableBuilderType.html index 7dceae9d..049a1400 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/QueryChainableBuilderType.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/QueryChainableBuilderType.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -915,8 +1041,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/QueryableAttributeType.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/QueryableAttributeType.html index 86736d35..a5d2ef08 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/QueryableAttributeType.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/QueryableAttributeType.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -919,8 +1045,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/QueryableSource.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/QueryableSource.html index 289c6360..377486f9 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/QueryableSource.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/QueryableSource.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -775,9 +901,9 @@

    QueryableSource

  • @@ -788,13 +914,18 @@

    QueryableSource

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) -> U? where D : DynamicObject, U : QueryableAttributeType
    +
    func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) throws -> U? where D : DynamicObject, U : QueryableAttributeType
    @@ -843,7 +974,7 @@

    Parameters

    Return Value

    -

    the result of the the query. The type of the return value is specified by the generic type of the Select<U> parameter.

    +

    the result of the the query, or nil if no match was found. The type of the return value is specified by the generic type of the Select<U> parameter.

    @@ -851,9 +982,9 @@

    Return Value

  • @@ -864,13 +995,18 @@

    Return Value

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) -> U? where D : DynamicObject, U : QueryableAttributeType
    +
    func queryValue<D, U>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) throws -> U? where D : DynamicObject, U : QueryableAttributeType
    @@ -919,7 +1055,7 @@

    Parameters

    Return Value

    -

    the result of the the query. The type of the return value is specified by the generic type of the Select<U> parameter.

    +

    the result of the the query, or nil if no match was found. The type of the return value is specified by the generic type of the Select<U> parameter.

    @@ -927,9 +1063,9 @@

    Return Value

  • @@ -946,13 +1082,18 @@

    Return Value

    .where(\.age > 18) ) +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func queryValue<B>(_ clauseChain: B) -> B.ResultType? where B : QueryChainableBuilderType, B.ResultType : QueryableAttributeType
    +
    func queryValue<B>(_ clauseChain: B) throws -> B.ResultType? where B : QueryChainableBuilderType, B.ResultType : QueryableAttributeType
    @@ -977,7 +1118,7 @@

    Parameters

    Return Value

    -

    the result of the the query as specified by the QueryChainableBuilderType

    +

    the result of the the query as specified by the QueryChainableBuilderType, or nil if no match was found.

    @@ -985,9 +1126,9 @@

    Return Value

  • @@ -998,13 +1139,18 @@

    Return Value

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) -> [[String : Any]]? where D : DynamicObject
    +
    func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) throws -> [[String : Any]] where D : DynamicObject
    @@ -1061,9 +1207,9 @@

    Return Value

  • @@ -1074,13 +1220,18 @@

    Return Value

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    A query differs from a fetch in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.

    +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) -> [[String : Any]]? where D : DynamicObject
    +
    func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) throws -> [[String : Any]] where D : DynamicObject
    @@ -1137,9 +1288,9 @@

    Return Value

  • @@ -1165,13 +1316,18 @@

    Return Value

    print("There are \(count) people who are \(age) years old." } +
    +

    Throws

    + CoreStoreError.persistentStoreNotFound if the specified entity could not be found in any store’s schema. + +

    Declaration

    Swift

    -
    func queryAttributes<B>(_ clauseChain: B) -> [[String : Any]]? where B : QueryChainableBuilderType, B.ResultType == NSDictionary
    +
    func queryAttributes<B>(_ clauseChain: B) throws -> [[String : Any]] where B : QueryChainableBuilderType, B.ResultType == NSDictionary
    @@ -1236,8 +1392,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/SchemaMappingProvider.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/SchemaMappingProvider.html index a83d3b5e..df863a3e 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/SchemaMappingProvider.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/SchemaMappingProvider.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

  • - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -807,8 +933,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/SectionMonitorBuilderType.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/SectionMonitorBuilderType.html index d1a15f20..aa66201e 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/SectionMonitorBuilderType.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/SectionMonitorBuilderType.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -889,8 +1015,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/SelectClause.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/SelectClause.html index 2d2825bb..a6da13de 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/SelectClause.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/SelectClause.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -861,8 +987,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/StorageInterface.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/StorageInterface.html index 3c953872..6ca8a679 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/StorageInterface.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/StorageInterface.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -926,8 +1052,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/WhereClauseType.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/WhereClauseType.html index 1004c7b5..c8385079 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/WhereClauseType.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Protocols/WhereClauseType.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -763,7 +889,7 @@

    WhereClauseType

    -

    Abstracts the Where clause for protocol utilities.

    +

    Abstracts the Where clause for protocol utilities. Typically used only for utility method generic constraints.

    @@ -813,9 +939,9 @@

    WhereClauseType

  • - + - &&(_:_:) + &&(_:_:) Extension method @@ -838,7 +964,7 @@

    WhereClauseType

    Declaration

    Swift

    -
    public static func && <TWhere>(left: Self, right: TWhere) -> Self where TWhere : WhereClauseType
    +
    public static func && <TWhere>(left: Self, right: TWhere) -> Where<Self.ObjectType> where TWhere : WhereClauseType
    @@ -848,9 +974,9 @@

    Declaration

  • - + - &&(_:_:) + &&(_:_:) Extension method @@ -873,7 +999,7 @@

    Declaration

    Declaration

    Swift

    -
    public static func && <TWhere>(left: TWhere, right: Self) -> Self where TWhere : WhereClauseType
    +
    public static func && <TWhere>(left: TWhere, right: Self) -> Where<Self.ObjectType> where TWhere : WhereClauseType
    @@ -883,9 +1009,9 @@

    Declaration

  • - + - ||(_:_:) + ||(_:_:) Extension method @@ -908,7 +1034,7 @@

    Declaration

    Declaration

    Swift

    -
    public static func || <TWhere>(left: Self, right: TWhere) -> Self where TWhere : WhereClauseType
    +
    public static func || <TWhere>(left: Self, right: TWhere) -> Where<Self.ObjectType> where TWhere : WhereClauseType
    @@ -918,9 +1044,9 @@

    Declaration

  • - + - ||(_:_:) + ||(_:_:) Extension method @@ -943,7 +1069,7 @@

    Declaration

    Declaration

    Swift

    -
    public static func || <TWhere>(left: TWhere, right: Self) -> Self where TWhere : WhereClauseType
    +
    public static func || <TWhere>(left: TWhere, right: Self) -> Where<Self.ObjectType> where TWhere : WhereClauseType
    @@ -958,8 +1084,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs.html index caf76309..f31a8b7d 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

  • - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1131,6 +1257,45 @@

    Declaration

    +
    + +
      +
    • +
      + + + + PartialObject + +
      +
      +
      +
      +
      +
      +

      A PartialObject is only used when overriding getters and setters for CoreStoreObject properties. Custom getters and setters are implemented as a closure that overrides the default property getter/setter. The closure receives a PartialObject<O>, which acts as a fast, type-safe KVC interface for CoreStoreObject. The reason a CoreStoreObject instance is not passed directly is because the Core Data runtime is not aware of CoreStoreObject properties’ static typing, and so loading those info everytime KVO invokes this accessor method incurs a heavy performance hit (especially in KVO-heavy operations such as ListMonitor observing.) When accessing the property value from PartialObject<O>, make sure to use PartialObject<O>.persistentValue(for:) instead of PartialObject<O>.value(for:), which would unintentionally execute the same closure again recursively.

      + + See more +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public struct PartialObject<O> where O : CoreStoreObject
      + +
      +
      +
      +
      +
    • +
    +
    @@ -1503,53 +1668,14 @@

    Declaration

    -
    - -
      -
    • -
      - - - - PartialObject - -
      -
      -
      -
      -
      -
      -

      A PartialObject is only used when overriding getters and setters for CoreStoreObject properties. Custom getters and setters are implemented as a closure that overrides the default property getter/setter. The closure receives a PartialObject<O>, which acts as a fast, type-safe KVC interface for CoreStoreObject. The reason a CoreStoreObject instance is not passed directly is because the Core Data runtime is not aware of CoreStoreObject properties’ static typing, and so loading those info everytime KVO invokes this accessor method incurs a heavy performance hit (especially in KVO-heavy operations such as ListMonitor observing.) When accessing the property value from PartialObject<O>, make sure to use PartialObject<O>.persistentValue(for:) instead of PartialObject<O>.value(for:), which would unintentionally execute the same closure again recursively.

      - - See more -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public struct PartialObject<O> where O : CoreStoreObject
      - -
      -
      -
      -
      -
    • -
    -
    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/CloudStorageOptions.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/CloudStorageOptions.html index 9b18f87a..67bc8184 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/CloudStorageOptions.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/CloudStorageOptions.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1009,8 +1135,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/FetchChainBuilder.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/FetchChainBuilder.html index 06036454..dc457a90 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/FetchChainBuilder.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/FetchChainBuilder.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -867,10 +993,10 @@

    Declaration

      @@ -1048,6 +1174,56 @@

      Return Value

    +
  • +
    + + + + orderBy(_:) + +
    +
    +
    +
    +
    +
    +

    Adds an OrderBy clause to the FetchChainBuilder

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func orderBy(_ clause: OrderBy<D>) -> FetchChainBuilder<D>
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + clause + + +
    +

    the OrderBy clause to add

    +
    +
    +
    +
    +

    Return Value

    +

    a new FetchChainBuilder containing the OrderBy clause

    +
    +
    +
    +
  • @@ -1110,6 +1286,56 @@

    Return Value

  • +
  • +
    + + + + orderBy(_:) + +
    +
    +
    +
    +
    +
    +

    Adds an OrderBy clause to the FetchChainBuilder

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func orderBy(_ sortKeys: [OrderBy<D>.SortKey]) -> FetchChainBuilder<D>
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + sortKeys + + +
    +

    a series of SortKeys

    +
    +
    +
    +
    +

    Return Value

    +

    a new FetchChainBuilder containing the OrderBy clause

    +
    +
    +
    +
  • @@ -1268,8 +1494,8 @@

    Return Value

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/From.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/From.html index 17de2aa8..c621e27d 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/From.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/From.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

  • - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1372,6 +1498,56 @@

    Return Value

    +
  • +
    + + + + orderBy(_:) + +
    +
    +
    +
    +
    +
    +

    Creates a FetchChainBuilder that starts with the specified OrderBy clause.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func orderBy(_ clause: OrderBy<D>) -> FetchChainBuilder<D>
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + clause + + +
    +

    the OrderBy clause to create a FetchChainBuilder with

    +
    +
    +
    +
    +

    Return Value

    +

    a FetchChainBuilder that starts with the specified OrderBy clause

    +
    +
    +
    +
  • @@ -1434,6 +1610,56 @@

    Return Value

  • +
  • +
    + + + + orderBy(_:) + +
    +
    +
    +
    +
    +
    +

    Creates a FetchChainBuilder with a series of SortKeys

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func orderBy(_ sortKeys: [OrderBy<D>.SortKey]) -> FetchChainBuilder<D>
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + sortKeys + + +
    +

    a series of SortKeys

    +
    +
    +
    +
    +

    Return Value

    +

    a FetchChainBuilder with a series of SortKeys

    +
    +
    +
    +
  • @@ -1944,10 +2170,10 @@

    Return Value

      @@ -2124,10 +2350,10 @@

      Return Value

      @@ -2865,8 +3091,8 @@

      Return Value

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/GroupBy.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/GroupBy.html index e6847d5e..4772be37 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/GroupBy.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/GroupBy.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

  • - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1337,8 +1463,8 @@

    Parameters

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/Into.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/Into.html index f008511f..e869450e 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/Into.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/Into.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1137,8 +1263,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/LocalStorageOptions.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/LocalStorageOptions.html index 79692729..8710d90a 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/LocalStorageOptions.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/LocalStorageOptions.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1036,8 +1162,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/MigrationChain.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/MigrationChain.html index e6d8e146..23305623 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/MigrationChain.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/MigrationChain.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1245,8 +1371,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/OrderBy.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/OrderBy.html index ac392a3a..cdbba17d 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/OrderBy.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/OrderBy.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1270,8 +1396,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/OrderBy/SortKey.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/OrderBy/SortKey.html index 6b206e9b..d31379f7 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/OrderBy/SortKey.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/OrderBy/SortKey.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1129,10 +1255,10 @@

    Declaration

      @@ -1198,8 +1324,8 @@

      Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/PartialObject.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/PartialObject.html index b7c70be5..9a26c6b5 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/PartialObject.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/PartialObject.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1293,14 +1419,51 @@

    Declaration

    +
    + +
      +
    • +
      + + + + debugDescription + +
      +
      +
      +
      +
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var debugDescription: String { get }
      + +
      +
      +
      +
      +
    • +
    +
    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/QueryChainBuilder.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/QueryChainBuilder.html index 7c2bcd51..46b99ac9 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/QueryChainBuilder.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/QueryChainBuilder.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -919,10 +1045,10 @@

    Declaration

      @@ -1100,6 +1226,56 @@

      Return Value

    +
  • +
    + + + + orderBy(_:) + +
    +
    +
    +
    +
    +
    +

    Adds an OrderBy clause to the QueryChainBuilder

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func orderBy(_ clause: OrderBy<D>) -> QueryChainBuilder<D, R>
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + clause + + +
    +

    the OrderBy clause to add

    +
    +
    +
    +
    +

    Return Value

    +

    a new QueryChainBuilder containing the OrderBy clause

    +
    +
    +
    +
  • @@ -1162,6 +1338,56 @@

    Return Value

  • +
  • +
    + + + + orderBy(_:) + +
    +
    +
    +
    +
    +
    +

    Adds an OrderBy clause to the QueryChainBuild

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func orderBy(_ sortKeys: [OrderBy<D>.SortKey]) -> QueryChainBuilder<D, R>
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + sortKeys + + +
    +

    a series of SortKeys

    +
    +
    +
    +
    +

    Return Value

    +

    a new QueryChainBuilder containing the OrderBy clause

    +
    +
    +
    +
  • @@ -1478,10 +1704,10 @@

    Return Value

      @@ -1539,10 +1765,10 @@

      Return Value

      @@ -1804,8 +2030,8 @@

      Return Value

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/SectionBy.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/SectionBy.html index d6fcae0a..664e9aba 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/SectionBy.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/SectionBy.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

  • - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1500,8 +1626,8 @@

    Parameters

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/SectionMonitorChainBuilder.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/SectionMonitorChainBuilder.html index c0e2dce6..a5a03150 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/SectionMonitorChainBuilder.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/SectionMonitorChainBuilder.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -869,10 +995,10 @@

    Declaration

      @@ -1050,6 +1176,56 @@

      Return Value

    +
  • +
    + + + + orderBy(_:) + +
    +
    +
    +
    +
    +
    +

    Adds an OrderBy clause to the SectionMonitorChainBuilder

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func orderBy(_ clause: OrderBy<D>) -> SectionMonitorChainBuilder<D>
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + clause + + +
    +

    the OrderBy clause to add

    +
    +
    +
    +
    +

    Return Value

    +

    a new SectionMonitorChainBuilder containing the OrderBy clause

    +
    +
    +
    +
  • @@ -1112,6 +1288,56 @@

    Return Value

  • +
  • +
    + + + + orderBy(_:) + +
    +
    +
    +
    +
    +
    +

    Adds an OrderBy clause to the SectionMonitorChainBuilder

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func orderBy(_ sortKeys: [OrderBy<D>.SortKey]) -> SectionMonitorChainBuilder<D>
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + sortKeys + + +
    +

    a series of SortKeys

    +
    +
    +
    +
    +

    Return Value

    +

    a new SectionMonitorChainBuilder containing the OrderBy clause

    +
    +
    +
    +
  • @@ -1266,10 +1492,10 @@

    Return Value

      @@ -1331,8 +1557,8 @@

      Return Value

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/Select.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/Select.html index bb31440d..eef30520 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/Select.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/Select.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

  • - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1414,8 +1540,8 @@

    Parameters

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/Tweak.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/Tweak.html index 7bbbdff6..e72c72d0 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/Tweak.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/Tweak.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -941,8 +1067,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/VersionLock.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/VersionLock.html index be1d779d..b76dafa7 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/VersionLock.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/VersionLock.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1085,8 +1211,8 @@

    Declaration

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/Where.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/Where.html index 948ced1e..14378d72 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/Where.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/Where.html @@ -23,7 +23,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -56,9 +56,6 @@

    - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -1004,6 +1130,52 @@

    Declaration

    +
  • +
    + + + + init(_:) + +
    +
    +
    +
    +
    +
    +

    Initializes a Where clause with an existing Where clause.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(_ clause: Where<D>)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + clause + + +
    +

    the existing Where clause.

    +
    +
    +
    +
    +
    +
  • @@ -1785,6 +1957,126 @@

    Declaration

  • +
    + +
      +
    • +
      + + + + Expression + +
      +
      +
      +
      +
      +
      +

      Type-safe keyPath chain usable in query/fetch expressions.

      +
      let expression: Where<Pet>.Expression = (\.master ~ \.name)
      +let owner = CoreStore.fetchOne(
      +   From<Pet>().where(expression == "John")
      +)
      +
      + + See more +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public struct Expression<T, V> : CustomStringConvertible, DynamicKeyPath where T : WhereExpressionTrait
      + +
      +
      +
      +
      +
    • +
    +
    +
    + + +
    +
    + + +
    @@ -2903,8 +3195,8 @@

    Parameters

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/AsynchronousDataTransaction/Result.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/Where/Expression.html similarity index 52% rename from docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/AsynchronousDataTransaction/Result.html rename to docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/Where/Expression.html index 861bb0de..ada12405 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Classes/AsynchronousDataTransaction/Result.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/Structs/Where/Expression.html @@ -1,7 +1,7 @@ - Result Enumeration Reference + Expression Structure Reference @@ -14,16 +14,16 @@ - + - +

    CoreStore Docs - (88% documented) + (90% documented)

    @@ -44,7 +44,7 @@

    @@ -56,9 +56,6 @@ - @@ -182,9 +179,6 @@ - @@ -252,9 +246,6 @@ - @@ -273,9 +264,6 @@ - @@ -338,12 +326,18 @@ + + @@ -374,6 +368,12 @@ + + @@ -391,6 +391,15 @@ + + + + + @@ -756,14 +882,19 @@
    -

    Result

    +

    Expression

    -
    public enum Result<T>
    +
    public struct Expression<T, V> : CustomStringConvertible, DynamicKeyPath where T : WhereExpressionTrait
    -

    The Result contains the success or failure information for a completed transaction

    +

    Type-safe keyPath chain usable in query/fetch expressions.

    +
    let expression: Where<Pet>.Expression = (\.master ~ \.name)
    +let owner = CoreStore.fetchOne(
    +   From<Pet>().where(expression == "John")
    +)
    +
    @@ -775,9 +906,351 @@

    Result

  • - - - success(userInfo:) + + + Trait + +
    +
    +
    +
    +
    +
    +

    Currently supports SingleTarget and CollectionTarget.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias Trait = T
    + +
    +
    +
    +
    +
  • + +
    +
    + +
      +
    • +
      + + + + cs_keyPathString + +
      +
      +
      +
      +
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public let cs_keyPathString: String
      + +
      +
      +
      +
      +
    • +
    +
    +
    + +
      +
    • +
      + + + + ObjectType + +
      +
      +
      +
      +
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public typealias ObjectType = D
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + ValueType + +
      +
      +
      +
      +
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public typealias ValueType = V
      + +
      +
      +
      +
      +
    • +
    +
    +
    + +
      +
    • +
      + + + + description + +
      +
      +
      +
      +
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var description: String { get }
      + +
      +
      +
      +
      +
    • +
    +
    +
    + +
      +
    • +
      + + + + count() + +
      +
      +
      +
      +
      +
      +

      Creates a Where.Expression clause for COUNT

      +
      let dogsWithPlaymates = CoreStore.fetchAll(From<Dog>().where((\.master ~ \.pets).count() > 1))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func count() -> Where<D>.Expression<T, Int>
      + +
      +
      +
      +
      +
    • +
    +
    +
    + +
      +
    • +
      + + + + any() + +
      +
      +
      +
      +
      +
      +

      Creates a Where.Expression clause for ANY

      +
      let dogsWithBadNamingSense = CoreStore.fetchAll(From<Dog>().where((\.master ~ \.pets ~ \.name).any() > "Spot"))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func any() -> Where<D>.Expression<T, V>
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + all() + +
      +
      +
      +
      +
      +
      +

      Creates a Where.Expression clause for ALL

      +
      let allPlaymatePuppies = CoreStore.fetchAll(From<Dog>().where((\.master ~ \.pets ~ \.age).all() > 5))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func all() -> Where<D>.Expression<T, V>
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + none() + +
      +
      +
      +
      +
      +
      +

      Creates a Where.Expression clause for NONE

      +
      let dogs = CoreStore.fetchAll(From<Dog>().where((\.master ~ \.pets ~ \.name).any() > "Spot"))
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func none() -> Where<D>.Expression<T, V>
      + +
      +
      +
      +
      +
    • +
    +
    +
    + + + + @@ -992,14 +1118,115 @@

    Declaration

    +
    + +
      +
    • +
      + + + + MigrationResult + +
      +
      +
      +
      +
      +
      +

      The MigrationResult indicates the result of a migration. +MigrationResult.success indicates either the migration succeeded, or there were no migrations needed. The associated value is an array of MigrationTypes reflecting the migration steps completed. +MigrationResult.failure indicates that the migration failed. The associated object for this value is the a CoreStoreError enum value.

      +
      CoreStore.upgradeStorageIfNeeded(SQLiteStorage(fileName: "data.sqlite")) { (result) in
      +    switch result {
      +    case .success(let migrationSteps):
      +        // ...
      +    case .failure(let error):
      +        // ...
      +    }
      +}
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public typealias MigrationResult = Swift.Result<[MigrationType], CoreStoreError>
      + +
      +
      +
      +
      +
    • +
    +
    +
    + +
      +
    • +
      + + + + SetupResult + +
      +
      +
      +
      +
      +
      +

      The SetupResult indicates the result of an asynchronous initialization of a persistent store. +SetupResult.success indicates that the storage setup succeeded. The associated object for this enum value is the related StorageInterface instance. +SetupResult.failure indicates that the storage setup failed. The associated object for this value is the related CoreStoreError enum value.

      +
      try! CoreStore.addStorage(
      +    SQLiteStore(),
      +    completion: { (result: SetupResult) -> Void in
      +        switch result {
      +        case .success(let storage):
      +            // storage is the related StorageInterface instance
      +        case .failure(let error):
      +            // error is the CoreStoreError enum value for the failure
      +        }
      +    }
      +)
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public typealias SetupResult<StorageInterfaceType> = Swift.Result<StorageInterfaceType, CoreStoreError> where StorageInterfaceType : StorageInterface
      + +
      +
      +
      +
      +
    • +
    +
    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/css/jazzy.css b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/css/jazzy.css index c83db5bf..24cfe4ae 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/css/jazzy.css +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/css/jazzy.css @@ -63,6 +63,10 @@ a { a:hover, a:focus { outline: 0; text-decoration: underline; } + a.discouraged { + text-decoration: line-through; } + a.discouraged:hover, a.discouraged:focus { + text-decoration: underline line-through; } table { background: #fff; @@ -225,7 +229,7 @@ pre code { .item a[name]:before { content: ""; display: block; } - .item .token { + .item .token, .item .direct-link { padding-left: 3px; margin-left: 0px; font-size: 1rem; } @@ -287,9 +291,9 @@ pre code { .language .aside-title { color: #4183c4; } -.aside-warning { +.aside-warning, .aside-deprecated, .aside-unavailable { border-left: 5px solid #ff6666; } - .aside-warning .aside-title { + .aside-warning .aside-title, .aside-deprecated .aside-title, .aside-unavailable .aside-title { color: #ff0000; } .graybox { diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/index.html b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/index.html index 17764fcb..487d3782 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/index.html +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/index.html @@ -22,7 +22,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    @@ -55,9 +55,6 @@

    - @@ -181,9 +178,6 @@ - @@ -251,9 +245,6 @@ - @@ -272,9 +263,6 @@ - @@ -337,12 +325,18 @@ + + @@ -373,6 +367,12 @@ + + @@ -390,6 +390,15 @@ + + + + + @@ -764,12 +890,13 @@

    Build Status +Last Commit Platform License

    Dependency managers
    Cocoapods compatible Carthage compatible -Swift Package Manager compatible +Swift Package Manager compatible

    Contact
    Join us on Slack! Reach me on Twitter! @@ -777,11 +904,11 @@

      -
    • Swift 4.2: iOS 9+ / macOS 10.10+ / watchOS 2.0+ / tvOS 9.0+
    • -
    • Other Swift versions: Swift 3.2(version 4.2.3)
    • +
    • Swift 5.0: iOS 10+ / macOS 10.12+ / watchOS 3.0+ / tvOS 10.0+
    • +
    • Previously supported Swift versions: Swift 3.2, Swift 4.2
    -

    Upgrading from CoreStore 4.2 (Swift 3.2) to 5.x (Swift 4.x)? Check out the new features and make sure to read the Change logs.

    +

    Upgrading from CoreStore 5.x (min iOS 9) to 6.x (min iOS 10)? Check out the new features and make sure to read the Change logs.

    CoreStore is now part of the Swift Source Compatibility projects.

    Why use CoreStore?

    @@ -821,7 +948,6 @@

    Contents

  • Migrations @@ -870,6 +996,7 @@

    Contents

  • Observing changes and notifications
  • @@ -922,11 +1049,11 @@

    TL;DR (a.k.a. sample codes)

    Fetching objects (simple):

    -
    let people = CoreStore.fetchAll(From<MyPersonEntity>())
    +
    let people = try CoreStore.fetchAll(From<MyPersonEntity>())
     

    Fetching objects (complex):

    -
    let people = CoreStore.fetchAll(
    +
    let people = try CoreStore.fetchAll(
         From<MyPersonEntity>()
             .where(\.age > 30),
             .orderBy(.ascending(\.name), .descending(.\age)),
    @@ -935,7 +1062,7 @@ 

    TL;DR (a.k.a. sample codes)

    Querying values:

    -
    let maxAge = CoreStore.queryValue(
    +
    let maxAge = try CoreStore.queryValue(
         From<MyPersonEntity>()
             .select(Int.self, .maximum(\.age))
     )
    @@ -962,7 +1089,7 @@ 

    Architecture

    NSPersistentStore
    (Configurations in the .xcdatamodeld file) -StorageInterface implementations
    (InMemoryStore, SQLiteStore, ICloudStore) +StorageInterface implementations
    (InMemoryStore, SQLiteStore, ICloudStore) NSManagedObjectContext @@ -1063,7 +1190,7 @@

    Setting up

    💡By default, CoreStore will initialize NSManagedObjects from .xcdatamodeld files, but you can create models completely from source code using CoreStoreObjects and CoreStoreSchema. To use this feature, refer to Type-safe CoreStoreObjects.

    -

    Notice that in our previous examples, addStorageAndWait(_:) and addStorage(_:completion:) both accept either InMemoryStore, SQLiteStore, or ICloudStore. These implement the StorageInterface protocol.

    +

    Notice that in our previous examples, addStorageAndWait(_:) and addStorage(_:completion:) both accept either InMemoryStore, SQLiteStore, or ICloudStore. These implement the StorageInterface protocol.

    In-memory store

    The most basic StorageInterface concrete type is the InMemoryStore, which just stores objects in memory. Since InMemoryStores always start with a fresh empty data, they do not need any migration information.

    @@ -1104,66 +1231,6 @@

    Local Store

    If you have custom NSIncrementalStore or NSAtomicStore subclasses, you can implement this protocol and use it similarly to SQLiteStore.

    -

    iCloud Store

    - -
    -

    ⚠️Important: The iCloud Store is being deprecated. Please use with caution. If you have any concerns please do send me a message on Twitter or on the CoreStore Slack Team

    -
    - -

    As a counterpart to LocalStorage, the CloudStorage protocol abstracts stores managed in the cloud. CoreStore currently provides the concrete class ICloudStore. Unlike InMemoryStore and SQLiteStore though, the ICloudStore‘s initializer may return nil if the iCloud container could not be located or if iCloud is not available on the device:

    -
    guard let storage = ICloudStore(
    -    ubiquitousContentName: "MyAppCloudData", // the name of the store in iCloud
    -    ubiquitousContentTransactionLogsSubdirectory: "logs/config1", // optional. Subdirectory path for the transaction logs
    -    ubiquitousContainerID: "iCloud.com.mycompany.myapp.containername", // optional. The container if your app has multiple ubiquity container identifiers in its entitlements
    -    ubiquitousPeerToken: "9614d658014f4151a95d8048fb717cf0", // optional. A per-application salt to allow multiple apps on the same device to share a Core Data store integrated with iCloud
    -    configuration: "Config1", // optional. Use entities from the "Config1" configuration in the .xcdatamodeld file
    -    cloudStorageOptions: .recreateLocalStoreOnModelMismatch // optional. Provides settings that tells the DataStack how to setup the persistent store
    -) else {
    -    // The iCloud container could not be located or if iCloud is not available on the device.
    -    // Handle appropriately
    -    return    
    -}
    -CoreStore.addStorage(,
    -    storage,
    -    completion: { result in
    -        switch result {
    -        case .success(let storage): // ...
    -        case .failure(let error): // ...
    -        }
    -    }
    -)
    -
    - -

    If your app is using iCloud stores, you may want to be notified of particular iCloud events. The ICloudStoreObserver functions are all optional, so you may implement only the ones your app is interested in:

    -
    public protocol ICloudStoreObserver: class {
    -    func iCloudStoreWillFinishUbiquitousStoreInitialImport(storage storage: ICloudStore, dataStack: DataStack)
    -    func iCloudStoreDidFinishUbiquitousStoreInitialImport(storage storage: ICloudStore, dataStack: DataStack)
    -    func iCloudStoreWillAddAccount(storage storage: ICloudStore, dataStack: DataStack)
    -    func iCloudStoreDidAddAccount(storage storage: ICloudStore, dataStack: DataStack)
    -    func iCloudStoreWillRemoveAccount(storage storage: ICloudStore, dataStack: DataStack)
    -    func iCloudStoreDidRemoveAccount(storage storage: ICloudStore, dataStack: DataStack)
    -    func iCloudStoreWillRemoveContent(storage storage: ICloudStore, dataStack: DataStack)
    -    func iCloudStoreDidRemoveContent(storage storage: ICloudStore, dataStack: DataStack)
    -}
    -
    - -

    To register your ICloudStoreObserver, call addObserver(_:) on the ICloudStore instance:

    -
    guard let storage = ICloudStore(/* ... */) else {
    -    return    
    -}
    -storage.addObserver(self) // assuming self implements ICloudStoreObserver
    -CoreStore.addStorage(,
    -    storage,
    -    completion: { result in
    -        switch result {
    -        case .success(let storage): // ... You may also call storage.addObserver(_:) here
    -        case .failure(let error): // ...
    -        }
    -    }
    -)
    -
    - -

    The ICloudStore only keeps weak references of the registered observers. You may call removeObserver(_:) for precise deregistration, but ICloudStore automatically removes deallocated observers.

    Migrations

    Declaring model versions

    @@ -1326,7 +1393,7 @@

    Starting migrations

    )
    -

    The completion block reports a SetupResult that indicates success or failure.

    +

    The completion block reports a SetupResult that indicates success or failure.

    Notice that this method also returns an optional Progress. If nil, no migrations are needed, thus progress reporting is unnecessary as well. If not nil, you can use this to track migration progress by using standard KVO on the "fractionCompleted" key, or by using a closure-based utility exposed in Progress+Convenience.swift:

    migrationProgress?.setProgressHandler { [weak self] (progress) -> Void in
    @@ -1339,7 +1406,7 @@ 

    Starting migrations

    This closure is executed on the main thread so UIKit and AppKit calls can be done safely.

    Progressive migrations

    -

    By default, CoreStore uses Core Data’s default automatic migration mechanism. In other words, CoreStore will try to migrate the existing persistent store until it matches the SchemaHistory’s currentModelVersion. If no mapping model path is found from the store’s version to the data model’s version, CoreStore gives up and reports an error.

    +

    By default, CoreStore uses Core Data’s default automatic migration mechanism. In other words, CoreStore will try to migrate the existing persistent store until it matches the SchemaHistory‘s currentModelVersion. If no mapping model path is found from the store’s version to the data model’s version, CoreStore gives up and reports an error.

    The DataStack lets you specify hints on how to break a migration into several sub-migrations using a MigrationChain. This is typically passed to the DataStack initializer and will be applied to all stores added to the DataStack with addSQLiteStore(...) and its variants:

    let dataStack = DataStack(migrationChain: 
    @@ -1434,7 +1501,7 @@ 

    Custom migrations

    )
    -

    For version migrations present in the DataStack’s MigrationChain but not handled by any of the SQLiteStore’s migrationMappingProviders array, CoreStore will automatically try to use InferredSchemaMappingProvider as fallback. Finally if the InferredSchemaMappingProvider could not resolve any mapping, the migration will fail and the DataStack.addStorage(...) method will report the failure.

    +

    For version migrations present in the DataStack’s MigrationChain but not handled by any of the SQLiteStore’s migrationMappingProviders array, CoreStore will automatically try to use InferredSchemaMappingProvider as fallback. Finally if the InferredSchemaMappingProvider could not resolve any mapping, the migration will fail and the DataStack.addStorage(...) method will report the failure.

    For CustomSchemaMappingProvider, more granular updates are supported through the dynamic objects UnsafeSourceObject and UnsafeDestinationObject. The example below allows the migration to conditionally ignore some objects:

    let person_v2_to_v3_mapping = CustomSchemaMappingProvider(
    @@ -1643,7 +1710,7 @@ 

    Updating objects

    To update an existing object, fetch the object’s instance from the transaction:

    CoreStore.perform(
         asynchronous: { (transaction) -> Void in
    -        let person = transaction.fetchOne(
    +        let person = try transaction.fetchOne(
                 From<MyPersonEntity>()
                     .where(\.name == "Jane Smith")
             )
    @@ -1703,8 +1770,8 @@ 

    Deleting objects

    CoreStore.perform( asynchronous: { (transaction) -> Void in - transaction.delete(john, jane) - // transaction.delete([john, jane]) is also allowed + try transaction.delete(john, jane) + // try transaction.delete([john, jane]) is also allowed }, completion: { _ in } ) @@ -1713,7 +1780,7 @@

    Deleting objects

    If you do not have references yet to the objects to be deleted, transactions have a deleteAll(...) method you can pass a query to:

    CoreStore.perform(
         asynchronous: { (transaction) -> Void in
    -        transaction.deleteAll(
    +        try transaction.deleteAll(
                 From<MyPersonEntity>()
                     .where(\.age > 30)
             )
    @@ -1759,7 +1826,7 @@ 

    Passing objects safely

    CoreStore.perform( asynchronous: { (transaction) -> Void in - let jane = transaction.fetchOne( + let jane = try transaction.fetchOne( From<MyPersonEntity>() .where(\.name == "Jane Smith") ) @@ -1977,17 +2044,17 @@

    Fetching and Querying

    From clause

    The search conditions for fetches and queries are specified using clauses. All fetches and queries require a From clause that indicates the target entity type:

    -
    let people = CoreStore.fetchAll(From<MyPersonEntity>())
    +
    let people = try CoreStore.fetchAll(From<MyPersonEntity>())
     

    people in the example above will be of type [MyPersonEntity]. The From<MyPersonEntity>() clause indicates a fetch to all persistent stores that MyPersonEntity belong to.

    If the entity exists in multiple configurations and you need to only search from a particular configuration, indicate in the From clause the configuration name for the destination persistent store:

    -
    let people = CoreStore.fetchAll(From<MyPersonEntity>("Config1")) // ignore objects in persistent stores other than the "Config1" configuration
    +
    let people = try CoreStore.fetchAll(From<MyPersonEntity>("Config1")) // ignore objects in persistent stores other than the "Config1" configuration
     

    or if the persistent store is the auto-generated Default configuration, specify nil:

    -
    let person = CoreStore.fetchAll(From<MyPersonEntity>(nil))
    +
    let person = try CoreStore.fetchAll(From<MyPersonEntity>(nil))
     

    Now we know how to use a From clause, let’s move on to fetching and querying.

    @@ -2007,11 +2074,11 @@

    Fetching

    Where clause

    The Where clause is CoreStore’s NSPredicate wrapper. It specifies the search filter to use when fetching (or querying). It implements all initializers that NSPredicate does (except for -predicateWithBlock:, which Core Data does not support):

    -
    var people = CoreStore.fetchAll(
    +
    var people = try CoreStore.fetchAll(
         From<MyPersonEntity>(),
         Where<MyPersonEntity>("%K > %d", "age", 30) // string format initializer
     )
    -people = CoreStore.fetchAll(
    +people = try CoreStore.fetchAll(
         From<MyPersonEntity>(),
         Where<MyPersonEntity>(true) // boolean initializer
     )
    @@ -2026,14 +2093,14 @@ 

    Where clauses became more type-safe and are now generic types. To avoid verbose repetition of the generic object type, fetch methods now support Fetch Chain builders. We can also use Swift’s Smart KeyPaths as the Where clause expression:

    -
    var people = CoreStore.fetchAll(
    +
    var people = try CoreStore.fetchAll(
         From<MyPersonEntity>()
             .where(\.age > 30) // Type-safe!
     )
     

    Where clauses also implement the &&, ||, and ! logic operators, so you can provide logical conditions without writing too much AND, OR, and NOT strings:

    -
    var people = CoreStore.fetchAll(
    +
    var people = try CoreStore.fetchAll(
         From<MyPersonEntity>()
             .where(\.age > 30 && \.gender == "M")
     )
    @@ -2043,7 +2110,7 @@ 

    OrderBy clause

    The OrderBy clause is CoreStore’s NSSortDescriptor wrapper. Use it to specify attribute keys in which to sort the fetch (or query) results with.

    -
    var mostValuablePeople = CoreStore.fetchAll(
    +
    var mostValuablePeople = try CoreStore.fetchAll(
         From<MyPersonEntity>(),
         OrderBy<MyPersonEntity>(.descending("rating"), .ascending("surname"))
     )
    @@ -2051,7 +2118,7 @@ 

    OrderBy accepts a list of SortKey enumeration values, which can be either .ascending or .descending. ⭐️As with Where clauses, CoreStore 5.0 turned OrderBy clauses into generic types. To avoid verbose repetition of the generic object type, fetch methods now support Fetch Chain builders. We can also use Swift’s Smart KeyPaths as the OrderBy clause expression:

    -
    var people = CoreStore.fetchAll(
    +
    var people = try CoreStore.fetchAll(
         From<MyPersonEntity>()
             .orderBy(.descending(\.rating), .ascending(\.surname)) // Type-safe!
     )
    @@ -2062,7 +2129,7 @@ 

    if sortFromYoungest { orderBy += OrderBy(.ascending(\.age)) } -var mostValuablePeople = CoreStore.fetchAll( +var mostValuablePeople = try CoreStore.fetchAll( From<MyPersonEntity>(), orderBy ) @@ -2070,7 +2137,7 @@

    Tweak clause

    The Tweak clause lets you, uh, tweak the fetch (or query). Tweak exposes the NSFetchRequest in a closure where you can make changes to its properties:

    -
    var people = CoreStore.fetchAll(
    +
    var people = try CoreStore.fetchAll(
         From<MyPersonEntity>(),
         Where<MyPersonEntity>("age > %d", 30),
         OrderBy<MyPersonEntity>(.ascending("surname")),
    @@ -2083,7 +2150,7 @@ 

    Tweak also supports Fetch Chain builders:

    -
    var people = CoreStore.fetchAll(
    +
    var people = try CoreStore.fetchAll(
         From<MyPersonEntity>(),
             .where(\.age > 30)
             .orderBy(.ascending(\.surname))
    @@ -2114,7 +2181,7 @@ 

    Querying

    Select<T> clause

    The Select<T> clause specifies the target attribute/aggregate key, as well as the expected return type:

    -
    let johnsAge = CoreStore.queryValue(
    +
    let johnsAge = try CoreStore.queryValue(
         From<MyPersonEntity>(),
         Select<Int>("age"),
         Where("name == %@", "John Smith")
    @@ -2124,14 +2191,14 @@ 

    Where condition. johnsAge will be bound to type Int?, as indicated by the Select<Int> generic type. For queryValue(...), types that conform to QueryableAttributeType are allowed as the return type (and therefore as the generic type for Select<T>).

    For queryAttributes(...), only NSDictionary is valid for Select, thus you are allowed to omit the generic type:

    -
    let allAges = CoreStore.queryAttributes(
    +
    let allAges = try CoreStore.queryAttributes(
         From<MyPersonEntity>(),
         Select("age")
     )
     

    ⭐️Starting CoreStore 5.0, query methods now support Query Chain builders. We can also use Swift’s Smart KeyPaths to use in the expressions:

    -
    let johnsAge = CoreStore.queryValue(
    +
    let johnsAge = try CoreStore.queryValue(
         From<MyPersonEntity>()
             .select(\.age) // binds the result to Int
             .where(\.name == "John Smith")
    @@ -2147,14 +2214,14 @@ 

    let oldestAge = CoreStore.queryValue( +
    let oldestAge = try CoreStore.queryValue(
         From<MyPersonEntity>(),
         Select<Int>(.maximum("age"))
     )
     

    For queryAttributes(...) which returns an array of dictionaries, you can specify multiple attributes/aggregates to Select:

    -
    let personJSON = CoreStore.queryAttributes(
    +
    let personJSON = try CoreStore.queryAttributes(
         From<MyPersonEntity>(),
         Select("name", "age")
     )
    @@ -2174,7 +2241,7 @@ 

    let personJSON = CoreStore.queryAttributes( +
    let personJSON = try CoreStore.queryAttributes(
         From<MyPersonEntity>(),
         Select("name", .count("friends"))
     )
    @@ -2194,7 +2261,7 @@ 

    let personJSON = CoreStore.queryAttributes( +
    let personJSON = try CoreStore.queryAttributes(
         From<MyPersonEntity>(),
         Select("name", .count("friends", as: "friendsCount"))
     )
    @@ -2215,7 +2282,7 @@ 

    GroupBy clause

    The GroupBy clause lets you group results by a specified attribute/aggregate. This is useful only for queryAttributes(...) since queryValue(...) just returns the first value.

    -
    let personJSON = CoreStore.queryAttributes(
    +
    let personJSON = try CoreStore.queryAttributes(
         From<MyPersonEntity>(),
         Select("age", .count("age", as: "count")),
         GroupBy("age")
    @@ -2223,7 +2290,7 @@ 

    GroupBy clauses are now also generic types and now support Query Chain builders. We can also use Swift’s Smart KeyPaths to use in the expressions:

    -
    let personJSON = CoreStore.queryAttributes(
    +
    let personJSON = try CoreStore.queryAttributes(
         From<MyPersonEntity>()
             .select(.attribute(\.age), .count(\.age, as: "count"))
             .groupBy(\.age)
    @@ -2281,19 +2348,33 @@ 

    Logging and error reporting

    These are all implemented with CustomDebugStringConvertible.debugDescription, so they work with lldb’s po command as well.

    Observing changes and notifications

    -
    -

    (unavailable on macOS versions below 10.12)

    -
    -

    CoreStore provides type-safe wrappers for observing managed objects:

    +

    Observe a single property

    + +

    To get notifications for single property changes in an object, there are two methods depending on the object’s base class.

    + +
      +
    • For NSManagedObject subclasses: Use the standard KVO method:

      +
      let observer = person.observe(\.age, options: [.new]) { (person, change)
      +print("Happy \(change.newValue)th birthday!")
      +}
      +
    • +
    • For CoreStoreObject subclasses: Call the observe(...) method directly on the property. You’ll notice that the API itself is a bit similar to the KVO method:

      +
      let observer = person.age.observe(options: [.new]) { (person, change)
      +print("Happy \(change.newValue)th birthday!")
      +}
      +
    • +
    + +

    For both methods, you will need to keep a reference to the returned observer for the duration of the observation.

    Observe a single object

    -

    To observe an object, implement the ObjectObserver protocol and specify the EntityType:

    +

    To observe an object itself as a whole, implement the ObjectObserver protocol and specify the EntityType:

    class MyViewController: UIViewController, ObjectObserver {
         func objectMonitor(monitor: ObjectMonitor<MyPersonEntity>, willUpdateObject object: MyPersonEntity) {
             // ...
    @@ -2446,14 +2527,13 @@ 

    Objective-C support

     [CSCoreStore beginAsynchronous:^(CSAsynchronousDataTransaction *transaction) {
         // ...
    -    [transaction commitWithCompletion:^(CSSaveResult *result) {
    -        if (result.isSuccess) {
    -            NSLog(@"Done");
    -        }
    -        else if (result.isFailure) {
    -            NSLog(@"error: %@", result.error);
    -        }
    -    }];
    +    [transaction 
    +     commitWithSuccess:^{
    +        NSLog(@"Done");
    +     }
    +     failure: ^(CSError *error) {
    +        NSLog(@"error: %@", result.error);
    +     }];
     }];
     
    @@ -2586,7 +2666,7 @@

    Type-safe <

    as well as Where and OrderBy clauses

    -
    let puppies = CoreStore.fetchAll(
    +
    let puppies = try CoreStore.fetchAll(
         From<Dog>()
             .where(\.age < 1)
             .orderBy(.ascending(\.age))
    @@ -2629,8 +2709,9 @@ 

    Installation

    Requires

      -
    • iOS 8 SDK and above
    • -
    • Swift 4 (Xcode 9+)
    • +
    • iOS 10 SDK and above
    • +
    • Swift 5.0 (Xcode 10+)
    • +
    • For previous Swift versions: Swift 3.2, Swift 4.2
    @@ -2647,7 +2728,7 @@

    Installation

    Install with CocoaPods

    In your Podfile, add

    -
    pod 'CoreStore', '~> 5.0'
    +
    pod 'CoreStore', '~> 6.3'
     

    and run

    @@ -2658,7 +2739,7 @@

    Install with CocoaPods

    Install with Carthage

    In your Cartfile, add

    -
    github "JohnEstropia/CoreStore" >= 5.0.0
    +
    github "JohnEstropia/CoreStore" >= 6.3.0
     

    and run

    @@ -2666,17 +2747,18 @@

    Install with Carthage

    This installs CoreStore as a framework. Declare import CoreStore in your swift file to use the library.

    +

    Install with Swift Package Manager:

    +
    dependencies: [
    +    .package(url: "https://github.com/JohnEstropia/CoreStore.git", from: "6.3.0"))
    +]
    +
    + +

    Declare import CoreStore in your swift file to use the library.

    Install as Git Submodule

    git submodule add https://github.com/JohnEstropia/CoreStore.git <destination directory>
     

    Drag and drop CoreStore.xcodeproj to your project.

    -

    To install as a framework:

    - -

    Drag and drop CoreStore.xcodeproj to your project.

    -

    To include directly in your app module:

    - -

    Add all .swift files to your project.

    Objective-C support

    To use the Objective-C syntax sugars, import CoreStoreBridge.h in your .m source files.

    @@ -2704,8 +2786,8 @@

    License

    diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/js/jazzy.search.js b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/js/jazzy.search.js index 54be83cf..84c08519 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/js/jazzy.search.js +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/js/jazzy.search.js @@ -2,6 +2,7 @@ $(function(){ var searchIndex = lunr(function() { this.ref('url'); this.field('name'); + this.field('abstract'); }); var $typeahead = $('[data-typeahead]'); @@ -27,7 +28,7 @@ $(function(){ $.getJSON(searchURL).then(function(searchData) { $.each(searchData, function (url, doc) { - searchIndex.add({url: url, name: doc.name}); + searchIndex.add({url: url, name: doc.name, abstract: doc.abstract}); }); $typeahead.typeahead( diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/search.json b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/search.json index fa7f7431..011d69c0 100644 --- a/docs/docsets/CoreStore.docset/Contents/Resources/Documents/search.json +++ b/docs/docsets/CoreStore.docset/Contents/Resources/Documents/search.json @@ -1 +1 @@ -{"Typealiases.html#/s:9CoreStore22XcodeDataModelFileNamea":{"name":"XcodeDataModelFileName","abstract":"

    A String that pertains to the name of an *.xcdatamodeld file (without the file extension).

    "},"Typealiases.html#/s:9CoreStore18ModelConfigurationa":{"name":"ModelConfiguration","abstract":"

    An Optional<String> that pertains to the name of a Configuration which particular groups of entities may belong to. When nil, pertains to the default configuration which includes all entities.

    "},"Typealiases.html#/s:9CoreStore12ModelVersiona":{"name":"ModelVersion","abstract":"

    An String that pertains to the name of a versioned *.xcdatamodeld file (without the file extension). Model version strings don’t necessarily have to be numeric or ordered in any way. The migration sequence will always be decided by (or the lack of) the MigrationChain.

    "},"Typealiases.html#/s:9CoreStore10EntityNamea":{"name":"EntityName","abstract":"

    An String that pertains to an Entity name.

    "},"Typealiases.html#/s:9CoreStore9ClassNamea":{"name":"ClassName","abstract":"

    An String that pertains to a dynamically-accessable class name (usable with NSClassFromString(…)).

    "},"Typealiases.html#/s:9CoreStore13KeyPathStringa":{"name":"KeyPathString","abstract":"

    An String that pertains to a attribute keyPaths.

    "},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV08completeD0xyF":{"name":"completeObject()","abstract":"

    Returns a the actual CoreStoreObject instance for the receiver.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV5value3forqd__AA14ValueContainerO8RequiredCyx_qd__GxXE_tAA23ImportableAttributeTypeRd__lF":{"name":"value(for:)","abstract":"

    Returns the value for the property identified by a given key.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV8setValue_3foryqd___AA0F9ContainerO8RequiredCyx_qd__GxXEtAA23ImportableAttributeTypeRd__lF":{"name":"setValue(_:for:)","abstract":"

    Sets the property of the receiver specified by a given key to a given value.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV14primitiveValue3forqd__AA0F9ContainerO8RequiredCyx_qd__GxXE_tAA23ImportableAttributeTypeRd__lF":{"name":"primitiveValue(for:)","abstract":"

    Returns the value for the specified property from the managed object’s private internal storage.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV17setPrimitiveValue_3foryqd___AA0G9ContainerO8RequiredCyx_qd__GxXEtAA23ImportableAttributeTypeRd__lF":{"name":"setPrimitiveValue(_:for:)","abstract":"

    Sets in the object’s private internal storage the value of a given property.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV5value3forqd__SgAA14ValueContainerO8OptionalCyx_qd__GxXE_tAA23ImportableAttributeTypeRd__lF":{"name":"value(for:)","abstract":"

    Returns the value for the property identified by a given key.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV8setValue_3foryqd__Sg_AA0F9ContainerO8OptionalCyx_qd__GxXEtAA23ImportableAttributeTypeRd__lF":{"name":"setValue(_:for:)","abstract":"

    Sets the property of the receiver specified by a given key to a given value.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV14primitiveValue3forqd__SgAA0F9ContainerO8OptionalCyx_qd__GxXE_tAA23ImportableAttributeTypeRd__lF":{"name":"primitiveValue(for:)","abstract":"

    Returns the value for the specified property from the managed object’s private internal storage.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV17setPrimitiveValue_3foryqd__Sg_AA0G9ContainerO8OptionalCyx_qd__GxXEtAA23ImportableAttributeTypeRd__lF":{"name":"setPrimitiveValue(_:for:)","abstract":"

    Sets in the object’s private internal storage the value of a given property.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV5value3forqd__AA22TransformableContainerO8RequiredCyx_qd__GxXE_tSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"value(for:)","abstract":"

    Returns the value for the property identified by a given key.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV8setValue_3foryqd___AA22TransformableContainerO8RequiredCyx_qd__GxXEtSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"setValue(_:for:)","abstract":"

    Sets the property of the receiver specified by a given key to a given value.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV14primitiveValue3forqd__AA22TransformableContainerO8RequiredCyx_qd__GxXE_tSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"primitiveValue(for:)","abstract":"

    Returns the value for the specified property from the managed object’s private internal storage.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV17setPrimitiveValue_3foryqd___AA22TransformableContainerO8RequiredCyx_qd__GxXEtSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"setPrimitiveValue(_:for:)","abstract":"

    Sets in the object’s private internal storage the value of a given property.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV5value3forqd__SgAA22TransformableContainerO8OptionalCyx_qd__GxXE_tSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"value(for:)","abstract":"

    Returns the value for the property identified by a given key.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV8setValue_3foryqd__Sg_AA22TransformableContainerO8OptionalCyx_qd__GxXEtSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"setValue(_:for:)","abstract":"

    Sets the property of the receiver specified by a given key to a given value.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV14primitiveValue3forqd__SgAA22TransformableContainerO8OptionalCyx_qd__GxXE_tSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"primitiveValue(for:)","abstract":"

    Returns the value for the specified property from the managed object’s private internal storage.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV17setPrimitiveValue_3foryqd__Sg_AA22TransformableContainerO8OptionalCyx_qd__GxXEtSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"setPrimitiveValue(_:for:)","abstract":"

    Sets in the object’s private internal storage the value of a given property.

    ","parent_name":"PartialObject"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore25SectionMonitorBuilderTypeP4fromAA4FromVy06ObjectF0QzGvp":{"name":"from","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore25SectionMonitorBuilderTypeP9sectionByAA0cH0Vy06ObjectF0QzGvp":{"name":"sectionBy","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore25SectionMonitorBuilderTypeP12fetchClausesSayAA11FetchClause_pGvp":{"name":"fetchClauses","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV5whereyACyxGAA5WhereVyxGF":{"name":"where(_:)","abstract":"

    Adds a Where clause to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV5where6format_ACyxGSS_ypdtF":{"name":"where(format:_:)","abstract":"

    Adds a Where clause to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV5where6format13argumentArrayACyxGSS_SayypGSgtF":{"name":"where(format:argumentArray:)","abstract":"

    Adds a Where clause to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV7orderByyACyxGAA05OrderH0V7SortKeyVyx_G_AJdtF":{"name":"orderBy(_:_:)","abstract":"

    Adds an OrderBy clause to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV5tweakyACyxGySo14NSFetchRequestCySo0hI6Result_pGcF":{"name":"tweak(_:)","abstract":"

    Adds a Tweak clause to the SectionMonitorChainBuilder with a closure where the NSFetchRequest may be configured

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV9appendingyACyxGAA11FetchClause_pF":{"name":"appending(_:)","abstract":"

    Appends a QueryClause to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV9appending10contentsOfACyxGqd___tSTRd__AA11FetchClause_p7ElementRtd__lF":{"name":"appending(contentsOf:)","abstract":"

    Appends a series of QueryClauses to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderVA2A0aB6ObjectCRbzrlE5whereyACyxGqd__xXEAA14AnyWhereClauseRd__lF":{"name":"where(_:)","abstract":"

    Adds a Where clause to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore25QueryChainableBuilderTypeP06ObjectF0Qa":{"name":"ObjectType","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore25QueryChainableBuilderTypeP06ResultF0Qa":{"name":"ResultType","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore25QueryChainableBuilderTypeP4fromAA4FromVy06ObjectF0QzGvp":{"name":"from","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore25QueryChainableBuilderTypeP6selectAA6SelectVy06ObjectF0Qz06ResultF0QzGvp":{"name":"select","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore25QueryChainableBuilderTypeP12queryClausesSayAA0C6Clause_pGvp":{"name":"queryClauses","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV5whereyACyxq_GAA5WhereVyxGF":{"name":"where(_:)","abstract":"

    Adds a Where clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV5where6format_ACyxq_GSS_ypdtF":{"name":"where(format:_:)","abstract":"

    Adds a Where clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV5where6format13argumentArrayACyxq_GSS_SayypGSgtF":{"name":"where(format:argumentArray:)","abstract":"

    Adds a Where clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV7orderByyACyxq_GAA05OrderG0V7SortKeyVyx_G_AJdtF":{"name":"orderBy(_:_:)","abstract":"

    Adds an OrderBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV5tweakyACyxq_GySo14NSFetchRequestCySo0gH6Result_pGcF":{"name":"tweak(_:)","abstract":"

    Adds a Tweak clause to the QueryChainBuilder with a closure where the NSFetchRequest may be configured

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV7groupByyACyxq_GAA05GroupG0VyxGF":{"name":"groupBy(_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV7groupByyACyxq_GSS_SSdtF":{"name":"groupBy(_:_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV7groupByyACyxq_GSaySSGF":{"name":"groupBy(_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV9appendingyACyxq_GAA0C6Clause_pF":{"name":"appending(_:)","abstract":"

    Appends a QueryClause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV9appending10contentsOfACyxq_Gqd___tSTRd__AA0C6Clause_p7ElementRtd__lF":{"name":"appending(contentsOf:)","abstract":"

    Appends a series of QueryClauses to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderVAASo15NSManagedObjectCRbzrlE7groupByyACyxq_Gs7KeyPathCyxqd__GlF":{"name":"groupBy(_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderVA2A0aB6ObjectCRbzrlE5whereyACyxq_Gqd__xXEAA14AnyWhereClauseRd__lF":{"name":"where(_:)","abstract":"

    Adds a Where clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderVA2A0aB6ObjectCRbzrlE7groupByyACyxq_Gs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GGAA23ImportableAttributeTypeRd__lF":{"name":"groupBy(_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderVA2A0aB6ObjectCRbzrlE7groupByyACyxq_Gs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GGAA23ImportableAttributeTypeRd__lF":{"name":"groupBy(_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderVA2A0aB6ObjectCRbzrlE7groupByyACyxq_Gs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GGSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"groupBy(_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderVA2A0aB6ObjectCRbzrlE7groupByyACyxq_Gs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GGSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"groupBy(_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore25FetchChainableBuilderTypeP06ObjectF0Qa":{"name":"ObjectType","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore25FetchChainableBuilderTypeP4fromAA4FromVy06ObjectF0QzGvp":{"name":"from","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore25FetchChainableBuilderTypeP12fetchClausesSayAA0C6Clause_pGvp":{"name":"fetchClauses","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV5whereyACyxGAA5WhereVyxGF":{"name":"where(_:)","abstract":"

    Adds a Where clause to the FetchChainBuilder

    ","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV5where6format_ACyxGSS_ypdtF":{"name":"where(format:_:)","abstract":"

    Adds a Where clause to the FetchChainBuilder

    ","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV5where6format13argumentArrayACyxGSS_SayypGSgtF":{"name":"where(format:argumentArray:)","abstract":"

    Adds a Where clause to the FetchChainBuilder

    ","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV7orderByyACyxGAA05OrderG0V7SortKeyVyx_G_AJdtF":{"name":"orderBy(_:_:)","abstract":"

    Adds an OrderBy clause to the FetchChainBuilder

    ","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV5tweakyACyxGySo14NSFetchRequestCySo0gH6Result_pGcF":{"name":"tweak(_:)","abstract":"

    Adds a Tweak clause to the FetchChainBuilder with a closure where the NSFetchRequest may be configured

    ","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV9appendingyACyxGAA0C6Clause_pF":{"name":"appending(_:)","abstract":"

    Appends a FetchClause to the FetchChainBuilder

    ","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV9appending10contentsOfACyxGqd___tSTRd__AA0C6Clause_p7ElementRtd__lF":{"name":"appending(contentsOf:)","abstract":"

    Appends a series of FetchClauses to the FetchChainBuilder

    ","parent_name":"FetchChainBuilder"},"Structs/VersionLock.html#/s:9CoreStore11VersionLockV11HashElementa":{"name":"HashElement","abstract":"

    The value type for the dictionary initializer, which is UInt64

    ","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:9CoreStore11VersionLockV18hashesByEntityNameSDySS10Foundation4DataVGvp":{"name":"hashesByEntityName","abstract":"

    The Data hash for each entity name.

    ","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:9CoreStore11VersionLockVyACSDySSSays6UInt64VGGcfc":{"name":"init(_:)","abstract":"

    Initializes a VersionLock with the version hash for each entity name.

    ","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:s30ExpressibleByDictionaryLiteralP3KeyQa":{"name":"Key","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:s30ExpressibleByDictionaryLiteralP5ValueQa":{"name":"Value","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:s30ExpressibleByDictionaryLiteralP010dictionaryD0x3KeyQz_5ValueQztd_tcfc":{"name":"init(dictionaryLiteral:)","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"VersionLock"},"Structs/Where.html#/s:9CoreStore5WhereV2aaoiyACyxGAE_AEtFZ":{"name":"&&(_:_:)","abstract":"

    Combines two Where predicates together using AND operator

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV2oooiyACyxGAE_AEtFZ":{"name":"||(_:_:)","abstract":"

    Combines two Where predicates together using OR operator

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV1nopyACyxGAEFZ":{"name":"!(_:)","abstract":"

    Inverts the predicate of a Where clause using NOT operator

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV3aaqoiyACyxGAE_AESgtFZ":{"name":"&&?(_:_:)","abstract":"

    Combines two Where predicates together using AND operator.

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV3aaqoiyACyxGAESg_AEtFZ":{"name":"&&?(_:_:)","abstract":"

    Combines two Where predicates together using AND operator.

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV3ooqoiyACyxGAE_AESgtFZ":{"name":"||?(_:_:)","abstract":"

    Combines two Where predicates together using OR operator.

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV3ooqoiyACyxGAESg_AEtFZ":{"name":"||?(_:_:)","abstract":"

    Combines two Where predicates together using OR operator.

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVACyxGycfc":{"name":"init()","abstract":"

    Initializes a Where clause with a predicate that always evaluates to true

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVyACyxGSbcfc":{"name":"init(_:)","abstract":"

    Initializes a Where clause with a predicate that always evaluates to the specified boolean value

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVyACyxGSS_ypdtcfc":{"name":"init(_:_:)","abstract":"

    Initializes a Where clause with a predicate using the specified string format and arguments

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_13argumentArrayACyxGSS_SayypGSgtcfc":{"name":"init(_:argumentArray:)","abstract":"

    Initializes a Where clause with a predicate using the specified string format and arguments

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_9isEqualToACyxGSS_ytSgtcfc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality to nil

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_9isEqualToACyxGSS_qd__SgtcAA22QueryableAttributeTypeRd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_9isEqualToACyxGSS_qd__SgtcAA13DynamicObjectRd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_9isEqualToACyxGSS_So17NSManagedObjectIDCtcfc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_10isMemberOfACyxGSS_qd__tcSTRd__AA22QueryableAttributeType7ElementRpd__lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_10isMemberOfACyxGSS_qd__tcSTRd__AA13DynamicObject7ElementRpd__lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_10isMemberOfACyxGSS_qd__tcSTRd__So17NSManagedObjectIDC7ElementRcd__lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore14AnyWhereClauseP9predicateSo11NSPredicateCvp":{"name":"predicate","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore14AnyWhereClausePyxSo11NSPredicateCcfc":{"name":"init(_:)","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore15WhereClauseTypeP06ObjectE0Qa":{"name":"ObjectType","parent_name":"Where"},"Structs/Where.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"Where"},"Structs/Where.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"Where"},"Structs/Where.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxqd__G_ytSgtcAA22QueryableAttributeTypeRd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality to nil

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxqd__G_ytSgtcAA07DynamicE0Rd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality to nil

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxqd__G_qd__SgtcAA22QueryableAttributeTypeRd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxqd__G_qd__SgtcAA07DynamicE0Rd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxqd__G_So0dE2IDCtcAA07DynamicE0Rd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_10isMemberOfACyxGs7KeyPathCyxqd__G_qd_0_tcAA22QueryableAttributeTypeRd__7ElementQyd_0_Rsd__STRd_0_r0_lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_10isMemberOfACyxGs7KeyPathCyxqd__G_qd_0_tcAA07DynamicE0Rd__7ElementQyd_0_Rsd__STRd_0_r0_lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_10isMemberOfACyxGs7KeyPathCyxqd__G_qd_0_tcAA07DynamicE0Rd__STRd_0_So0dE2IDC7ElementRcd_0_r0_lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_ytSgtcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality to nil

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxAA21RelationshipContainerO0G3OneCyx_qd__GG_ytSgtcAERbd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality to nil

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_qd__SgtcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_qd__SgtcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxAA21RelationshipContainerO0G3OneCyx_qd__GG_qd__SgtcAERbd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxAA21RelationshipContainerO0G3OneCyx_qd__GG_So09NSManagedD2IDCtcAERbd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_10isMemberOfACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_qd_0_tcAA23ImportableAttributeTypeRd__7ElementQyd_0_Rsd__STRd_0_r0_lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_10isMemberOfACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_qd_0_tcAA23ImportableAttributeTypeRd__7ElementQyd_0_Rsd__STRd_0_r0_lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_10isMemberOfACyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_qd__GG_qd_0_tcAERbd__7ElementQyd_0_Rsd__STRd_0_r0_lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_10isMemberOfACyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_qd__GG_qd_0_tcAERbd__STRd_0_So09NSManagedD2IDC7ElementRcd_0_r0_lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlEyACyxGAFxXEcfc":{"name":"init(_:)","abstract":"

    Initializes a Where clause from a closure

    ","parent_name":"Where"},"Structs/Select.html#/s:9CoreStore6SelectVyACyxq_GAA0C4TermOyxG_AGdtcfc":{"name":"init(_:_:)","abstract":"

    Initializes a Select clause with a list of SelectTerms

    ","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore6SelectVyACyxq_GSayAA0C4TermOyxGGcfc":{"name":"init(_:)","abstract":"

    Initializes a Select clause with a list of SelectTerms

    ","parent_name":"Select"},"Structs/Select.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore12SelectClauseP10ObjectTypeQa":{"name":"ObjectType","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore12SelectClauseP10ReturnTypeQa":{"name":"ReturnType","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore12SelectClauseP11selectTermsSayAA0C4TermOy10ObjectTypeQzGGvp":{"name":"selectTerms","parent_name":"Select"},"Structs/Select.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"Select"},"Structs/Select.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore6SelectVAASo17NSManagedObjectIDCRb_rlEACyxq_Gycfc":{"name":"init()","abstract":"

    Initializes a Select that queries for NSManagedObjectID results

    ","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore6SelectVAASo15NSManagedObjectCRbzrlEyACyxq_Gs7KeyPathCyxq_Gcfc":{"name":"init(_:)","abstract":"

    Initializes a Select that queries the value of an attribute pertained by a keyPath

    ","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore6SelectVA2A0aB6ObjectCRbzAA23ImportableAttributeTypeR_rlEyACyxq_Gs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GGcfc":{"name":"init(_:)","abstract":"

    Initializes a Select that queries the value of an attribute pertained by a keyPath

    ","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore6SelectVA2A0aB6ObjectCRbzAA23ImportableAttributeTypeR_rlEyACyxq_Gs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GGcfc":{"name":"init(_:)","abstract":"

    Initializes a Select that queries the value of an attribute pertained by a keyPath

    ","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore6SelectVA2A0aB6ObjectCRbzAA23ImportableAttributeTypeR_So8NSCodingR_So9NSCopyingR_rlEyACyxq_Gs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_q_GGcfc":{"name":"init(_:)","abstract":"

    Initializes a Select that queries the value of an attribute pertained by a keyPath

    ","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore6SelectVA2A0aB6ObjectCRbzAA23ImportableAttributeTypeR_So8NSCodingR_So9NSCopyingR_rlEyACyxq_Gs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_q_GGcfc":{"name":"init(_:)","abstract":"

    Initializes a Select that queries the value of an attribute pertained by a keyPath

    ","parent_name":"Select"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVyACyxGSScfc":{"name":"init(_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVyACyxGSS_SSSgAEctcfc":{"name":"init(_:_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVAASo15NSManagedObjectCRbzrlEyACyxGs7KeyPathCyxqd__Gclufc":{"name":"init(_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVAASo15NSManagedObjectCRbzrlEyACyxGs7KeyPathCyxqd__G_SSSgAJctclufc":{"name":"init(_:_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GGcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GGcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GGcSo8NSCodingRd__So9NSCopyingRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GGcSo8NSCodingRd__So9NSCopyingRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_SSSgAOctcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_SSSgAOctcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GG_SSSgAOctcSo8NSCodingRd__So9NSCopyingRd__lufc":{"name":"init(_:_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GG_SSSgAOctcSo8NSCodingRd__So9NSCopyingRd__lufc":{"name":"init(_:_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"SectionBy"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV9ascendingyAEyx_GSSFZ":{"name":"ascending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in ascending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV10descendingyAEyx_GSSFZ":{"name":"descending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in descending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV9ascendingyAEyx_Gs0F4PathCyxqd__GSo15NSManagedObjectCRbzlFZ":{"name":"ascending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in ascending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV10descendingyAEyx_Gs0F4PathCyxqd__GSo15NSManagedObjectCRbzlFZ":{"name":"descending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in descending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV9ascendingyAEyx_Gs0F4PathCyxAA14ValueContainerO8RequiredCyx_qd__GGAA0aB6ObjectCRbzAA23ImportableAttributeTypeRd__lFZ":{"name":"ascending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in ascending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV9ascendingyAEyx_Gs0F4PathCyxAA14ValueContainerO8OptionalCyx_qd__GGAA0aB6ObjectCRbzAA23ImportableAttributeTypeRd__lFZ":{"name":"ascending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in ascending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV9ascendingyAEyx_Gs0F4PathCyxAA22TransformableContainerO8RequiredCyx_qd__GGAA0aB6ObjectCRbzSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"ascending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in ascending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV9ascendingyAEyx_Gs0F4PathCyxAA22TransformableContainerO8OptionalCyx_qd__GGAA0aB6ObjectCRbzSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"ascending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in ascending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV10descendingyAEyx_Gs0F4PathCyxAA14ValueContainerO8RequiredCyx_qd__GGAA0aB6ObjectCRbzAA23ImportableAttributeTypeRd__lFZ":{"name":"descending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in descending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV10descendingyAEyx_Gs0F4PathCyxAA14ValueContainerO8OptionalCyx_qd__GGAA0aB6ObjectCRbzAA23ImportableAttributeTypeRd__lFZ":{"name":"descending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in descending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV10descendingyAEyx_Gs0F4PathCyxAA22TransformableContainerO8RequiredCyx_qd__GGAA0aB6ObjectCRbzSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"descending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in descending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV10descendingyAEyx_Gs0F4PathCyxAA22TransformableContainerO8OptionalCyx_qd__GGAA0aB6ObjectCRbzSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"descending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in descending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyVA2A0aB6ObjectCRbzrlE9ascendingyAEyx_Gqd__xXEAA07DynamicF4PathRd__lFZ":{"name":"ascending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in ascending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyVA2A0aB6ObjectCRbzrlE10descendingyAEyx_Gqd__xXEAA07DynamicF4PathRd__lFZ":{"name":"descending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in descending order

    ","parent_name":"SortKey"},"Structs/OrderBy.html#/s:9CoreStore7OrderByV1poiyACyxGAE_AEtFZ":{"name":"+(_:_:)","abstract":"

    Combines two OrderBy sort descriptors together

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore7OrderByV2peoiyyACyxGz_AEtFZ":{"name":"+=(_:_:)","abstract":"

    Combines two OrderBy sort descriptors together and stores the result to the left operand

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore7OrderByVACyxGycfc":{"name":"init()","abstract":"

    Initializes a OrderBy clause with an empty list of sort descriptors

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore7OrderByVyACyxGSo16NSSortDescriptorCcfc":{"name":"init(_:)","abstract":"

    Initializes a OrderBy clause with a single sort descriptor

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore7OrderByVyACyxGSaySo16NSSortDescriptorCGcfc":{"name":"init(_:)","abstract":"

    Initializes a OrderBy clause with a list of sort descriptors

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore7OrderByVyACyxGSayAC7SortKeyVyx_GGcfc":{"name":"init(_:)","abstract":"

    Initializes a OrderBy clause with a series of SortKeys

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore7OrderByVyACyxGAC7SortKeyVyx_G_AGdtcfc":{"name":"init(_:_:)","abstract":"

    Initializes a OrderBy clause with a series of SortKeys

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore13OrderByClauseP10ObjectTypeQa":{"name":"ObjectType","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore13OrderByClauseP15sortDescriptorsSaySo16NSSortDescriptorCGvp":{"name":"sortDescriptors","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"OrderBy"},"Structs/OrderBy/SortKey.html":{"name":"SortKey","abstract":"

    The SortKey is passed to the OrderBy clause to indicate the sort keys and their sort direction.

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"OrderBy"},"Structs/MigrationChain.html#/s:9CoreStore14MigrationChainVACycfc":{"name":"init()","abstract":"

    Initializes the MigrationChain with empty values, which instructs the DataStack to use the .xcdatamodel’s current version as the final version, and to disable progressive migrations.

    ","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:9CoreStore14MigrationChainVyACSScfc":{"name":"init(_:)","abstract":"

    Initializes the MigrationChain with a single model version, which instructs the DataStack to use the the specified version as the final version, and to disable progressive migrations.

    ","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:9CoreStore14MigrationChainVyACxcSlRzSS7ElementRtzlufc":{"name":"init(_:)","abstract":"

    Initializes the MigrationChain with a linear order of versions, which becomes the order of the DataStack‘s progressive migrations.

    ","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:9CoreStore14MigrationChainVyACSaySS_SStGcfc":{"name":"init(_:)","abstract":"

    Initializes the MigrationChain with a version tree, which becomes the order of the DataStack‘s progressive migrations.

    ","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:9CoreStore14MigrationChainVyACSDyS2SGcfc":{"name":"init(_:)","abstract":"

    Initializes the MigrationChain with a version tree, which becomes the order of the DataStack‘s progressive migrations.

    ","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:s23ExpressibleByNilLiteralP03nilD0xyt_tcfc":{"name":"init(nilLiteral:)","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:s26ExpressibleByStringLiteralP06stringD0x0cD4TypeQz_tcfc":{"name":"init(stringLiteral:)","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:s43ExpressibleByExtendedGraphemeClusterLiteralP08extendeddeF0x0cdeF4TypeQz_tcfc":{"name":"init(extendedGraphemeClusterLiteral:)","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:s33ExpressibleByUnicodeScalarLiteralP07unicodedE0x0cdE4TypeQz_tcfc":{"name":"init(unicodeScalarLiteral:)","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:s30ExpressibleByDictionaryLiteralP010dictionaryD0x3KeyQz_5ValueQztd_tcfc":{"name":"init(dictionaryLiteral:)","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:s25ExpressibleByArrayLiteralP05arrayD0x0cD7ElementQzd_tcfc":{"name":"init(arrayLiteral:)","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MigrationChain"},"Structs/LocalStorageOptions.html#/s:9CoreStore19LocalStorageOptionsV4noneACvpZ":{"name":"none","abstract":"

    Tells the DataStack that the store should not be migrated or recreated, and should simply fail on model mismatch

    ","parent_name":"LocalStorageOptions"},"Structs/LocalStorageOptions.html#/s:9CoreStore19LocalStorageOptionsV08recreateB15OnModelMismatchACvpZ":{"name":"recreateStoreOnModelMismatch","abstract":"

    Tells the DataStack to delete and recreate the store on model mismatch, otherwise exceptions will be thrown on failure instead

    ","parent_name":"LocalStorageOptions"},"Structs/LocalStorageOptions.html#/s:9CoreStore19LocalStorageOptionsV27preventProgressiveMigrationACvpZ":{"name":"preventProgressiveMigration","abstract":"

    Tells the DataStack to prevent progressive migrations for the store

    ","parent_name":"LocalStorageOptions"},"Structs/LocalStorageOptions.html#/s:9CoreStore19LocalStorageOptionsV36allowSynchronousLightweightMigrationACvpZ":{"name":"allowSynchronousLightweightMigration","abstract":"

    Tells the DataStack to allow lightweight migration for the store when added synchronously

    ","parent_name":"LocalStorageOptions"},"Structs/LocalStorageOptions.html#/s:s9OptionSetP8rawValuex03RawD0Qz_tcfc":{"name":"init(rawValue:)","parent_name":"LocalStorageOptions"},"Structs/LocalStorageOptions.html#/s:SY8rawValue03RawB0Qzvp":{"name":"rawValue","parent_name":"LocalStorageOptions"},"Structs/LocalStorageOptions.html#/s:s23ExpressibleByNilLiteralP03nilD0xyt_tcfc":{"name":"init(nilLiteral:)","parent_name":"LocalStorageOptions"},"Structs/LocalStorageOptions.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"LocalStorageOptions"},"Structs/Into.html#/s:9CoreStore4IntoV11entityClassxmvp":{"name":"entityClass","abstract":"

    The associated NSManagedObject or CoreStoreObject entity class

    ","parent_name":"Into"},"Structs/Into.html#/s:9CoreStore4IntoV13configurationSSSgvp":{"name":"configuration","abstract":"

    The NSPersistentStore configuration name to associate objects from.","parent_name":"Into"},"Structs/Into.html#/s:9CoreStore4IntoVACyxGycfc":{"name":"init()","abstract":"

    Initializes an Into clause.

    ","parent_name":"Into"},"Structs/Into.html#/s:9CoreStore4IntoVyACyxGxmcfc":{"name":"init(_:)","abstract":"

    Initializes an Into clause with the specified entity type. This is useful for querying a subclass while binding the generic type with a base class.

    ","parent_name":"Into"},"Structs/Into.html#/s:9CoreStore4IntoVyACyxGSSSgcfc":{"name":"init(_:)","abstract":"

    Initializes an Into clause with the specified configuration.

    ","parent_name":"Into"},"Structs/Into.html#/s:9CoreStore4IntoVyACyxGxm_SSSgtcfc":{"name":"init(_:_:)","abstract":"

    Initializes an Into clause with the specified entity type and configuration. This is useful for querying a subclass while binding the generic type with a base class.

    ","parent_name":"Into"},"Structs/Into.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"Into"},"Structs/Into.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"Into"},"Structs/Into.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"Into"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVACyxGycfc":{"name":"init()","abstract":"

    Initializes a GroupBy clause with an empty list of key path strings

    ","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVyACyxGSS_SSdtcfc":{"name":"init(_:_:)","abstract":"

    Initializes a GroupBy clause with a list of key path strings

    ","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVyACyxGSaySSGcfc":{"name":"init(_:)","abstract":"

    Initializes a GroupBy clause with a list of key path strings

    ","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore13GroupByClauseP10ObjectTypeQa":{"name":"ObjectType","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore13GroupByClauseP8keyPathsSaySSGvp":{"name":"keyPaths","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVAASo15NSManagedObjectCRbzrlEyACyxGs7KeyPathCyxqd__Gclufc":{"name":"init(_:)","abstract":"

    Initializes a GroupBy clause with a key path

    ","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GGcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a GroupBy clause with a key path

    ","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GGcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a GroupBy clause with a key path

    ","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GGcSo8NSCodingRd__So9NSCopyingRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a GroupBy clause with a key path

    ","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GGcSo8NSCodingRd__So9NSCopyingRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a GroupBy clause with a key path

    ","parent_name":"GroupBy"},"Structs/From.html#/s:9CoreStore4FromV11entityClassxmvp":{"name":"entityClass","abstract":"

    The associated NSManagedObject or CoreStoreObject entity class

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV14configurationsSaySSSgGSgvp":{"name":"configurations","abstract":"

    The NSPersistentStore configuration names to associate objects from.","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVACyxGycfc":{"name":"init()","abstract":"

    Initializes a From clause.

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVyACyxGxmcfc":{"name":"init(_:)","abstract":"

    Initializes a From clause with the specified entity type.

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVyACyxGSSSg_AEdtcfc":{"name":"init(_:_:)","abstract":"

    Initializes a From clause with the specified configurations.

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVyACyxGSaySSSgGcfc":{"name":"init(_:)","abstract":"

    Initializes a From clause with the specified configurations.

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVyACyxGxm_SSSgAEdtcfc":{"name":"init(_:_:_:)","abstract":"

    Initializes a From clause with the specified configurations.

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVyACyxGxm_SaySSSgGtcfc":{"name":"init(_:_:)","abstract":"

    Initializes a From clause with the specified configurations.

    ","parent_name":"From"},"Structs/From.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV5whereyAA17FetchChainBuilderVyxGAA5WhereVyxGF":{"name":"where(_:)","abstract":"

    Creates a FetchChainBuilder that starts with the specified Where clause

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV5where6format_AA17FetchChainBuilderVyxGSS_ypdtF":{"name":"where(format:_:)","abstract":"

    Creates a FetchChainBuilder with a predicate using the specified string format and arguments

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV5where6format13argumentArrayAA17FetchChainBuilderVyxGSS_SayypGSgtF":{"name":"where(format:argumentArray:)","abstract":"

    Creates a FetchChainBuilder with a predicate using the specified string format and arguments

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV7orderByyAA17FetchChainBuilderVyxGAA05OrderE0V7SortKeyVyx_G_ALdtF":{"name":"orderBy(_:_:)","abstract":"

    Creates a FetchChainBuilder with a series of SortKeys

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV5tweakyAA17FetchChainBuilderVyxGySo14NSFetchRequestCySo0hI6Result_pGcF":{"name":"tweak(_:)","abstract":"

    Creates a FetchChainBuilder with a closure where the NSFetchRequest may be configured

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV9appendingyAA17FetchChainBuilderVyxGAA0E6Clause_pF":{"name":"appending(_:)","abstract":"

    Creates a FetchChainBuilder and immediately appending a FetchClause

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV9appending10contentsOfAA17FetchChainBuilderVyxGqd___tSTRd__AA0G6Clause_p7ElementRtd__lF":{"name":"appending(contentsOf:)","abstract":"

    Creates a FetchChainBuilder and immediately appending a series of FetchClauses

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV6selectyAA17QueryChainBuilderVyxqd__GAA6SelectVyxqd__GAA0H10ResultTypeRd__lF":{"name":"select(_:)","abstract":"

    Creates a QueryChainBuilder that starts with the specified Select clause

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV6selectyAA17QueryChainBuilderVyxqd__Gqd__m_AA10SelectTermOyxGAJdtAA0H10ResultTypeRd__lF":{"name":"select(_:_:_:)","abstract":"

    Creates a QueryChainBuilder that starts with a Select clause created from the specified SelectTerms

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV6selectyAA17QueryChainBuilderVyxqd__Gqd__m_SayAA10SelectTermOyxGGtAA0H10ResultTypeRd__lF":{"name":"select(_:_:)","abstract":"

    Creates a QueryChainBuilder that starts with a Select clause created from the specified SelectTerms

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV9sectionByyAA26SectionMonitorChainBuilderVyxGAA0fE0VyxGF":{"name":"sectionBy(_:)","abstract":"

    Creates a SectionMonitorChainBuilder that starts with the SectionBy to use to group ListMonitor objects into sections

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV9sectionByyAA26SectionMonitorChainBuilderVyxGSSF":{"name":"sectionBy(_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV9sectionByyAA26SectionMonitorChainBuilderVyxGSS_SSSgAHctF":{"name":"sectionBy(_:_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVAASo15NSManagedObjectCRbzrlE6selectyAA17QueryChainBuilderVyxqd__Gs7KeyPathCyxqd__GAA16SelectResultTypeRd__lF":{"name":"select(_:)","abstract":"

    Creates a QueryChainBuilder that starts with a Select clause created from the specified key path

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVAASo15NSManagedObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxqd__GlF":{"name":"sectionBy(_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVAASo15NSManagedObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxqd__G_SSSgAMctlF":{"name":"sectionBy(_:_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE5whereyAA17FetchChainBuilderVyxGqd__xXEAA14AnyWhereClauseRd__lF":{"name":"where(_:)","abstract":"

    Creates a FetchChainBuilder that starts with the specified Where clause

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE6selectyAA17QueryChainBuilderVyxqd__Gs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GGAA23ImportableAttributeTypeRd__lF":{"name":"select(_:)","abstract":"

    Creates a QueryChainBuilder that starts with a Select clause created from the specified key path

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE6selectyAA17QueryChainBuilderVyxqd__Gs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GGAA23ImportableAttributeTypeRd__lF":{"name":"select(_:)","abstract":"

    Creates a QueryChainBuilder that starts with a Select clause created from the specified key path

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE6selectyAA17QueryChainBuilderVyxqd__Gs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GGAA16SelectResultTypeRd__So8NSCodingRd__So9NSCopyingRd__lF":{"name":"select(_:)","abstract":"

    Creates a QueryChainBuilder that starts with a Select clause created from the specified key path

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE6selectyAA17QueryChainBuilderVyxqd__Gs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GGAA16SelectResultTypeRd__So8NSCodingRd__So9NSCopyingRd__lF":{"name":"select(_:)","abstract":"

    Creates a QueryChainBuilder that starts with a Select clause created from the specified key path

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GGAA23ImportableAttributeTypeRd__lF":{"name":"sectionBy(_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GGAA23ImportableAttributeTypeRd__lF":{"name":"sectionBy(_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GGSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"sectionBy(_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GGSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"sectionBy(_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_SSSgARctAA23ImportableAttributeTypeRd__lF":{"name":"sectionBy(_:_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_SSSgARctAA23ImportableAttributeTypeRd__lF":{"name":"sectionBy(_:_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GG_SSSgARctSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"sectionBy(_:_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GG_SSSgARctSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"sectionBy(_:_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"From"},"Structs/CloudStorageOptions.html#/s:9CoreStore19CloudStorageOptionsV4noneACvpZ":{"name":"none","abstract":"

    Tells the DataStack that the store should not be migrated or recreated, and should simply fail on model mismatch

    ","parent_name":"CloudStorageOptions"},"Structs/CloudStorageOptions.html#/s:9CoreStore19CloudStorageOptionsV013recreateLocalB15OnModelMismatchACvpZ":{"name":"recreateLocalStoreOnModelMismatch","abstract":"

    Tells the DataStack to delete and recreate the local store from the cloud store on model mismatch, otherwise exceptions will be thrown on failure instead

    ","parent_name":"CloudStorageOptions"},"Structs/CloudStorageOptions.html#/s:9CoreStore19CloudStorageOptionsV36allowSynchronousLightweightMigrationACvpZ":{"name":"allowSynchronousLightweightMigration","abstract":"

    Tells the DataStack to allow lightweight migration for the store when added synchronously

    ","parent_name":"CloudStorageOptions"},"Structs/CloudStorageOptions.html#/s:s9OptionSetP8rawValuex03RawD0Qz_tcfc":{"name":"init(rawValue:)","parent_name":"CloudStorageOptions"},"Structs/CloudStorageOptions.html#/s:SY8rawValue03RawB0Qzvp":{"name":"rawValue","parent_name":"CloudStorageOptions"},"Structs/CloudStorageOptions.html#/s:s23ExpressibleByNilLiteralP03nilD0xyt_tcfc":{"name":"init(nilLiteral:)","parent_name":"CloudStorageOptions"},"Structs/CloudStorageOptions.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"CloudStorageOptions"},"Structs/Tweak.html#/s:9CoreStore5TweakV7closureyySo14NSFetchRequestCySo0eF6Result_pGcvp":{"name":"closure","abstract":"

    The block to customize the NSFetchRequest

    ","parent_name":"Tweak"},"Structs/Tweak.html#/s:9CoreStore5TweakVyACySo14NSFetchRequestCySo0dE6Result_pGccfc":{"name":"init(_:)","abstract":"

    Initializes a Tweak clause with a closure where the NSFetchRequest may be configured.

    ","parent_name":"Tweak"},"Structs/Tweak.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"Tweak"},"Structs/Tweak.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"Tweak"},"Structs/Tweak.html":{"name":"Tweak","abstract":"

    The Tweak clause allows fine-tuning the NSFetchRequest for a fetch or query."},"Structs/CloudStorageOptions.html":{"name":"CloudStorageOptions","abstract":"

    The CloudStorageOptions provides settings that tells the DataStack how to setup the persistent store for LocalStorage implementers.

    "},"Structs/From.html":{"name":"From","abstract":"

    A From clause specifies the source entity and source persistent store for fetch and query methods. A common usage is to just indicate the entity:

    "},"Structs/GroupBy.html":{"name":"GroupBy","abstract":"

    The GroupBy clause specifies that the result of a query be grouped accoording to the specified key path.

    "},"Structs/Into.html":{"name":"Into","abstract":"

    An Into clause contains the destination entity and destination persistent store for a create(...) method. A common usage is to just indicate the entity:

    "},"Structs/LocalStorageOptions.html":{"name":"LocalStorageOptions","abstract":"

    The LocalStorageOptions provides settings that tells the DataStack how to setup the persistent store for LocalStorage implementers.

    "},"Structs/MigrationChain.html":{"name":"MigrationChain","abstract":"

    A MigrationChain indicates the sequence of model versions to be used as the order for progressive migrations. This is typically passed to the SchemaHistory or the DataStack initializer and will be applied to all stores added to the DataStack with addStorage(...) and its variants.

    "},"Structs/OrderBy.html":{"name":"OrderBy","abstract":"

    The OrderBy clause specifies the sort order for results for a fetch or a query.

    "},"Structs/SectionBy.html":{"name":"SectionBy","abstract":"

    The SectionBy clause indicates the key path to use to group the ListMonitor objects into sections. An optional closure can also be provided to transform the value into an appropriate section name:

    "},"Structs/Select.html":{"name":"Select","abstract":"

    The Select clause indicates the attribute / aggregate value to be queried. The generic type is a SelectResultType, and will be used as the return type for the query.

    "},"Structs/Where.html":{"name":"Where","abstract":"

    The Where clause specifies the conditions for a fetch or a query.

    "},"Structs/VersionLock.html":{"name":"VersionLock","abstract":"

    The VersionLock contains the version hashes for entities. This is then passed to the CoreStoreSchema, which contains all entities for the store. An assertion will be raised if any Entity doesn’t match the version hash.

    "},"Structs/FetchChainBuilder.html":{"name":"FetchChainBuilder","abstract":"

    The fetch builder type used for fetches. A FetchChainBuilder is created from a From clause.

    "},"Structs/QueryChainBuilder.html":{"name":"QueryChainBuilder","abstract":"

    The fetch builder type used for a queries. A QueryChainBuilder is created from a From clause and then a select(...) chain.

    "},"Structs/SectionMonitorChainBuilder.html":{"name":"SectionMonitorChainBuilder","abstract":"

    The fetch builder type used for a sectioned ListMonitor. A SectionMonitorChainBuilder is created from a From clause and then a sectionBy(...) chain.

    "},"Structs/PartialObject.html":{"name":"PartialObject","abstract":"

    A PartialObject is only used when overriding getters and setters for CoreStoreObject properties. Custom getters and setters are implemented as a closure that overrides the default property getter/setter. The closure receives a PartialObject<O>, which acts as a fast, type-safe KVC interface for CoreStoreObject. The reason a CoreStoreObject instance is not passed directly is because the Core Data runtime is not aware of CoreStoreObject properties’ static typing, and so loading those info everytime KVO invokes this accessor method incurs a heavy performance hit (especially in KVO-heavy operations such as ListMonitor observing.) When accessing the property value from PartialObject<O>, make sure to use PartialObject<O>.persistentValue(for:) instead of PartialObject<O>.value(for:), which would unintentionally execute the same closure again recursively.

    "},"Protocols/WhereClauseType.html#/s:9CoreStore15WhereClauseTypeP06ObjectE0Qa":{"name":"ObjectType","abstract":"

    The DynamicObject type associated with the clause

    ","parent_name":"WhereClauseType"},"Protocols/WhereClauseType.html#/s:9CoreStore15WhereClauseTypePAAE2aaoiyxx_qd__tAaBRd__lFZ":{"name":"&&(_:_:)","abstract":"

    Combines two Where predicates together using AND operator.

    ","parent_name":"WhereClauseType"},"Protocols/WhereClauseType.html#/s:9CoreStore15WhereClauseTypePAAE2aaoiyxqd___xtAaBRd__lFZ":{"name":"&&(_:_:)","abstract":"

    Combines two Where predicates together using AND operator.

    ","parent_name":"WhereClauseType"},"Protocols/WhereClauseType.html#/s:9CoreStore15WhereClauseTypePAAE2oooiyxx_qd__tAaBRd__lFZ":{"name":"||(_:_:)","abstract":"

    Combines two Where predicates together using OR operator.

    ","parent_name":"WhereClauseType"},"Protocols/WhereClauseType.html#/s:9CoreStore15WhereClauseTypePAAE2oooiyxqd___xtAaBRd__lFZ":{"name":"||(_:_:)","abstract":"

    Combines two Where predicates together using OR operator.

    ","parent_name":"WhereClauseType"},"Protocols/AnyWhereClause.html#/s:9CoreStore14AnyWhereClauseP9predicateSo11NSPredicateCvp":{"name":"predicate","abstract":"

    The NSPredicate for the fetch or query

    ","parent_name":"AnyWhereClause"},"Protocols/AnyWhereClause.html#/s:9CoreStore14AnyWhereClausePyxSo11NSPredicateCcfc":{"name":"init(_:)","abstract":"

    Initializes a Where clause with an NSPredicate

    ","parent_name":"AnyWhereClause"},"Protocols/CloudStorage.html#/s:9CoreStore12CloudStorageP12cacheFileURL10Foundation0G0Vvp":{"name":"cacheFileURL","abstract":"

    The NSURL that points to the store file

    ","parent_name":"CloudStorage"},"Protocols/CloudStorage.html#/s:9CoreStore12CloudStorageP05cloudD7OptionsAA0cdF0Vvp":{"name":"cloudStorageOptions","abstract":"

    Options that tell the DataStack how to setup the persistent store

    ","parent_name":"CloudStorage"},"Protocols/CloudStorage.html#/s:9CoreStore12CloudStorageP10dictionary10forOptionsSDys11AnyHashableVypGSgAA0cdG0V_tF":{"name":"dictionary(forOptions:)","abstract":"

    The options dictionary for the specified CloudStorageOptions

    ","parent_name":"CloudStorage"},"Protocols/CloudStorage.html#/s:9CoreStore12CloudStorageP08cs_eraseD7AndWait10soureModelySo015NSManagedObjectJ0C_tKF":{"name":"cs_eraseStorageAndWait(soureModel:)","abstract":"

    Called by the DataStack to perform actual deletion of the store file from disk. Do not call directly! The sourceModel argument is a hint for the existing store’s model version. Implementers can use the sourceModel to perform necessary store operations. (Cloud stores for example, can set the NSPersistentStoreRemoveUbiquitousMetadataOption option before deleting)

    ","parent_name":"CloudStorage"},"Protocols/LocalStorage.html#/s:9CoreStore12LocalStorageP7fileURL10Foundation0F0Vvp":{"name":"fileURL","abstract":"

    The NSURL that points to the store file

    ","parent_name":"LocalStorage"},"Protocols/LocalStorage.html#/s:9CoreStore12LocalStorageP25migrationMappingProvidersSayAA06SchemaF8Provider_pGvp":{"name":"migrationMappingProviders","abstract":"

    An array of SchemaMappingProviders that provide the complete mapping models for custom migrations.

    ","parent_name":"LocalStorage"},"Protocols/LocalStorage.html#/s:9CoreStore12LocalStorageP05localD7OptionsAA0cdF0Vvp":{"name":"localStorageOptions","abstract":"

    Options that tell the DataStack how to setup the persistent store

    ","parent_name":"LocalStorage"},"Protocols/LocalStorage.html#/s:9CoreStore12LocalStorageP10dictionary10forOptionsSDys11AnyHashableVypGSgAA0cdG0V_tF":{"name":"dictionary(forOptions:)","abstract":"

    The options dictionary for the specified LocalStorageOptions

    ","parent_name":"LocalStorage"},"Protocols/LocalStorage.html#/s:9CoreStore12LocalStorageP011cs_finalizeD7AndWait14soureModelHintySo015NSManagedObjectJ0C_tKF":{"name":"cs_finalizeStorageAndWait(soureModelHint:)","abstract":"

    Called by the DataStack to perform checkpoint operations on the storage. (SQLite stores for example, can convert the database’s WAL journaling mode to DELETE to force a checkpoint)

    ","parent_name":"LocalStorage"},"Protocols/LocalStorage.html#/s:9CoreStore12LocalStorageP08cs_eraseD7AndWait8metadata14soureModelHintySDySSypG_So015NSManagedObjectK0CSgtKF":{"name":"cs_eraseStorageAndWait(metadata:soureModelHint:)","abstract":"

    Called by the DataStack to perform actual deletion of the store file from disk. Do not call directly! The sourceModel argument is a hint for the existing store’s model version. Implementers can use the sourceModel to perform necessary store operations. (SQLite stores for example, can convert WAL journaling mode to DELETE before deleting)

    ","parent_name":"LocalStorage"},"Protocols/StorageInterface.html#/s:9CoreStore16StorageInterfaceP9storeTypeSSvpZ":{"name":"storeType","abstract":"

    The string identifier for the NSPersistentStore‘s type property. This is the same string CoreStore will use to create the NSPersistentStore from the NSPersistentStoreCoordinator’s addPersistentStoreWithType(...) method.

    ","parent_name":"StorageInterface"},"Protocols/StorageInterface.html#/s:9CoreStore16StorageInterfaceP13configurationSSSgvp":{"name":"configuration","abstract":"

    The configuration name in the model file

    ","parent_name":"StorageInterface"},"Protocols/StorageInterface.html#/s:9CoreStore16StorageInterfaceP12storeOptionsSDys11AnyHashableVypGSgvp":{"name":"storeOptions","abstract":"

    The options dictionary for the NSPersistentStore

    ","parent_name":"StorageInterface"},"Protocols/StorageInterface.html#/s:9CoreStore16StorageInterfaceP20cs_didAddToDataStackyyAA0iJ0CF":{"name":"cs_didAddToDataStack(_:)","abstract":"

    Do not call directly. Used by the DataStack internally.

    ","parent_name":"StorageInterface"},"Protocols/StorageInterface.html#/s:9CoreStore16StorageInterfaceP25cs_didRemoveFromDataStackyyAA0iJ0CF":{"name":"cs_didRemoveFromDataStack(_:)","abstract":"

    Do not call directly. Used by the DataStack internally.

    ","parent_name":"StorageInterface"},"Protocols/SelectClause.html#/s:9CoreStore12SelectClauseP10ObjectTypeQa":{"name":"ObjectType","abstract":"

    The DynamicObject type associated with the clause

    ","parent_name":"SelectClause"},"Protocols/SelectClause.html#/s:9CoreStore12SelectClauseP10ReturnTypeQa":{"name":"ReturnType","abstract":"

    The SelectResultType type associated with the clause

    ","parent_name":"SelectClause"},"Protocols/SelectClause.html#/s:9CoreStore12SelectClauseP11selectTermsSayAA0C4TermOy10ObjectTypeQzGGvp":{"name":"selectTerms","abstract":"

    The SelectTerms for the query

    ","parent_name":"SelectClause"},"Protocols/SectionMonitorBuilderType.html#/s:9CoreStore25SectionMonitorBuilderTypeP06ObjectF0Qa":{"name":"ObjectType","abstract":"

    The DynamicObject type for the ListMonitor

    ","parent_name":"SectionMonitorBuilderType"},"Protocols/SectionMonitorBuilderType.html#/s:9CoreStore25SectionMonitorBuilderTypeP4fromAA4FromVy06ObjectF0QzGvp":{"name":"from","abstract":"

    The From clause specifies the source entity and source persistent store for the ListMonitor

    ","parent_name":"SectionMonitorBuilderType"},"Protocols/SectionMonitorBuilderType.html#/s:9CoreStore25SectionMonitorBuilderTypeP9sectionByAA0cH0Vy06ObjectF0QzGvp":{"name":"sectionBy","abstract":"

    The SectionBy clause to be used for the ListMonitor

    ","parent_name":"SectionMonitorBuilderType"},"Protocols/SectionMonitorBuilderType.html#/s:9CoreStore25SectionMonitorBuilderTypeP12fetchClausesSayAA11FetchClause_pGvp":{"name":"fetchClauses","abstract":"

    The FetchClauses to be used for the ListMonitor

    ","parent_name":"SectionMonitorBuilderType"},"Protocols/SchemaMappingProvider.html#/s:9CoreStore21SchemaMappingProviderP09cs_createD5Model4from2to7storageSo09NSMappingH0C07mappingH0_AA13MigrationTypeO09migrationO0tAA07DynamicC0_p_AaN_pAA12LocalStorage_ptKF":{"name":"cs_createMappingModel(from:to:storage:)","abstract":"

    Do not call directly.

    ","parent_name":"SchemaMappingProvider"},"Protocols/QueryableSource.html#/s:9CoreStore15QueryableSourceP10queryValueyqd_0_SgAA4FromVyqd__G_AA6SelectVyqd__qd_0_GAA11QueryClause_pdtAA13DynamicObjectRd__AA0C13AttributeTypeRd_0_r0_lF":{"name":"queryValue(_:_:_:)","abstract":"

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"QueryableSource"},"Protocols/QueryableSource.html#/s:9CoreStore15QueryableSourceP10queryValueyqd_0_SgAA4FromVyqd__G_AA6SelectVyqd__qd_0_GSayAA11QueryClause_pGtAA13DynamicObjectRd__AA0C13AttributeTypeRd_0_r0_lF":{"name":"queryValue(_:_:_:)","abstract":"

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"QueryableSource"},"Protocols/QueryableSource.html#/s:9CoreStore15QueryableSourceP10queryValuey10ResultTypeQyd__Sgqd__AA021QueryChainableBuilderH0Rd__AA0c9AttributeH0AFRQlF":{"name":"queryValue(_:)","abstract":"

    Queries a property value or aggregate as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"QueryableSource"},"Protocols/QueryableSource.html#/s:9CoreStore15QueryableSourceP15queryAttributesySaySDySSypGGSgAA4FromVyqd__G_AA6SelectVyqd__So12NSDictionaryCGAA11QueryClause_pdtAA13DynamicObjectRd__lF":{"name":"queryAttributes(_:_:_:)","abstract":"

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"QueryableSource"},"Protocols/QueryableSource.html#/s:9CoreStore15QueryableSourceP15queryAttributesySaySDySSypGGSgAA4FromVyqd__G_AA6SelectVyqd__So12NSDictionaryCGSayAA11QueryClause_pGtAA13DynamicObjectRd__lF":{"name":"queryAttributes(_:_:_:)","abstract":"

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"QueryableSource"},"Protocols/QueryableSource.html#/s:9CoreStore15QueryableSourceP15queryAttributesySaySDySSypGGSgqd__AA25QueryChainableBuilderTypeRd__So12NSDictionaryC06ResultJ0Rtd__lF":{"name":"queryAttributes(_:)","abstract":"

    Queries a dictionary of attribute values or as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"QueryableSource"},"Protocols/QueryableSource.html#/s:9CoreStore15QueryableSourceP13unsafeContextSo015NSManagedObjectF0CyF":{"name":"unsafeContext()","abstract":"

    The internal NSManagedObjectContext managed by this QueryableSource. Using this context directly should typically be avoided, and is provided by CoreStore only for extremely specialized cases.

    ","parent_name":"QueryableSource"},"Protocols/QueryableAttributeType.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","abstract":"

    The CoreDataNativeType for this type when used in Select clauses.

    ","parent_name":"QueryableAttributeType"},"Protocols/QueryableAttributeType.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","abstract":"

    The NSAttributeType for this type when used in Select clauses.

    ","parent_name":"QueryableAttributeType"},"Protocols/QueryableAttributeType.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","abstract":"

    Creates an instance of this type from its QueryableNativeType value.

    ","parent_name":"QueryableAttributeType"},"Protocols/QueryableAttributeType.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","abstract":"

    Creates QueryableNativeType value from this instance.

    ","parent_name":"QueryableAttributeType"},"Protocols/QueryChainableBuilderType.html#/s:9CoreStore25QueryChainableBuilderTypeP06ObjectF0Qa":{"name":"ObjectType","abstract":"

    The DynamicObject type for the query

    ","parent_name":"QueryChainableBuilderType"},"Protocols/QueryChainableBuilderType.html#/s:9CoreStore25QueryChainableBuilderTypeP06ResultF0Qa":{"name":"ResultType","abstract":"

    The SelectResultType type for the query

    ","parent_name":"QueryChainableBuilderType"},"Protocols/QueryChainableBuilderType.html#/s:9CoreStore25QueryChainableBuilderTypeP4fromAA4FromVy06ObjectF0QzGvp":{"name":"from","abstract":"

    The From clause specifies the source entity and source persistent store for the query

    ","parent_name":"QueryChainableBuilderType"},"Protocols/QueryChainableBuilderType.html#/s:9CoreStore25QueryChainableBuilderTypeP6selectAA6SelectVy06ObjectF0Qz06ResultF0QzGvp":{"name":"select","abstract":"

    The Select clause to be used for the query

    ","parent_name":"QueryChainableBuilderType"},"Protocols/QueryChainableBuilderType.html#/s:9CoreStore25QueryChainableBuilderTypeP12queryClausesSayAA0C6Clause_pGvp":{"name":"queryClauses","abstract":"

    The QueryClauses to be used for the query

    ","parent_name":"QueryChainableBuilderType"},"Protocols/OrderByClause.html#/s:9CoreStore13OrderByClauseP10ObjectTypeQa":{"name":"ObjectType","abstract":"

    The DynamicObject type associated with the clause

    ","parent_name":"OrderByClause"},"Protocols/OrderByClause.html#/s:9CoreStore13OrderByClauseP15sortDescriptorsSaySo16NSSortDescriptorCGvp":{"name":"sortDescriptors","abstract":"

    The NSSortDescriptor array for the fetch or query

    ","parent_name":"OrderByClause"},"Protocols/ObjectObserver.html#/s:9CoreStore14ObjectObserverP0C10EntityTypeQa":{"name":"ObjectEntityType","abstract":"

    The DynamicObject type for the observed object

    ","parent_name":"ObjectObserver"},"Protocols/ObjectObserver.html#/s:9CoreStore14ObjectObserverP13objectMonitor_010willUpdateC0yAA0cF0Cy0C10EntityTypeQzG_AItF":{"name":"objectMonitor(_:willUpdateObject:)","abstract":"

    Handles processing just before a change to the observed object occurs. (Optional)","parent_name":"ObjectObserver"},"Protocols/ObjectObserver.html#/s:9CoreStore14ObjectObserverP13objectMonitor_09didUpdateC021changedPersistentKeysyAA0cF0Cy0C10EntityTypeQzG_AJShySSGtF":{"name":"objectMonitor(_:didUpdateObject:changedPersistentKeys:)","abstract":"

    Handles processing right after a change to the observed object occurs. (Optional)","parent_name":"ObjectObserver"},"Protocols/ObjectObserver.html#/s:9CoreStore14ObjectObserverP13objectMonitor_09didDeleteC0yAA0cF0Cy0C10EntityTypeQzG_AItF":{"name":"objectMonitor(_:didDeleteObject:)","abstract":"

    Handles processing right after object is deleted. (Optional)","parent_name":"ObjectObserver"},"Protocols/ListSectionObserver.html#/s:9CoreStore19ListSectionObserverP11listMonitor_09didInsertD002toD5IndexyAA0cG0Cy0C10EntityTypeQzG_So016NSFetchedResultsD4Info_pSitF":{"name":"listMonitor(_:didInsertSection:toSectionIndex:)","abstract":"

    Notifies that a section was inserted at the specified index. (Optional)","parent_name":"ListSectionObserver"},"Protocols/ListSectionObserver.html#/s:9CoreStore19ListSectionObserverP11listMonitor_09didDeleteD004fromD5IndexyAA0cG0Cy0C10EntityTypeQzG_So016NSFetchedResultsD4Info_pSitF":{"name":"listMonitor(_:didDeleteSection:fromSectionIndex:)","abstract":"

    Notifies that a section was inserted at the specified index. (Optional)","parent_name":"ListSectionObserver"},"Protocols/ListObjectObserver.html#/s:9CoreStore18ListObjectObserverP11listMonitor_09didInsertD011toIndexPathyAA0cG0Cy0C10EntityTypeQzG_AJ10Foundation0kL0VtF":{"name":"listMonitor(_:didInsertObject:toIndexPath:)","abstract":"

    Notifies that an object was inserted to the specified NSIndexPath in the list. (Optional)","parent_name":"ListObjectObserver"},"Protocols/ListObjectObserver.html#/s:9CoreStore18ListObjectObserverP11listMonitor_09didDeleteD013fromIndexPathyAA0cG0Cy0C10EntityTypeQzG_AJ10Foundation0kL0VtF":{"name":"listMonitor(_:didDeleteObject:fromIndexPath:)","abstract":"

    Notifies that an object was deleted from the specified NSIndexPath in the list. (Optional)","parent_name":"ListObjectObserver"},"Protocols/ListObjectObserver.html#/s:9CoreStore18ListObjectObserverP11listMonitor_09didUpdateD011atIndexPathyAA0cG0Cy0C10EntityTypeQzG_AJ10Foundation0kL0VtF":{"name":"listMonitor(_:didUpdateObject:atIndexPath:)","abstract":"

    Notifies that an object at the specified NSIndexPath was updated. (Optional)","parent_name":"ListObjectObserver"},"Protocols/ListObjectObserver.html#/s:9CoreStore18ListObjectObserverP11listMonitor_07didMoveD013fromIndexPath02tokL0yAA0cG0Cy0C10EntityTypeQzG_AK10Foundation0kL0VAOtF":{"name":"listMonitor(_:didMoveObject:fromIndexPath:toIndexPath:)","abstract":"

    Notifies that an object’s index changed. (Optional)","parent_name":"ListObjectObserver"},"Protocols/ListObserver.html#/s:9CoreStore12ListObserverP0C10EntityTypeQa":{"name":"ListEntityType","abstract":"

    The NSManagedObject type for the observed list

    ","parent_name":"ListObserver"},"Protocols/ListObserver.html#/s:9CoreStore12ListObserverP21listMonitorWillChangeyyAA0cF0Cy0C10EntityTypeQzGF":{"name":"listMonitorWillChange(_:)","abstract":"

    Handles processing just before a change to the observed list occurs. (Optional)","parent_name":"ListObserver"},"Protocols/ListObserver.html#/s:9CoreStore12ListObserverP20listMonitorDidChangeyyAA0cF0Cy0C10EntityTypeQzGF":{"name":"listMonitorDidChange(_:)","abstract":"

    Handles processing right after a change to the observed list occurs. (Required)

    ","parent_name":"ListObserver"},"Protocols/ListObserver.html#/s:9CoreStore12ListObserverP22listMonitorWillRefetchyyAA0cF0Cy0C10EntityTypeQzGF":{"name":"listMonitorWillRefetch(_:)","abstract":"

    This method is broadcast from within the ListMonitor‘s refetch(...) method to let observers prepare for the internal NSFetchedResultsController’s pending change to its predicate, sort descriptors, etc. (Optional)

    ","parent_name":"ListObserver"},"Protocols/ListObserver.html#/s:9CoreStore12ListObserverP21listMonitorDidRefetchyyAA0cF0Cy0C10EntityTypeQzGF":{"name":"listMonitorDidRefetch(_:)","abstract":"

    After the ListMonitor‘s refetch(...) method is called, this method is broadcast after the NSFetchedResultsController’s last controllerDidChangeContent(_:) notification completes. (Required)

    ","parent_name":"ListObserver"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP0D6IDTypeQa":{"name":"UniqueIDType","abstract":"

    The data type for the entity’s unique ID attribute

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP15uniqueIDKeyPathSSvpZ":{"name":"uniqueIDKeyPath","abstract":"

    The keyPath to the entity’s unique ID attribute

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP13uniqueIDValue0D6IDTypeQzvp":{"name":"uniqueIDValue","abstract":"

    The object’s unique ID value. The default implementation returns the value of the attribute pertained to by uniqueIDKeyPath

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP12shouldInsert4from2inSb12ImportSourceQz_AA19BaseDataTransactionCtFZ":{"name":"shouldInsert(from:in:)","abstract":"

    Return true if an object should be created from source. Return false to ignore and skip source. The default implementation returns the value returned by the shouldUpdate(from:in:) implementation.

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP12shouldUpdate4from2inSb12ImportSourceQz_AA19BaseDataTransactionCtFZ":{"name":"shouldUpdate(from:in:)","abstract":"

    Return true if an object should be updated from source. Return false to ignore and skip source. The default implementation returns true.

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP8uniqueID4from2in0D6IDTypeQzSg12ImportSourceQz_AA19BaseDataTransactionCtKFZ":{"name":"uniqueID(from:in:)","abstract":"

    Return the unique ID as extracted from source. This method is called before shouldInsert(from:in:) or shouldUpdate(from:in:). Return nil to skip importing from source. Note that throwing from this method will cause subsequent imports that are part of the same importUniqueObjects(:sourceArray:) call to be cancelled.

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP9didInsert4from2iny12ImportSourceQz_AA19BaseDataTransactionCtKF":{"name":"didInsert(from:in:)","abstract":"

    Implements the actual importing of data from source. This method is called just after the object is created and assigned its unique ID as returned from uniqueID(from:in:). Implementers should pull values from source and assign them to the receiver’s attributes. Note that throwing from this method will cause subsequent imports that are part of the same importUniqueObjects(:sourceArray:) call to be cancelled. The default implementation simply calls update(from:in:).

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP6update4from2iny12ImportSourceQz_AA19BaseDataTransactionCtKF":{"name":"update(from:in:)","abstract":"

    Implements the actual importing of data from source. This method is called just after the existing object is fetched using its unique ID. Implementers should pull values from source and assign them to the receiver’s attributes. Note that throwing from this method will cause subsequent imports that are part of the same importUniqueObjects(:sourceArray:) call to be cancelled.

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableObject.html#/s:9CoreStore16ImportableObjectP12ImportSourceQa":{"name":"ImportSource","abstract":"

    The data type for the import source. This is most commonly an json type, NSDictionary, or another external source such as NSUserDefaults.

    ","parent_name":"ImportableObject"},"Protocols/ImportableObject.html#/s:9CoreStore16ImportableObjectP12shouldInsert4from2inSb12ImportSourceQz_AA19BaseDataTransactionCtFZ":{"name":"shouldInsert(from:in:)","abstract":"

    Return true if an object should be created from source. Return false to ignore and skip source. The default implementation returns true.

    ","parent_name":"ImportableObject"},"Protocols/ImportableObject.html#/s:9CoreStore16ImportableObjectP9didInsert4from2iny12ImportSourceQz_AA19BaseDataTransactionCtKF":{"name":"didInsert(from:in:)","abstract":"

    Implements the actual importing of data from source. Implementers should pull values from source and assign them to the receiver’s attributes. Note that throwing from this method will cause subsequent imports that are part of the same importObjects(:sourceArray:) call to be cancelled.

    ","parent_name":"ImportableObject"},"Protocols/ICloudStoreObserver.html#/s:9CoreStore06ICloudB8ObserverP06iCloudb20WillFinishUbiquitousB13InitialImport7storage9dataStackyAA0cB0C_AA04DataM0CtF":{"name":"iCloudStoreWillFinishUbiquitousStoreInitialImport(storage:dataStack:)","abstract":"

    Notifies that the initial ubiquitous store import will complete

    ","parent_name":"ICloudStoreObserver"},"Protocols/ICloudStoreObserver.html#/s:9CoreStore06ICloudB8ObserverP06iCloudb19DidFinishUbiquitousB13InitialImport7storage9dataStackyAA0cB0C_AA04DataM0CtF":{"name":"iCloudStoreDidFinishUbiquitousStoreInitialImport(storage:dataStack:)","abstract":"

    Notifies that the initial ubiquitous store import completed

    ","parent_name":"ICloudStoreObserver"},"Protocols/ICloudStoreObserver.html#/s:9CoreStore06ICloudB8ObserverP06iCloudB14WillAddAccount7storage9dataStackyAA0cB0C_AA04DataK0CtF":{"name":"iCloudStoreWillAddAccount(storage:dataStack:)","abstract":"

    Notifies that an iCloud account will be added to the coordinator

    ","parent_name":"ICloudStoreObserver"},"Protocols/ICloudStoreObserver.html#/s:9CoreStore06ICloudB8ObserverP06iCloudB13DidAddAccount7storage9dataStackyAA0cB0C_AA04DataK0CtF":{"name":"iCloudStoreDidAddAccount(storage:dataStack:)","abstract":"

    Notifies that an iCloud account was added to the coordinator

    ","parent_name":"ICloudStoreObserver"},"Protocols/ICloudStoreObserver.html#/s:9CoreStore06ICloudB8ObserverP06iCloudB17WillRemoveAccount7storage9dataStackyAA0cB0C_AA04DataK0CtF":{"name":"iCloudStoreWillRemoveAccount(storage:dataStack:)","abstract":"

    Notifies that an iCloud account will be removed from the coordinator

    ","parent_name":"ICloudStoreObserver"},"Protocols/ICloudStoreObserver.html#/s:9CoreStore06ICloudB8ObserverP06iCloudB16DidRemoveAccount7storage9dataStackyAA0cB0C_AA04DataK0CtF":{"name":"iCloudStoreDidRemoveAccount(storage:dataStack:)","abstract":"

    Notifies that an iCloud account was removed from the coordinator

    ","parent_name":"ICloudStoreObserver"},"Protocols/ICloudStoreObserver.html#/s:9CoreStore06ICloudB8ObserverP06iCloudB17WillRemoveContent7storage9dataStackyAA0cB0C_AA04DataK0CtF":{"name":"iCloudStoreWillRemoveContent(storage:dataStack:)","abstract":"

    Notifies that iCloud contents will be deleted

    ","parent_name":"ICloudStoreObserver"},"Protocols/ICloudStoreObserver.html#/s:9CoreStore06ICloudB8ObserverP06iCloudB16DidRemoveContent7storage9dataStackyAA0cB0C_AA04DataK0CtF":{"name":"iCloudStoreDidRemoveContent(storage:dataStack:)","abstract":"

    Notifies that iCloud contents were deleted

    ","parent_name":"ICloudStoreObserver"},"Protocols/GroupByClause.html#/s:9CoreStore13GroupByClauseP10ObjectTypeQa":{"name":"ObjectType","abstract":"

    The DynamicObject type associated with the clause

    ","parent_name":"GroupByClause"},"Protocols/GroupByClause.html#/s:9CoreStore13GroupByClauseP8keyPathsSaySSGvp":{"name":"keyPaths","abstract":"

    The list of key path strings to group results with

    ","parent_name":"GroupByClause"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13fetchExistingyqd__Sgqd__AA13DynamicObjectRd__lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instance in the FetchableSource‘s context from a reference created from another managed object context.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13fetchExistingyqd__SgSo17NSManagedObjectIDCAA07DynamicH0Rd__lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instance in the FetchableSource‘s context from an NSManagedObjectID.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13fetchExistingySayqd__Gqd_0_AA13DynamicObjectRd__7ElementQyd_0_Rsd__STRd_0_r0_lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instances in the FetchableSource‘s context from references created from another managed object context.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13fetchExistingySayqd__Gqd_0_AA13DynamicObjectRd__STRd_0_So09NSManagedH2IDC7ElementRtd_0_r0_lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instances in the FetchableSource‘s context from a list of NSManagedObjectID.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP8fetchOneyqd__SgAA4FromVyqd__G_AA11FetchClause_pdtAA13DynamicObjectRd__lF":{"name":"fetchOne(_:_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP8fetchOneyqd__SgAA4FromVyqd__G_SayAA11FetchClause_pGtAA13DynamicObjectRd__lF":{"name":"fetchOne(_:_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP8fetchOney10ObjectTypeQyd__Sgqd__AA021FetchChainableBuilderH0Rd__lF":{"name":"fetchOne(_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP8fetchAllySayqd__GSgAA4FromVyqd__G_AA11FetchClause_pdtAA13DynamicObjectRd__lF":{"name":"fetchAll(_:_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP8fetchAllySayqd__GSgAA4FromVyqd__G_SayAA11FetchClause_pGtAA13DynamicObjectRd__lF":{"name":"fetchAll(_:_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP8fetchAllySay10ObjectTypeQyd__GSgqd__AA021FetchChainableBuilderH0Rd__lF":{"name":"fetchAll(_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP10fetchCountySiSgAA4FromVyqd__G_AA11FetchClause_pdtAA13DynamicObjectRd__lF":{"name":"fetchCount(_:_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP10fetchCountySiSgAA4FromVyqd__G_SayAA11FetchClause_pGtAA13DynamicObjectRd__lF":{"name":"fetchCount(_:_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP10fetchCountySiSgqd__AA25FetchChainableBuilderTypeRd__lF":{"name":"fetchCount(_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13fetchObjectIDySo09NSManagedfG0CSgAA4FromVyqd__G_AA11FetchClause_pdtAA07DynamicF0Rd__lF":{"name":"fetchObjectID(_:_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13fetchObjectIDySo09NSManagedfG0CSgAA4FromVyqd__G_SayAA11FetchClause_pGtAA07DynamicF0Rd__lF":{"name":"fetchObjectID(_:_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13fetchObjectIDySo09NSManagedfG0CSgqd__AA25FetchChainableBuilderTypeRd__lF":{"name":"fetchObjectID(_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP14fetchObjectIDsySaySo09NSManagedF2IDCGSgAA4FromVyqd__G_AA11FetchClause_pdtAA07DynamicF0Rd__lF":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP14fetchObjectIDsySaySo09NSManagedF2IDCGSgAA4FromVyqd__G_SayAA11FetchClause_pGtAA07DynamicF0Rd__lF":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP14fetchObjectIDsySaySo09NSManagedF2IDCGSgqd__AA25FetchChainableBuilderTypeRd__lF":{"name":"fetchObjectIDs(_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13unsafeContextSo015NSManagedObjectF0CyF":{"name":"unsafeContext()","abstract":"

    The internal NSManagedObjectContext managed by this FetchableSource. Using this context directly should typically be avoided, and is provided by CoreStore only for extremely specialized cases.

    ","parent_name":"FetchableSource"},"Protocols/FetchChainableBuilderType.html#/s:9CoreStore25FetchChainableBuilderTypeP06ObjectF0Qa":{"name":"ObjectType","abstract":"

    The DynamicObject type for the fetch

    ","parent_name":"FetchChainableBuilderType"},"Protocols/FetchChainableBuilderType.html#/s:9CoreStore25FetchChainableBuilderTypeP4fromAA4FromVy06ObjectF0QzGvp":{"name":"from","abstract":"

    The From clause specifies the source entity and source persistent store for the fetch

    ","parent_name":"FetchChainableBuilderType"},"Protocols/FetchChainableBuilderType.html#/s:9CoreStore25FetchChainableBuilderTypeP12fetchClausesSayAA0C6Clause_pGvp":{"name":"fetchClauses","abstract":"

    The FetchClauses to be used for the fetch

    ","parent_name":"FetchChainableBuilderType"},"Protocols/DynamicSchema.html#/s:9CoreStore13DynamicSchemaP12modelVersionSSvp":{"name":"modelVersion","abstract":"

    The version string for this model schema.

    ","parent_name":"DynamicSchema"},"Protocols/DynamicSchema.html#/s:9CoreStore13DynamicSchemaP8rawModelSo015NSManagedObjectF0CyF":{"name":"rawModel()","abstract":"

    Do not call this directly. The NSManagedObjectModel for this schema may be created lazily and using this method directly may affect the integrity of the model.

    ","parent_name":"DynamicSchema"},"Protocols/DynamicSchema.html#/s:9CoreStore13DynamicSchemaPAAE05printabD0SSyF":{"name":"printCoreStoreSchema()","abstract":"

    Prints the DynamicSchema as their corresponding CoreStoreObject Swift declarations. This is useful for converting current XcodeDataModelSchema-based models into the new CoreStoreSchema framework. Additional adjustments may need to be done to the generated source code; for example: Transformable concrete types need to be provided, as well as default values.

    ","parent_name":"DynamicSchema"},"Protocols/DynamicKeyPath.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","abstract":"

    The DynamicObject type

    ","parent_name":"DynamicKeyPath"},"Protocols/DynamicKeyPath.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","abstract":"

    The Value type

    ","parent_name":"DynamicKeyPath"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectP14cs_forceCreate17entityDescription4into8assignToxSo08NSEntityI0C_So09NSManagedD7ContextCSo012NSPersistentB0CtFZ":{"name":"cs_forceCreate(entityDescription:into:assignTo:)","abstract":"

    Used internally by CoreStore. Do not call directly.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectP10cs_fromRaw6objectxSo09NSManagedD0C_tFZ":{"name":"cs_fromRaw(object:)","abstract":"

    Used internally by CoreStore. Do not call directly.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectP10cs_matches6objectSbSo09NSManagedD0C_tFZ":{"name":"cs_matches(object:)","abstract":"

    Used internally by CoreStore. Do not call directly.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectP5cs_idSo09NSManagedD2IDCyF":{"name":"cs_id()","abstract":"

    Used internally by CoreStore. Do not call directly.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectP8cs_toRawSo09NSManagedD0CyF":{"name":"cs_toRaw()","abstract":"

    Used internally by CoreStore. Do not call directly.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectPA2A0abD0CRbzrlE07partialD0AA07PartialD0VyxGyF":{"name":"partialObject()","abstract":"

    Returns the PartialObject instance for the object, which acts as a fast, type-safe KVC interface for CoreStoreObject.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectPA2A0abD0CRbzrlE12Relationshipa":{"name":"Relationship","abstract":"

    The containing type for relationships. Relationships can be any CoreStoreObject subclass.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectPA2A0abD0CRbzrlE13Transformablea":{"name":"Transformable","abstract":"

    The containing type for transformable properties. Transformable properties support types that conforms to NSCoding & NSCopying.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectPA2A0abD0CRbzrlE5Valuea":{"name":"Value","abstract":"

    The containing type for value propertiess. Value properties support any type that conforms to ImportableAttributeType.

    ","parent_name":"DynamicObject"},"Protocols/CoreStoreObjectKeyValueObservation.html#/s:9CoreStore0aB25ObjectKeyValueObservationP10invalidateyyF":{"name":"invalidate()","abstract":"

    invalidate() will be called automatically when an CoreStoreObjectKeyValueObservation is deinited.

    ","parent_name":"CoreStoreObjectKeyValueObservation"},"Protocols/CoreStoreLogger.html#/s:9CoreStore0aB6LoggerP3log5level7message8fileName10lineNumber08functionH0yAA8LogLevelO_SSs12StaticStringVSiAMtF":{"name":"log(level:message:fileName:lineNumber:functionName:)","abstract":"

    Handles log messages sent by the CoreStore framework.

    ","parent_name":"CoreStoreLogger"},"Protocols/CoreStoreLogger.html#/s:9CoreStore0aB6LoggerP3log5error7message8fileName10lineNumber08functionH0yAA0aB5ErrorO_SSs12StaticStringVSiAMtF":{"name":"log(error:message:fileName:lineNumber:functionName:)","abstract":"

    Handles errors sent by the CoreStore framework.

    ","parent_name":"CoreStoreLogger"},"Protocols/CoreStoreLogger.html#/s:9CoreStore0aB6LoggerP6assert_7message8fileName10lineNumber08functionG0ySbyXK_SSyXKs12StaticStringVSiAJtF":{"name":"assert(_:message:fileName:lineNumber:functionName:)","abstract":"

    Handles assertions made throughout the CoreStore framework.

    ","parent_name":"CoreStoreLogger"},"Protocols/CoreStoreLogger.html#/s:9CoreStore0aB6LoggerP5abort_8fileName10lineNumber08functionF0ySS_s12StaticStringVSiAItF":{"name":"abort(_:fileName:lineNumber:functionName:)","abstract":"

    Handles fatal errors made throughout the CoreStore framework. The app wil terminate after this method is called.

    ","parent_name":"CoreStoreLogger"},"Protocols/CoreStoreSwiftType.html#/s:9CoreStore0aB9SwiftTypeP14ObjectiveCTypeQa":{"name":"ObjectiveCType","abstract":"

    The corresponding Objective-C type

    ","parent_name":"CoreStoreSwiftType"},"Protocols/CoreStoreSwiftType.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","abstract":"

    The bridged Objective-C instance

    ","parent_name":"CoreStoreSwiftType"},"Protocols/CoreStoreObjectiveCType.html#/s:9CoreStore0aB14ObjectiveCTypeP9SwiftTypeQa":{"name":"SwiftType","abstract":"

    The corresponding Swift type

    ","parent_name":"CoreStoreObjectiveCType"},"Protocols/CoreStoreObjectiveCType.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","abstract":"

    The bridged Swift instance

    ","parent_name":"CoreStoreObjectiveCType"},"Protocols/CoreStoreObjectiveCType.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","abstract":"

    Initializes this instance with the Swift instance to bridge from

    ","parent_name":"CoreStoreObjectiveCType"},"Protocols/CSLocalStorage.html#/c:@M@CoreStore@objc(pl)CSLocalStorage(py)fileURL":{"name":"fileURL","abstract":"

    The NSURL that points to the store file

    ","parent_name":"CSLocalStorage"},"Protocols/CSLocalStorage.html#/c:@M@CoreStore@objc(pl)CSLocalStorage(py)migrationMappingProviders":{"name":"migrationMappingProviders","abstract":"

    An array of SchemaMappingProviders that provides the complete mapping models for custom migrations. This is currently only supported for Swift code.

    ","parent_name":"CSLocalStorage"},"Protocols/CSLocalStorage.html#/c:@M@CoreStore@objc(pl)CSLocalStorage(py)localStorageOptions":{"name":"localStorageOptions","abstract":"

    Options that tell the CSDataStack how to setup the persistent store

    ","parent_name":"CSLocalStorage"},"Protocols/CSLocalStorage.html#/c:@M@CoreStore@objc(pl)CSLocalStorage(im)cs_eraseStorageAndWaitWithMetadata:soureModelHint:error:":{"name":"cs_eraseStorageAndWait(metadata:soureModelHint:error:)","abstract":"

    Called by the CSDataStack to perform actual deletion of the store file from disk. Do not call directly! The sourceModel argument is a hint for the existing store’s model version. Implementers can use the sourceModel to perform necessary store operations. (SQLite stores for example, can convert WAL journaling mode to DELETE before deleting)

    ","parent_name":"CSLocalStorage"},"Protocols/CSStorageInterface.html#/c:@M@CoreStore@objc(pl)CSStorageInterface(cpy)storeType":{"name":"storeType","abstract":"

    The string identifier for the NSPersistentStore‘s type property. This is the same string CoreStore will use to create the NSPersistentStore from the NSPersistentStoreCoordinator’s addPersistentStoreWithType(...) method.

    ","parent_name":"CSStorageInterface"},"Protocols/CSStorageInterface.html#/c:@M@CoreStore@objc(pl)CSStorageInterface(py)configuration":{"name":"configuration","abstract":"

    The configuration name in the model file

    ","parent_name":"CSStorageInterface"},"Protocols/CSStorageInterface.html#/c:@M@CoreStore@objc(pl)CSStorageInterface(py)storeOptions":{"name":"storeOptions","abstract":"

    The options dictionary for the NSPersistentStore

    ","parent_name":"CSStorageInterface"},"Protocols/CSObjectObserver.html#/c:@M@CoreStore@objc(pl)CSObjectObserver(im)objectMonitor:willUpdateObject:":{"name":"objectMonitor(_:willUpdateObject:)","abstract":"

    Handles processing just before a change to the observed object occurs

    ","parent_name":"CSObjectObserver"},"Protocols/CSObjectObserver.html#/c:@M@CoreStore@objc(pl)CSObjectObserver(im)objectMonitor:didUpdateObject:changedPersistentKeys:":{"name":"objectMonitor(_:didUpdateObject:changedPersistentKeys:)","abstract":"

    Handles processing right after a change to the observed object occurs

    ","parent_name":"CSObjectObserver"},"Protocols/CSObjectObserver.html#/c:@M@CoreStore@objc(pl)CSObjectObserver(im)objectMonitor:didDeleteObject:":{"name":"objectMonitor(_:didDeleteObject:)","abstract":"

    Handles processing right after object is deleted

    ","parent_name":"CSObjectObserver"},"Protocols/CSListSectionObserver.html#/c:@M@CoreStore@objc(pl)CSListSectionObserver(im)listMonitor:didInsertSection:toSectionIndex:":{"name":"listMonitor(_:didInsertSection:toSectionIndex:)","abstract":"

    Notifies that a section was inserted at the specified index

    ","parent_name":"CSListSectionObserver"},"Protocols/CSListSectionObserver.html#/c:@M@CoreStore@objc(pl)CSListSectionObserver(im)listMonitor:didDeleteSection:fromSectionIndex:":{"name":"listMonitor(_:didDeleteSection:fromSectionIndex:)","abstract":"

    Notifies that a section was inserted at the specified index

    ","parent_name":"CSListSectionObserver"},"Protocols/CSListObjectObserver.html#/c:@M@CoreStore@objc(pl)CSListObjectObserver(im)listMonitor:didInsertObject:toIndexPath:":{"name":"listMonitor(_:didInsertObject:toIndexPath:)","abstract":"

    Notifies that an object was inserted to the specified NSIndexPath in the list

    ","parent_name":"CSListObjectObserver"},"Protocols/CSListObjectObserver.html#/c:@M@CoreStore@objc(pl)CSListObjectObserver(im)listMonitor:didDeleteObject:fromIndexPath:":{"name":"listMonitor(_:didDeleteObject:fromIndexPath:)","abstract":"

    Notifies that an object was deleted from the specified NSIndexPath in the list

    ","parent_name":"CSListObjectObserver"},"Protocols/CSListObjectObserver.html#/c:@M@CoreStore@objc(pl)CSListObjectObserver(im)listMonitor:didUpdateObject:atIndexPath:":{"name":"listMonitor(_:didUpdateObject:atIndexPath:)","abstract":"

    Notifies that an object at the specified NSIndexPath was updated

    ","parent_name":"CSListObjectObserver"},"Protocols/CSListObjectObserver.html#/c:@M@CoreStore@objc(pl)CSListObjectObserver(im)listMonitor:didMoveObject:fromIndexPath:toIndexPath:":{"name":"listMonitor(_:didMoveObject:fromIndexPath:toIndexPath:)","abstract":"

    Notifies that an object’s index changed

    ","parent_name":"CSListObjectObserver"},"Protocols/CSListObserver.html#/c:@M@CoreStore@objc(pl)CSListObserver(im)listMonitorWillChange:":{"name":"listMonitorWillChange(_:)","abstract":"

    Handles processing just before a change to the observed list occurs

    ","parent_name":"CSListObserver"},"Protocols/CSListObserver.html#/c:@M@CoreStore@objc(pl)CSListObserver(im)listMonitorDidChange:":{"name":"listMonitorDidChange(_:)","abstract":"

    Handles processing right after a change to the observed list occurs

    ","parent_name":"CSListObserver"},"Protocols/CSListObserver.html#/c:@M@CoreStore@objc(pl)CSListObserver(im)listMonitorWillRefetch:":{"name":"listMonitorWillRefetch(_:)","abstract":"

    This method is broadcast from within the CSListMonitor‘s -refetchWithFetchClauses: method to let observers prepare for the internal NSFetchedResultsController’s pending change to its predicate, sort descriptors, etc. Note that the actual refetch will happen after the NSFetchedResultsController’s last -controllerDidChangeContent: notification completes.

    ","parent_name":"CSListObserver"},"Protocols/CSListObserver.html#/c:@M@CoreStore@objc(pl)CSListObserver(im)listMonitorDidRefetch:":{"name":"listMonitorDidRefetch(_:)","abstract":"

    After the CSListMonitor‘s -refetchWithFetchClauses: method is called, this method is broadcast after the NSFetchedResultsController’s last -controllerDidChangeContent: notification completes.

    ","parent_name":"CSListObserver"},"Protocols/CSDynamicSchema.html#/c:@M@CoreStore@objc(pl)CSDynamicSchema(py)modelVersion":{"name":"modelVersion","abstract":"

    The version string for this model schema.

    ","parent_name":"CSDynamicSchema"},"Protocols/CSDynamicSchema.html#/c:@M@CoreStore@objc(pl)CSDynamicSchema(im)rawModel":{"name":"rawModel()","abstract":"

    Do not call this directly. The NSManagedObjectModel for this schema may be created lazily and using this method directly may affect the integrity of the model.

    ","parent_name":"CSDynamicSchema"},"Protocols.html#/c:@M@CoreStore@objc(pl)CSFetchClause":{"name":"CSFetchClause","abstract":"

    The CSFetchClause implement clauses used to configure NSFetchRequests.

    "},"Protocols.html#/c:@M@CoreStore@objc(pl)CSQueryClause":{"name":"CSQueryClause","abstract":"

    The CSQueryClause implement clauses used to configure NSFetchRequests.

    "},"Protocols.html#/c:@M@CoreStore@objc(pl)CSDeleteClause":{"name":"CSDeleteClause","abstract":"

    The CSDeleteClause implement clauses used to configure NSFetchRequests.

    "},"Protocols/CSDynamicSchema.html":{"name":"CSDynamicSchema","abstract":"

    The CSDynamicSchema serves as the Objective-C bridging type for DynamicSchema.

    "},"Protocols/CSListObserver.html":{"name":"CSListObserver","abstract":"

    Implement the CSListObserver protocol to observe changes to a list of NSManagedObjects. CSListObservers may register themselves to a CSListMonitor‘s -addListObserver: method:

    "},"Protocols/CSListObjectObserver.html":{"name":"CSListObjectObserver","abstract":"

    Implement the CSListObjectObserver protocol to observe detailed changes to a list’s object. CSListObjectObservers may register themselves to a CSListMonitor‘s -addListObjectObserver(_:) method:

    "},"Protocols/CSListSectionObserver.html":{"name":"CSListSectionObserver","abstract":"

    Implement the CSListSectionObserver protocol to observe changes to a list’s section info. CSListSectionObservers may register themselves to a CSListMonitor‘s -addListSectionObserver: method:

    "},"Protocols/CSObjectObserver.html":{"name":"CSObjectObserver","abstract":"

    Implement the CSObjectObserver protocol to observe changes to a single NSManagedObject instance. CSObjectObservers may register themselves to a CSObjectMonitor‘s -addObjectObserver: method:

    "},"Protocols/CSStorageInterface.html":{"name":"CSStorageInterface","abstract":"

    The CSStorageInterface serves as the Objective-C bridging type for StorageInterface.

    "},"Protocols/CSLocalStorage.html":{"name":"CSLocalStorage","abstract":"

    The CSLocalStorage serves as the Objective-C bridging type for LocalStorage.

    "},"Protocols.html#/c:@M@CoreStore@objc(pl)CoreDataNativeType":{"name":"CoreDataNativeType","abstract":"

    Objective-C Foundation types that are natively supported by Core Data managed attributes all conform to CoreDataNativeType.

    "},"Protocols/CoreStoreObjectiveCType.html":{"name":"CoreStoreObjectiveCType","abstract":"

    CoreStoreObjectiveCTypes are Objective-C accessible classes that represent CoreStore’s Swift types.

    "},"Protocols/CoreStoreSwiftType.html":{"name":"CoreStoreSwiftType","abstract":"

    CoreStoreSwiftTypes are CoreStore’s Swift types that are bridgeable to Objective-C.

    "},"Protocols/CoreStoreLogger.html":{"name":"CoreStoreLogger","abstract":"

    Custom loggers should implement the CoreStoreLogger protocol and pass its instance to CoreStore.logger. Calls to log(...), assert(...), and abort(...) are not tied to a specific queue/thread, so it is the implementer’s job to handle thread-safety.

    "},"Protocols/CoreStoreObjectKeyValueObservation.html":{"name":"CoreStoreObjectKeyValueObservation","abstract":"

    Observation token for CoreStoreObject properties. Make sure to retain this instance to keep observing notifications.

    "},"Protocols/DynamicObject.html":{"name":"DynamicObject","abstract":"

    All CoreStore’s utilities are designed around DynamicObject instances. NSManagedObject and CoreStoreObject instances all conform to DynamicObject.

    "},"Protocols/DynamicKeyPath.html":{"name":"DynamicKeyPath","abstract":"

    Used only for utility methods.

    "},"Protocols/DynamicSchema.html":{"name":"DynamicSchema","abstract":"

    DynamicSchema are types that provide NSManagedObjectModel instances for a single model version. CoreStore currently supports the following concrete types:

    "},"Protocols/FetchChainableBuilderType.html":{"name":"FetchChainableBuilderType","abstract":"

    Utility protocol for FetchChainBuilder. Used in fetch methods that support chained fetch builders.

    "},"Protocols/FetchableSource.html":{"name":"FetchableSource","abstract":"

    Encapsulates containers which manages an internal NSManagedObjectContext, such as DataStacks and transactions, that can be used for fetching objects. CoreStore provides implementations for this protocol and should be used as a read-only abstraction.

    "},"Protocols/GroupByClause.html":{"name":"GroupByClause","abstract":"

    Abstracts the GroupBy clause for protocol utilities.

    "},"Protocols/ICloudStoreObserver.html":{"name":"ICloudStoreObserver","abstract":"

    Implement the ICloudStoreObserver protocol to observe ubiquitous storage notifications from the specified iCloud store."},"Protocols.html#/s:9CoreStore23ImportableAttributeTypeP":{"name":"ImportableAttributeType","abstract":"

    Types supported by CoreStore as NSManagedObject and CoreStoreObject property types."},"Protocols/ImportableObject.html":{"name":"ImportableObject","abstract":"

    NSManagedObject and CoreStoreObject subclasses that conform to the ImportableObject protocol can be imported from a specified ImportSource. This allows transactions to create and insert instances this way:

    "},"Protocols/ImportableUniqueObject.html":{"name":"ImportableUniqueObject","abstract":"

    NSManagedObject subclasses that conform to the ImportableUniqueObject protocol can be imported from a specified ImportSource. This allows transactions to either update existing objects or create new instances this way:

    "},"Protocols/ListObserver.html":{"name":"ListObserver","abstract":"

    Implement the ListObserver protocol to observe changes to a list of NSManagedObjects. ListObservers may register themselves to a ListMonitor‘s addObserver(_:) method:

    "},"Protocols/ListObjectObserver.html":{"name":"ListObjectObserver","abstract":"

    Implement the ListObjectObserver protocol to observe detailed changes to a list’s object. ListObjectObservers may register themselves to a ListMonitor‘s addObserver(_:) method:

    "},"Protocols/ListSectionObserver.html":{"name":"ListSectionObserver","abstract":"

    Implement the ListSectionObserver protocol to observe changes to a list’s section info. ListSectionObservers may register themselves to a ListMonitor‘s addObserver(_:) method:

    "},"Protocols/ObjectObserver.html":{"name":"ObjectObserver","abstract":"

    Implement the ObjectObserver protocol to observe changes to a single DynamicObject instance. ObjectObservers may register themselves to a ObjectMonitor‘s addObserver(_:) method:

    "},"Protocols/OrderByClause.html":{"name":"OrderByClause","abstract":"

    Abstracts the OrderBy clause for protocol utilities.

    "},"Protocols/QueryChainableBuilderType.html":{"name":"QueryChainableBuilderType","abstract":"

    Utility protocol for QueryChainBuilder. Used in fetch methods that support chained query builders.

    "},"Protocols/QueryableAttributeType.html":{"name":"QueryableAttributeType","abstract":"

    Types supported by CoreStore for querying, especially as generic type for Select clauses."},"Protocols/QueryableSource.html":{"name":"QueryableSource","abstract":"

    Encapsulates containers which manages an internal NSManagedObjectContext, such as DataStacks and transactions, that can be used for querying values. CoreStore provides implementations for this protocol and should be used as a read-only abstraction.

    "},"Protocols/SchemaMappingProvider.html":{"name":"SchemaMappingProvider","abstract":"

    The SchemaMappingProvider provides migration mapping information between two DynamicSchema versions.

    "},"Protocols/SectionMonitorBuilderType.html":{"name":"SectionMonitorBuilderType","abstract":"

    Utility protocol for SectionMonitorChainBuilder. Used in methods that support chained fetch builders.

    "},"Protocols.html#/s:9CoreStore16SelectResultTypeP":{"name":"SelectResultType","abstract":"

    The SelectResultType protocol is implemented by return types supported by the Select clause.

    "},"Protocols.html#/s:9CoreStore26SelectAttributesResultTypeP":{"name":"SelectAttributesResultType","abstract":"

    The SelectAttributesResultType protocol is implemented by return types supported by the queryAttributes(...) methods.

    "},"Protocols/SelectClause.html":{"name":"SelectClause","abstract":"

    Abstracts the Select clause for protocol utilities.

    "},"Protocols/StorageInterface.html":{"name":"StorageInterface","abstract":"

    The StorageInterface represents the data store managed (or to be managed) by the DataStack. When added to the DataStack, the StorageInterface serves as the interface for the NSPersistentStore. This may be a database file, an in-memory store, etc.

    "},"Protocols/LocalStorage.html":{"name":"LocalStorage","abstract":"

    The LocalStorage represents StorageInterfaces that are backed by local files.

    "},"Protocols/CloudStorage.html":{"name":"CloudStorage","abstract":"

    The CloudStorage represents StorageInterfaces that are synchronized from a cloud-based store.

    "},"Protocols.html#/s:9CoreStore11FetchClauseP":{"name":"FetchClause","abstract":"

    The FetchClause implement clauses used to configure NSFetchRequests.

    "},"Protocols.html#/s:9CoreStore11QueryClauseP":{"name":"QueryClause","abstract":"

    The QueryClause implement clauses used to configure NSFetchRequests.

    "},"Protocols.html#/s:9CoreStore12DeleteClauseP":{"name":"DeleteClause","abstract":"

    The DeleteClause implement clauses used to configure NSFetchRequests.

    "},"Protocols/AnyWhereClause.html":{"name":"AnyWhereClause","abstract":"

    Type-erased Where clause for protocol utilities.

    "},"Protocols/WhereClauseType.html":{"name":"WhereClauseType","abstract":"

    Abstracts the Where clause for protocol utilities.

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains the value of a property

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains the value of a property

    "},"Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":"<(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than a value

    "},"Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":">(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than a value

    "},"Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":"<=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than or equal to a value

    "},"Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":">=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than or equal to a value

    "},"Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":"<(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than a value

    "},"Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":">(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than a value

    "},"Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":"<=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than or equal to a value

    "},"Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":">=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than or equal to a value

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_7ElementQy0_Rs_STR0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains a value of a property

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_STR0_So0gH2IDC7ElementRt0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains a value of a property

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_7ElementQy0_Rs_STR0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains a value of a property

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_STR0_So0gH2IDC7ElementRt0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains a value of a property

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains the value of a property

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains the value of a property

    "},"Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF":{"name":"<(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than a value

    "},"Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF":{"name":">(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than a value

    "},"Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF":{"name":"<=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than or equal to a value

    "},"Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF":{"name":">=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than or equal to a value

    "},"Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":"<(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than a value

    "},"Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":">(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than a value

    "},"Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":"<=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than or equal to a value

    "},"Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":">=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than or equal to a value

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GGtAA0aB6ObjectCRbzAORb_7ElementQy0_Rs_STR0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains a value of a property

    "},"Extensions/UUID.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"UUID"},"Extensions/UUID.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"UUID"},"Extensions/UUID.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"UUID"},"Extensions/UUID.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"UUID"},"Extensions/URL.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"URL"},"Extensions/URL.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"URL"},"Extensions/URL.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"URL"},"Extensions/URL.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"URL"},"Extensions/String.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"String"},"Extensions/String.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"String"},"Extensions/String.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"String"},"Extensions/String.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"String"},"Extensions/NSUUID.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSUUID"},"Extensions/NSUUID.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSUUID"},"Extensions/NSUUID.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSUUID"},"Extensions/NSUUID.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSUUID"},"Extensions/NSURL.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSURL"},"Extensions/NSURL.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSURL"},"Extensions/NSURL.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSURL"},"Extensions/NSURL.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSURL"},"Extensions/NSString.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSString"},"Extensions/NSString.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSString"},"Extensions/NSString.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSString"},"Extensions/NSString.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSString"},"Extensions/NSNumber.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSNumber"},"Extensions/NSNull.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSNull"},"Extensions/NSNull.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSNull"},"Extensions/NSNull.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSNull"},"Extensions/NSNull.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSNull"},"Extensions/NSManagedObjectID.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSManagedObjectID"},"Extensions/NSManagedObjectID.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSManagedObjectID"},"Extensions/NSManagedObjectID.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSManagedObjectID"},"Extensions/NSManagedObjectID.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSManagedObjectID"},"Extensions/NSDate.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSDate"},"Extensions/NSDate.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSDate"},"Extensions/NSDate.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSDate"},"Extensions/NSDate.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSDate"},"Extensions/NSData.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSData"},"Extensions/NSData.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSData"},"Extensions/NSData.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSData"},"Extensions/NSData.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSData"},"Extensions/Int64.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Int64"},"Extensions/Int64.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Int64"},"Extensions/Int64.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Int64"},"Extensions/Int64.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Int64"},"Extensions/Int32.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Int32"},"Extensions/Int32.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Int32"},"Extensions/Int32.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Int32"},"Extensions/Int32.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Int32"},"Extensions/Int16.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Int16"},"Extensions/Int16.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Int16"},"Extensions/Int16.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Int16"},"Extensions/Int16.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Int16"},"Extensions/Int8.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Int8"},"Extensions/Int8.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Int8"},"Extensions/Int8.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Int8"},"Extensions/Int8.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Int8"},"Extensions/Int.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Int"},"Extensions/Int.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Int"},"Extensions/Int.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Int"},"Extensions/Int.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Int"},"Extensions/Float.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Float"},"Extensions/Float.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Float"},"Extensions/Float.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Float"},"Extensions/Float.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Float"},"Extensions/Double.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Double"},"Extensions/Double.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Double"},"Extensions/Double.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Double"},"Extensions/Double.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Double"},"Extensions/Date.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Date"},"Extensions/Date.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Date"},"Extensions/Date.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Date"},"Extensions/Date.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Date"},"Extensions/Data.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Data"},"Extensions/Data.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Data"},"Extensions/Data.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Data"},"Extensions/Data.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Data"},"Extensions/CGFloat.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"CGFloat"},"Extensions/CGFloat.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"CGFloat"},"Extensions/CGFloat.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"CGFloat"},"Extensions/CGFloat.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"CGFloat"},"Extensions/Bool.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Bool"},"Extensions/Bool.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Bool"},"Extensions/Bool.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Bool"},"Extensions/Bool.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Bool"},"Extensions/Progress.html#/s:So10NSProgressC9CoreStoreE18setProgressHandleryyyABcSgF":{"name":"setProgressHandler(_:)","abstract":"

    Sets a closure that the Progress calls whenever its fractionCompleted changes. You can use this instead of setting up KVO.

    ","parent_name":"Progress"},"Extensions/Progress.html#/c:@CM@CoreStore@@objc(cs)NSProgress(im)cs_setProgressHandler:":{"name":"cs_setProgressHandler(_:)","abstract":"

    Sets a closure that the NSProgress calls whenever its fractionCompleted changes. You can use this instead of setting up KVO.

    ","parent_name":"Progress"},"Extensions/Sequence.html#/s:ST9CoreStoreAA13OrderByClause7ElementRpzrlE8combinedAA0cD0VyAC_10ObjectTypeQZGyF":{"name":"combined()","abstract":"

    Combines multiple OrderBy predicates together

    ","parent_name":"Sequence"},"Extensions/Sequence.html#/s:ST9CoreStoreAA15WhereClauseType7ElementRpzrlE13combinedByAndAA0C0VyAC_06ObjectE0QZGyF":{"name":"combinedByAnd()","abstract":"

    Combines multiple Where predicates together using AND operator

    ","parent_name":"Sequence"},"Extensions/Sequence.html#/s:ST9CoreStoreAA15WhereClauseType7ElementRpzrlE12combinedByOrAA0C0VyAC_06ObjectE0QZGyF":{"name":"combinedByOr()","abstract":"

    Combines multiple Where predicates together using OR operator

    ","parent_name":"Sequence"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13fetchExistingyqd__Sgqd__AA13DynamicObjectRd__lF":{"name":"fetchExisting(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13fetchExistingyqd__SgSo17NSManagedObjectIDCAA07DynamicH0Rd__lF":{"name":"fetchExisting(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13fetchExistingySayqd__Gqd_0_AA13DynamicObjectRd__7ElementQyd_0_Rsd__STRd_0_r0_lF":{"name":"fetchExisting(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13fetchExistingySayqd__Gqd_0_AA13DynamicObjectRd__STRd_0_So09NSManagedH2IDC7ElementRtd_0_r0_lF":{"name":"fetchExisting(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP8fetchOneyqd__SgAA4FromVyqd__G_AA11FetchClause_pdtAA13DynamicObjectRd__lF":{"name":"fetchOne(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP8fetchOneyqd__SgAA4FromVyqd__G_SayAA11FetchClause_pGtAA13DynamicObjectRd__lF":{"name":"fetchOne(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP8fetchOney10ObjectTypeQyd__Sgqd__AA021FetchChainableBuilderH0Rd__lF":{"name":"fetchOne(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP8fetchAllySayqd__GSgAA4FromVyqd__G_AA11FetchClause_pdtAA13DynamicObjectRd__lF":{"name":"fetchAll(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP8fetchAllySayqd__GSgAA4FromVyqd__G_SayAA11FetchClause_pGtAA13DynamicObjectRd__lF":{"name":"fetchAll(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP8fetchAllySay10ObjectTypeQyd__GSgqd__AA021FetchChainableBuilderH0Rd__lF":{"name":"fetchAll(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP10fetchCountySiSgAA4FromVyqd__G_AA11FetchClause_pdtAA13DynamicObjectRd__lF":{"name":"fetchCount(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP10fetchCountySiSgAA4FromVyqd__G_SayAA11FetchClause_pGtAA13DynamicObjectRd__lF":{"name":"fetchCount(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP10fetchCountySiSgqd__AA25FetchChainableBuilderTypeRd__lF":{"name":"fetchCount(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13fetchObjectIDySo09NSManagedfG0CSgAA4FromVyqd__G_AA11FetchClause_pdtAA07DynamicF0Rd__lF":{"name":"fetchObjectID(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13fetchObjectIDySo09NSManagedfG0CSgAA4FromVyqd__G_SayAA11FetchClause_pGtAA07DynamicF0Rd__lF":{"name":"fetchObjectID(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13fetchObjectIDySo09NSManagedfG0CSgqd__AA25FetchChainableBuilderTypeRd__lF":{"name":"fetchObjectID(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP14fetchObjectIDsySaySo09NSManagedF2IDCGSgAA4FromVyqd__G_AA11FetchClause_pdtAA07DynamicF0Rd__lF":{"name":"fetchObjectIDs(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP14fetchObjectIDsySaySo09NSManagedF2IDCGSgAA4FromVyqd__G_SayAA11FetchClause_pGtAA07DynamicF0Rd__lF":{"name":"fetchObjectIDs(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP14fetchObjectIDsySaySo09NSManagedF2IDCGSgqd__AA25FetchChainableBuilderTypeRd__lF":{"name":"fetchObjectIDs(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15QueryableSourceP10queryValueyqd_0_SgAA4FromVyqd__G_AA6SelectVyqd__qd_0_GAA11QueryClause_pdtAA13DynamicObjectRd__AA0C13AttributeTypeRd_0_r0_lF":{"name":"queryValue(_:_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15QueryableSourceP10queryValueyqd_0_SgAA4FromVyqd__G_AA6SelectVyqd__qd_0_GSayAA11QueryClause_pGtAA13DynamicObjectRd__AA0C13AttributeTypeRd_0_r0_lF":{"name":"queryValue(_:_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15QueryableSourceP10queryValuey10ResultTypeQyd__Sgqd__AA021QueryChainableBuilderH0Rd__AA0c9AttributeH0AFRQlF":{"name":"queryValue(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15QueryableSourceP15queryAttributesySaySDySSypGGSgAA4FromVyqd__G_AA6SelectVyqd__So12NSDictionaryCGAA11QueryClause_pdtAA13DynamicObjectRd__lF":{"name":"queryAttributes(_:_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15QueryableSourceP15queryAttributesySaySDySSypGGSgAA4FromVyqd__G_AA6SelectVyqd__So12NSDictionaryCGSayAA11QueryClause_pGtAA13DynamicObjectRd__lF":{"name":"queryAttributes(_:_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15QueryableSourceP15queryAttributesySaySDySSypGGSgqd__AA25QueryChainableBuilderTypeRd__So12NSDictionaryC06ResultJ0Rtd__lF":{"name":"queryAttributes(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13unsafeContextSo015NSManagedObjectF0CyF":{"name":"unsafeContext()","parent_name":"NSManagedObjectContext"},"Extensions/RawRepresentable.html#/s:SY9CoreStoreAA23ImportableAttributeType8RawValueRpzrlE022cs_fromQueryableNativeE0yxSgAC_0jkE0QZFZ":{"name":"cs_fromQueryableNativeType(_:)","abstract":"

    Creates an instance of this type from its QueryableNativeType value.

    ","parent_name":"RawRepresentable"},"Extensions/RawRepresentable.html#/s:SY9CoreStoreAA23ImportableAttributeType8RawValueRpzrlE020cs_toQueryableNativeE0AC_0jkE0QZyF":{"name":"cs_toQueryableNativeType()","abstract":"

    Creates QueryableNativeType value from this instance.

    ","parent_name":"RawRepresentable"},"Extensions/NSManagedObject.html#/s:9CoreStore13DynamicObjectP14cs_forceCreate17entityDescription4into8assignToxSo08NSEntityI0C_So09NSManagedD7ContextCSo012NSPersistentB0CtFZ":{"name":"cs_forceCreate(entityDescription:into:assignTo:)","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:9CoreStore13DynamicObjectP10cs_fromRaw6objectxSo09NSManagedD0C_tFZ":{"name":"cs_fromRaw(object:)","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:9CoreStore13DynamicObjectP10cs_matches6objectSbSo09NSManagedD0C_tFZ":{"name":"cs_matches(object:)","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:9CoreStore13DynamicObjectP5cs_idSo09NSManagedD2IDCyF":{"name":"cs_id()","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:9CoreStore13DynamicObjectP8cs_toRawSo09NSManagedD0CyF":{"name":"cs_toRaw()","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE11fetchSourceAC09FetchableF0_pSgyF":{"name":"fetchSource()","abstract":"

    Exposes a FetchableSource that can fetch sibling objects of this NSManagedObject instance. This may be the DataStack, a BaseDataTransaction, the NSManagedObjectContext itself, or nil if the obejct’s parent is already deallocated.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE11querySourceAC09QueryableF0_pSgyF":{"name":"querySource()","abstract":"

    Exposes a QueryableSource that can query attributes and aggregate values. This may be the DataStack, a BaseDataTransaction, the NSManagedObjectContext itself, or nil if the obejct’s parent is already deallocated.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE8getValue9forKvcKeyypSgSS_tF":{"name":"getValue(forKvcKey:)","abstract":"

    Provides a convenience wrapper for accessing primitiveValue(forKey:) with proper calls to willAccessValue(forKey:) and didAccessValue(forKey:). This is useful when implementing accessor methods for transient attributes.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE8getValue9forKvcKey06didGetF0xSS_xypSgKXEtKlF":{"name":"getValue(forKvcKey:didGetValue:)","abstract":"

    Provides a convenience wrapper for accessing primitiveValue(forKey:) with proper calls to willAccessValue(forKey:) and didAccessValue(forKey:). This is useful when implementing accessor methods for transient attributes.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE8getValue9forKvcKey07willGetF003didkF0xSS_yyKXExypSgKXEtKlF":{"name":"getValue(forKvcKey:willGetValue:didGetValue:)","abstract":"

    Provides a convenience wrapper for accessing primitiveValue(forKey:) with proper calls to willAccessValue(forKey:) and didAccessValue(forKey:). This is useful when implementing accessor methods for transient attributes.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE8setValue_9forKvcKeyyypSg_SStF":{"name":"setValue(_:forKvcKey:)","abstract":"

    Provides a convenience wrapper for setting setPrimitiveValue(_:forKey:) with proper calls to willChangeValue(forKey:) and didChangeValue(forKey:). This is useful when implementing mutator methods for transient attributes.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE8setValue_9forKvcKey06didSetF0yypSg_SSyyXEtF":{"name":"setValue(_:forKvcKey:didSetValue:)","abstract":"

    Provides a convenience wrapper for setting setPrimitiveValue(_:forKey:) with proper calls to willChangeValue(forKey:) and didChangeValue(forKey:).

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE8setValue_9forKvcKey07willSetF003didkF0yx_SSypSgxKXEyAHXEtKlF":{"name":"setValue(_:forKvcKey:willSetValue:didSetValue:)","abstract":"

    Provides a convenience wrapper for setting setPrimitiveValue(_:forKey:) with proper calls to willChangeValue(forKey:) and didChangeValue(forKey:). This is useful when implementing mutator methods for transient attributes.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE14refreshAsFaultyyF":{"name":"refreshAsFault()","abstract":"

    Re-faults the object to use the latest values from the persistent store

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE15refreshAndMergeyyF":{"name":"refreshAndMerge()","abstract":"

    Re-faults the object to use the latest values from the persistent store and merges previously pending changes back

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/c:@CM@CoreStore@@objc(cs)NSManagedObject(im)cs_accessValueForKVCKey:":{"name":"cs_accessValueForKVCKey(_:)","abstract":"

    Provides a convenience wrapper for accessing -primitiveValueForKey: with proper calls to -willAccessValueForKey: and -didAccessValueForKey:. This is useful when implementing accessor methods for transient attributes.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/c:@CM@CoreStore@@objc(cs)NSManagedObject(im)cs_setValue:forKVCKey:":{"name":"cs_setValue(_:forKVCKey:)","abstract":"

    Provides a convenience wrapper for setting -setPrimitiveValue: with proper calls to -willChangeValueForKey: and -didChangeValueForKey:. This is useful when implementing mutator methods for transient attributes.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/c:@CM@CoreStore@@objc(cs)NSManagedObject(im)cs_refreshAsFault":{"name":"cs_refreshAsFault()","abstract":"

    Re-faults the object to use the latest values from the persistent store

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE18cs_refreshAndMergeyyF":{"name":"cs_refreshAndMerge()","abstract":"

    Re-faults the object to use the latest values from the persistent store and merges previously pending changes back

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE21unsafeDataTransactionAC06UnsafefG0CSgvp":{"name":"unsafeDataTransaction","abstract":"

    Returns this object’s parent UnsafeDataTransaction instance if it was created from one. Returns nil if the parent transaction is either an AsynchronousDataTransaction or a SynchronousDataTransaction, or if the object is not managed by CoreStore.

    ","parent_name":"NSManagedObject"},"Extensions/KeyPath.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"KeyPath"},"Extensions/KeyPath.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"KeyPath"},"Extensions/KeyPath.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"KeyPath"},"Extensions/KeyPathString.html#/s:SS9CoreStoreE7keyPathSSs03KeyD0Cyxq_G_tcSo15NSManagedObjectCRbzr0_lufc":{"name":"init(keyPath:)","abstract":"

    Extracts the keyPath string from the property.

    ","parent_name":"KeyPathString"},"Extensions/KeyPathString.html#/s:SS9CoreStoreE7keyPathSSs03KeyD0Cyxq_G_tcAA0aB6ObjectCRbzAA07DynamiceD0R_r0_lufc":{"name":"init(keyPath:)","abstract":"

    Extracts the keyPath string from the property.

    ","parent_name":"KeyPathString"},"Extensions/KeyPathString.html":{"name":"KeyPathString"},"Extensions/KeyPath.html":{"name":"KeyPath"},"Extensions/NSManagedObject.html":{"name":"NSManagedObject"},"Extensions/RawRepresentable.html":{"name":"RawRepresentable"},"Extensions/NSManagedObjectContext.html":{"name":"NSManagedObjectContext"},"Extensions/Sequence.html":{"name":"Sequence"},"Extensions/Progress.html":{"name":"Progress"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Extensions/Data.html":{"name":"Data"},"Extensions/Date.html":{"name":"Date"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Int.html":{"name":"Int"},"Extensions/Int8.html":{"name":"Int8"},"Extensions/Int16.html":{"name":"Int16"},"Extensions/Int32.html":{"name":"Int32"},"Extensions/Int64.html":{"name":"Int64"},"Extensions/NSData.html":{"name":"NSData"},"Extensions/NSDate.html":{"name":"NSDate"},"Extensions/NSManagedObjectID.html":{"name":"NSManagedObjectID"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSURL.html":{"name":"NSURL"},"Extensions/NSUUID.html":{"name":"NSUUID"},"Extensions/String.html":{"name":"String"},"Extensions/URL.html":{"name":"URL"},"Extensions/UUID.html":{"name":"UUID"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC_10deleteRule8minCount03maxK019versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AC06DeleteI0Oyx_GS2iSSSgyXAAPyXAShySSGyXAtcfc":{"name":"init(_:deleteRule:minCount:maxCount:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC_7inverse10deleteRule8minCount03maxL019versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AC0E3OneCyqd___xGqd__cAC06DeleteJ0Oyx_GS2iSSSgyXAATyXAShySSGyXAtcfc":{"name":"init(_:inverse:deleteRule:minCount:maxCount:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC_7inverse10deleteRule8minCount03maxL019versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AC0eF7OrderedCyqd___xGqd__cAC06DeleteJ0Oyx_GS2iSSSgyXAATyXAShySSGyXAtcfc":{"name":"init(_:inverse:deleteRule:minCount:maxCount:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC_7inverse10deleteRule8minCount03maxL019versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AEyqd___xGqd__cAC06DeleteJ0Oyx_GS2iSSSgyXAARyXAShySSGyXAtcfc":{"name":"init(_:inverse:deleteRule:minCount:maxCount:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC5valueShyqd__Gvp":{"name":"value","abstract":"

    The relationship unordered objects.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC7observe7options13changeHandlerAA0aB25ObjectKeyValueObservation_pSo05NSKeyN16ObservingOptionsV_yx_AA0ablG4DiffCyqd__GtctF":{"name":"observe(options:changeHandler:)","abstract":"

    Observes changes in the receiver value. When the returned CoreStoreObjectKeyValueObservation is deinited or invalidated, it will stop observing.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC5countSivp":{"name":"count","abstract":"

    The number of elements in the set.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC7isEmptySbvp":{"name":"isEmpty","abstract":"

    A Boolean value indicating whether the range contains no elements.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:ST8IteratorQa":{"name":"Iterator","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:ST12makeIterator0B0QzyF":{"name":"makeIterator()","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC2zeoiyyAEyx_qd__G_qd0__t7ElementQyd0__Rsd__STRd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a sequence of objects to the relationship. The operation

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC2zeoiyyAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a sequence of objects to the relationship. The operation

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC2zeoiyyAEyx_qd__G_AC0eF7OrderedCyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a sequence of objects to the relationship. The operation

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC3zeeoiySbAEyx_qd__G_Shyqd__GtFZ":{"name":".==(_:_:)","abstract":"

    Compares the if the relationship’s objects and a set of objects have the same elements.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC3zeeoiySbShyqd__G_AEyx_qd__GtFZ":{"name":".==(_:_:)","abstract":"

    Compares if a set of objects and a relationship’s objects have the same elements.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC3zeeoiySbAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".==(_:_:)","abstract":"

    Compares if a relationship’s objects and another relationship’s objects have the same elements.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC_8minCount03maxI010deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_S2iAC06DeleteL0Oyx_GSSSgyXAAPyXAShySSGyXAtcfc":{"name":"init(_:minCount:maxCount:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC_8minCount03maxI07inverse10deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_S2iAC0E3OneCyqd___xGqd__cAC06DeleteM0Oyx_GSSSgyXAATyXAShySSGyXAtcfc":{"name":"init(_:minCount:maxCount:inverse:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC_8minCount03maxI07inverse10deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_S2iAEyqd___xGqd__cAC06DeleteM0Oyx_GSSSgyXAARyXAShySSGyXAtcfc":{"name":"init(_:minCount:maxCount:inverse:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC_8minCount03maxI07inverse10deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_S2iAC0eF9UnorderedCyqd___xGqd__cAC06DeleteM0Oyx_GSSSgyXAATyXAShySSGyXAtcfc":{"name":"init(_:minCount:maxCount:inverse:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC5valueSayqd__Gvp":{"name":"value","abstract":"

    The relationship ordered objects.

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC7observe7options13changeHandlerAA0aB25ObjectKeyValueObservation_pSo05NSKeyN16ObservingOptionsV_yx_AA0ablG4DiffCyqd__GtctF":{"name":"observe(options:changeHandler:)","abstract":"

    Observes changes in the receiver value. When the returned CoreStoreObjectKeyValueObservation is deinited or invalidated, it will stop observing.

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:Sl8IteratorQa":{"name":"Iterator","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:Sl12makeIterator0B0QzyF":{"name":"makeIterator()","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:Sl5IndexQa":{"name":"Index","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:Sl10startIndex0B0Qzvp":{"name":"startIndex","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:Sl8endIndex0B0Qzvp":{"name":"endIndex","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:Sly7ElementQz5IndexQzcip":{"name":"subscript(_:)","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:Sk5index5after5IndexQzAD_tF":{"name":"index(after:)","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC2zeoiyyAEyx_qd__G_qd0__t7ElementQyd0__Rsd__STRd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a sequence of objects to the relationship. The operation

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC2zeoiyyAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a sequence of objects to the relationship. The operation

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC3zeeoiySbAEyx_qd__G_qd0__t7ElementQyd0__Rsd__SlRd0__lFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a relationship’s objects and a collection of objects

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC3zeeoiySbqd0___AEyx_qd__Gt7ElementQyd0__Rsd__SlRd0__lFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a collection of objects and a relationship’s objects

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC3zeeoiySbAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a relationship’s objects and a collection of objects

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC_10deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AC06DeleteH0Oyx_GSSSgyXAANyXAShySSGyXAtcfc":{"name":"init(_:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC_7inverse10deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AEyqd___xGqd__cAC06DeleteI0Oyx_GSSSgyXAAPyXAShySSGyXAtcfc":{"name":"init(_:inverse:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC_7inverse10deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AC0E11ManyOrderedCyqd___xGqd__cAC06DeleteI0Oyx_GSSSgyXAARyXAShySSGyXAtcfc":{"name":"init(_:inverse:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC_7inverse10deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AC0E13ManyUnorderedCyqd___xGqd__cAC06DeleteI0Oyx_GSSSgyXAARyXAShySSGyXAtcfc":{"name":"init(_:inverse:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC5valueqd__Sgvp":{"name":"value","abstract":"

    The relationship destination object.

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC7observe7options13changeHandlerAA0aB25ObjectKeyValueObservation_pSo05NSKeyM16ObservingOptionsV_yx_AA0abkK4DiffCyqd__GtctF":{"name":"observe(options:changeHandler:)","abstract":"

    Observes changes in the receiver value. When the returned CoreStoreObjectKeyValueObservation is deinited or invalidated, it will stop observing.

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC2eeoiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC2neoiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC2teoiyAA5WhereVyxGqd0___AEyx_qd__Gt7ElementQyd0__Rsd__STRd0__lFZ":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains the value of a property

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC2zeoiyyAEyx_qd__G_qd__SgtFZ":{"name":".=(_:_:)","abstract":"

    Assigns an object to the relationship. The operation

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC2zeoiyyAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns an object from another relationship. The operation

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC3zeeoiySbAEyx_qd__G_qd__SgtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a relationship’s object and another object

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC3zeeoiySbqd__Sg_AEyx_qd__GtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between an object and a relationship’s object

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC3zeeoiySbAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a relationship’s object and another relationship’s object

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html":{"name":"ToOne","abstract":"

    The containing type for to-one relationships. Any CoreStoreObject subclass can be a destination type. Inverse relationships should be declared from the destination type as well, using the inverse: argument for the relationship.

    ","parent_name":"RelationshipContainer"},"Enums/RelationshipContainer/ToManyOrdered.html":{"name":"ToManyOrdered","abstract":"

    The containing type for to-many ordered relationships. Any CoreStoreObject subclass can be a destination type. Inverse relationships should be declared from the destination type as well, using the inverse: argument for the relationship.

    ","parent_name":"RelationshipContainer"},"Enums/RelationshipContainer/ToManyUnordered.html":{"name":"ToManyUnordered","abstract":"

    The containing type for to-many unordered relationships. Any CoreStoreObject subclass can be a destination type. Inverse relationships should be declared from the destination type as well, using the inverse: argument for the relationship.

    ","parent_name":"RelationshipContainer"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore22TransformableContainerO8OptionalC_7initial11isTransient31allowsExternalBinaryDataStorage19versionHashModifier18renamingIdentifier12customGetter0S6Setter18affectedByKeyPathsAEyx_qd__GSS_qd__SgyXAS2bSSSgyXAAPyXAAoA13PartialObjectVyxGcSgyAS_AOtcSgShySSGyXAtcfc":{"name":"init(_:initial:isTransient:allowsExternalBinaryDataStorage:versionHashModifier:renamingIdentifier:customGetter:customSetter:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the property.

    ","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore22TransformableContainerO8OptionalC5valueqd__Sgvp":{"name":"value","abstract":"

    The property value.

    ","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore22TransformableContainerO8OptionalC7observe7options13changeHandlerAA0aB25ObjectKeyValueObservation_pSo05NSKeyL16ObservingOptionsV_yx_AA0abjC4DiffCyqd__GtctF":{"name":"observe(options:changeHandler:)","abstract":"

    Observes changes in the receiver value. When the returned CoreStoreObjectKeyValueObservation is deinited or invalidated, it will stop observing.

    ","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore22TransformableContainerO8OptionalC2zeoiyyAEyx_qd__G_qd__SgtFZ":{"name":".=(_:_:)","abstract":"

    Assigns an optional transformable value to the property. The operation

    ","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore22TransformableContainerO8OptionalC2zeoiyyAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns an optional transformable value from another property. The operation

    ","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore22TransformableContainerO8OptionalC2zeoiyyAEyx_qd__G_AC8RequiredCyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a transformable value from another property. The operation

    ","parent_name":"Optional"},"Enums/TransformableContainer/Required.html#/s:9CoreStore22TransformableContainerO8RequiredC_7initial11isTransient31allowsExternalBinaryDataStorage19versionHashModifier18renamingIdentifier12customGetter0S6Setter18affectedByKeyPathsAEyx_qd__GSS_qd__yXAS2bSSSgyXAAOyXAqd__AA13PartialObjectVyxGcSgyAR_qd__tcSgShySSGyXAtcfc":{"name":"init(_:initial:isTransient:allowsExternalBinaryDataStorage:versionHashModifier:renamingIdentifier:customGetter:customSetter:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the property.

    ","parent_name":"Required"},"Enums/TransformableContainer/Required.html#/s:9CoreStore22TransformableContainerO8RequiredC5valueqd__vp":{"name":"value","abstract":"

    The property value.

    ","parent_name":"Required"},"Enums/TransformableContainer/Required.html#/s:9CoreStore22TransformableContainerO8RequiredC7observe7options13changeHandlerAA0aB25ObjectKeyValueObservation_pSo05NSKeyL16ObservingOptionsV_yx_AA0abjC4DiffCyqd__GtctF":{"name":"observe(options:changeHandler:)","abstract":"

    Observes changes in the receiver value. When the returned CoreStoreObjectKeyValueObservation is deinited or invalidated, it will stop observing.

    ","parent_name":"Required"},"Enums/TransformableContainer/Required.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"Required"},"Enums/TransformableContainer/Required.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"Required"},"Enums/TransformableContainer/Required.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"Required"},"Enums/TransformableContainer/Required.html#/s:9CoreStore22TransformableContainerO8RequiredC2zeoiyyAEyx_qd__G_qd__tFZ":{"name":".=(_:_:)","abstract":"

    Assigns a transformable value to the property. The operation

    ","parent_name":"Required"},"Enums/TransformableContainer/Required.html#/s:9CoreStore22TransformableContainerO8RequiredC2zeoiyyAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a transformable value from another property. The operation

    ","parent_name":"Required"},"Enums/TransformableContainer/Required.html":{"name":"Required","abstract":"

    The containing type for transformable properties. Any type that conforms to NSCoding & NSCopying are supported.

    ","parent_name":"TransformableContainer"},"Enums/TransformableContainer/Optional.html":{"name":"Optional","abstract":"

    The containing type for optional transformable properties. Any type that conforms to NSCoding & NSCopying are supported.

    ","parent_name":"TransformableContainer"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC_7initial11isTransient19versionHashModifier18renamingIdentifier12customGetter0N6Setter18affectedByKeyPathsAEyx_qd__GSS_qd__SgyXASbSSSgyXAAOyXAAnA13PartialObjectVyxGcSgyAR_ANtcSgShySSGyXAtcfc":{"name":"init(_:initial:isTransient:versionHashModifier:renamingIdentifier:customGetter:customSetter:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the property.

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC5valueqd__Sgvp":{"name":"value","abstract":"

    The property value.

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC7observe7options13changeHandlerAA0ab9ObjectKeyC11Observation_pSo05NSKeyC16ObservingOptionsV_yx_AA0abjC4DiffCyqd__GtctF":{"name":"observe(options:changeHandler:)","abstract":"

    Observes changes in the receiver value. When the returned CoreStoreObjectKeyValueObservation is deinited or invalidated, it will stop observing.

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2eeoiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2neoiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC1loiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":"<(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than a value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC1goiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":">(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than a value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2leoiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":"<=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than or equal to a value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2geoiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":">=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than or equal to a value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2teoiyAA5WhereVyxGqd0___AEyx_qd__Gt7ElementQyd0__Rsd__STRd0__lFZ":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains the value of a property

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2zeoiyyAEyx_qd__G_qd__SgtFZ":{"name":".=(_:_:)","abstract":"

    Assigns an optional value to the property. The operation

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2zeoiyyAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns an optional value from another property. The operation

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2zeoiyyAEyx_qd__G_AC8RequiredCyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a value from another property. The operation

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC3zeeoiySbAEyx_qd__G_qd__SgtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a property’s value and another value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC3zeeoiySbqd__Sg_AEyx_qd__GtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a property’s value and another property’s value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC3zeeoiySbAEyx_qd__G_AGtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a property’s value and another property’s value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC3zeeoiySbAEyx_qd__G_AC8RequiredCyx_qd__GtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a property’s value and another property’s value

    ","parent_name":"Optional"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC_7initial11isTransient19versionHashModifier18renamingIdentifier12customGetter0N6Setter18affectedByKeyPathsAEyx_qd__GSS_qd__yXASbSSSgyXAANyXAqd__AA13PartialObjectVyxGcSgyAQ_qd__tcSgShySSGyXAtcfc":{"name":"init(_:initial:isTransient:versionHashModifier:renamingIdentifier:customGetter:customSetter:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the property.

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC5valueqd__vp":{"name":"value","abstract":"

    The property value.

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC7observe7options13changeHandlerAA0ab9ObjectKeyC11Observation_pSo05NSKeyC16ObservingOptionsV_yx_AA0abjC4DiffCyqd__GtctF":{"name":"observe(options:changeHandler:)","abstract":"

    Observes changes in the receiver value. When the returned CoreStoreObjectKeyValueObservation is deinited or invalidated, it will stop observing.

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC2eeoiyAA5WhereVyxGAEyx_qd__G_qd__tFZ":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC2neoiyAA5WhereVyxGAEyx_qd__G_qd__tFZ":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC1loiyAA5WhereVyxGAEyx_qd__G_qd__tFZ":{"name":"<(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than a value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC1goiyAA5WhereVyxGAEyx_qd__G_qd__tFZ":{"name":">(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than a value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC2leoiyAA5WhereVyxGAEyx_qd__G_qd__tFZ":{"name":"<=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than or equal to a value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC2geoiyAA5WhereVyxGAEyx_qd__G_qd__tFZ":{"name":">=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than or equal to a value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC2teoiyAA5WhereVyxGqd0___AEyx_qd__Gt7ElementQyd0__Rsd__STRd0__lFZ":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains the value of a property

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC2zeoiyyAEyx_qd__G_qd__tFZ":{"name":".=(_:_:)","abstract":"

    Assigns a value to the property. The operation

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC2zeoiyyAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a value from another property. The operation

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC3zeeoiySbAEyx_qd__G_qd__SgtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a property’s value and another value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC3zeeoiySbqd__Sg_AEyx_qd__GtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a value and a property’s value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC3zeeoiySbAEyx_qd__G_AGtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a property’s value and another property’s value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC3zeeoiySbAEyx_qd__G_AC8OptionalCyx_qd__GtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a property’s value and another property’s value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html":{"name":"Required","abstract":"

    The containing type for required value properties. Any type that conforms to ImportableAttributeType are supported.

    ","parent_name":"ValueContainer"},"Enums/ValueContainer/Optional.html":{"name":"Optional","abstract":"

    The containing type for optional value properties. Any type that conforms to ImportableAttributeType are supported.

    ","parent_name":"ValueContainer"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO07unknownC0yA2CmF":{"name":"unknownError","abstract":"

    A failure occured because of an unknown error.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO27differentStorageExistsAtURLyA2CmF":{"name":"differentStorageExistsAtURL","abstract":"

    The NSPersistentStore could note be initialized because another store existed at the specified NSURL.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO20mappingModelNotFoundyA2CmF":{"name":"mappingModelNotFound","abstract":"

    An NSMappingModel could not be found for a specific source and destination model versions.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO28progressiveMigrationRequiredyA2CmF":{"name":"progressiveMigrationRequired","abstract":"

    Progressive migrations are disabled for a store, but an NSMappingModel could not be found for a specific source and destination model versions.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO29asynchronousMigrationRequiredyA2CmF":{"name":"asynchronousMigrationRequired","abstract":"

    The LocalStorage was configured with .allowSynchronousLightweightMigration, but the model can only be migrated asynchronously.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO08internalC0yA2CmF":{"name":"internalError","abstract":"

    An internal SDK call failed with the specified NSError userInfo key.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO04userC0yA2CmF":{"name":"userError","abstract":"

    The transaction was terminated by a user-thrown Error specified by Error userInfo key.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO13userCancelledyA2CmF":{"name":"userCancelled","abstract":"

    The transaction was cancelled by the user.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStore.html#/s:9CoreStoreAAO12defaultStackAA04DataD0CvpZ":{"name":"defaultStack","abstract":"

    The default DataStack instance to be used. If defaultStack is not set before the first time accessed, a default-configured DataStack will be created.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO6loggerAA0aB6Logger_pvpZ":{"name":"logger","abstract":"

    The CoreStoreLogger instance to be used. The default logger is an instance of a DefaultLogger.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10addStorage_10completionyx_yAA11SetupResultOyxGctAA0D9InterfaceRzlFZ":{"name":"addStorage(_:completion:)","abstract":"

    Asynchronously adds a StorageInterface to the defaultStack. Migrations are also initiated by default.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10addStorage_10completionSo10NSProgressCSgx_yAA11SetupResultOyxGctAA05LocalD0RzlFZ":{"name":"addStorage(_:completion:)","abstract":"

    Asynchronously adds a LocalStorage to the defaultStack. Migrations are also initiated by default.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10addStorage_10completionyx_yAA11SetupResultOyxGctAA05CloudD0RzlFZ":{"name":"addStorage(_:completion:)","abstract":"

    Asynchronously adds a CloudStorage to the defaultStack. Migrations are also initiated by default.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO22upgradeStorageIfNeeded_10completionSo10NSProgressCSgx_yAA15MigrationResultOctKAA05LocalD0RzlFZ":{"name":"upgradeStorageIfNeeded(_:completion:)","abstract":"

    Migrates a local storage to match the defaultStack‘s managed object model version. This method does NOT add the migrated store to the data stack.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO28requiredMigrationsForStorageySayAA13MigrationTypeOGxKAA05LocalF0RzlFZ":{"name":"requiredMigrationsForStorage(_:)","abstract":"

    Checks the migration steps required for the storage to match the defaultStack‘s managed object model version.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13monitorObjectyAA0D7MonitorCyxGxAA07DynamicD0RzlFZ":{"name":"monitorObject(_:)","abstract":"

    Using the defaultStack, creates an ObjectMonitor for the specified DynamicObject. Multiple ObjectObservers may then register themselves to be notified when changes are made to the DynamicObject.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO11monitorListyAA0D7MonitorCyxGAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlFZ":{"name":"monitorList(_:_:)","abstract":"

    Using the defaultStack, creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO11monitorListyAA0D7MonitorCyxGAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlFZ":{"name":"monitorList(_:_:)","abstract":"

    Using the defaultStack, creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO11monitorListyAA0D7MonitorCy10ObjectTypeQzGxAA021FetchChainableBuilderG0RzlFZ":{"name":"monitorList(_:)","abstract":"

    Creates a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO11monitorList20createAsynchronously__yyAA0D7MonitorCyxGc_AA4FromVyxGAA11FetchClause_pdtAA13DynamicObjectRzlFZ":{"name":"monitorList(createAsynchronously:_:_:)","abstract":"

    Using the defaultStack, asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO11monitorList20createAsynchronously__yyAA0D7MonitorCyxGc_AA4FromVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlFZ":{"name":"monitorList(createAsynchronously:_:_:)","abstract":"

    Using the defaultStack, asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO11monitorList20createAsynchronously_yyAA0D7MonitorCy10ObjectTypeQzGc_xtAA021FetchChainableBuilderI0RzlFZ":{"name":"monitorList(createAsynchronously:_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO20monitorSectionedListyAA0E7MonitorCyxGAA4FromVyxG_AA9SectionByVyxGAA11FetchClause_pdtAA13DynamicObjectRzlFZ":{"name":"monitorSectionedList(_:_:_:)","abstract":"

    Using the defaultStack, creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO20monitorSectionedListyAA0E7MonitorCyxGAA4FromVyxG_AA9SectionByVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlFZ":{"name":"monitorSectionedList(_:_:_:)","abstract":"

    Using the defaultStack, creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO20monitorSectionedListyAA0E7MonitorCy10ObjectTypeQzGxAA07Sectionf7BuilderH0RzlFZ":{"name":"monitorSectionedList(_:)","abstract":"

    Creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified SectionMonitorBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO20monitorSectionedList20createAsynchronously___yyAA0E7MonitorCyxGc_AA4FromVyxGAA9SectionByVyxGAA11FetchClause_pdtAA13DynamicObjectRzlFZ":{"name":"monitorSectionedList(createAsynchronously:_:_:_:)","abstract":"

    Using the defaultStack, asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO20monitorSectionedList20createAsynchronously___yyAA0E7MonitorCyxGc_AA4FromVyxGAA9SectionByVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlFZ":{"name":"monitorSectionedList(createAsynchronously:_:_:_:)","abstract":"

    Using the defaultStack, asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO20monitorSectionedList20createAsynchronously_yyAA0E7MonitorCy10ObjectTypeQzGc_xtAA07Sectionh7BuilderJ0RzlFZ":{"name":"monitorSectionedList(createAsynchronously:_:)","abstract":"

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified SectionMonitorBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13fetchExistingyxSgxAA13DynamicObjectRzlFZ":{"name":"fetchExisting(_:)","abstract":"

    Using the defaultStack, fetches the DynamicObject instance in the DataStack‘s context from a reference created from a transaction or from a different managed object context.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13fetchExistingyxSgSo17NSManagedObjectIDCAA07DynamicF0RzlFZ":{"name":"fetchExisting(_:)","abstract":"

    Using the defaultStack, fetches the DynamicObject instance in the DataStack‘s context from an NSManagedObjectID.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13fetchExistingySayxGq_AA13DynamicObjectRz7ElementQy_RszSTR_r0_lFZ":{"name":"fetchExisting(_:)","abstract":"

    Using the defaultStack, fetches the DynamicObject instances in the DataStack‘s context from references created from a transaction or from a different managed object context.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13fetchExistingySayxGq_AA13DynamicObjectRzSTR_So09NSManagedF2IDC7ElementRt_r0_lFZ":{"name":"fetchExisting(_:)","abstract":"

    Using the defaultStack, fetches the DynamicObject instances in the DataStack‘s context from a list of NSManagedObjectID.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO8fetchOneyxSgAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlFZ":{"name":"fetchOne(_:_:)","abstract":"

    Using the defaultStack, fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO8fetchOneyxSgAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlFZ":{"name":"fetchOne(_:_:)","abstract":"

    Using the defaultStack, fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO8fetchOney10ObjectTypeQzSgxAA021FetchChainableBuilderF0RzlFZ":{"name":"fetchOne(_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO8fetchAllySayxGSgAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlFZ":{"name":"fetchAll(_:_:)","abstract":"

    Using the defaultStack, fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO8fetchAllySayxGSgAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlFZ":{"name":"fetchAll(_:_:)","abstract":"

    Using the defaultStack, fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO8fetchAllySay10ObjectTypeQzGSgxAA021FetchChainableBuilderF0RzlFZ":{"name":"fetchAll(_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10fetchCountySiSgAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlFZ":{"name":"fetchCount(_:_:)","abstract":"

    Using the defaultStack, fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10fetchCountySiSgAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlFZ":{"name":"fetchCount(_:_:)","abstract":"

    Using the defaultStack, fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10fetchCountySiSgxAA25FetchChainableBuilderTypeRzlFZ":{"name":"fetchCount(_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13fetchObjectIDySo09NSManageddE0CSgAA4FromVyxG_AA11FetchClause_pdtAA07DynamicD0RzlFZ":{"name":"fetchObjectID(_:_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13fetchObjectIDySo09NSManageddE0CSgAA4FromVyxG_SayAA11FetchClause_pGtAA07DynamicD0RzlFZ":{"name":"fetchObjectID(_:_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13fetchObjectIDySo09NSManageddE0CSgxAA25FetchChainableBuilderTypeRzlFZ":{"name":"fetchObjectID(_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO14fetchObjectIDsySaySo09NSManagedD2IDCGSgAA4FromVyxG_AA11FetchClause_pdtAA07DynamicD0RzlFZ":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO14fetchObjectIDsySaySo09NSManagedD2IDCGSgAA4FromVyxG_SayAA11FetchClause_pGtAA07DynamicD0RzlFZ":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO14fetchObjectIDsySaySo09NSManagedD2IDCGSgxAA25FetchChainableBuilderTypeRzlFZ":{"name":"fetchObjectIDs(_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10queryValueyq_SgAA4FromVyxG_AA6SelectVyxq_GAA11QueryClause_pdtAA13DynamicObjectRzAA22QueryableAttributeTypeR_r0_lFZ":{"name":"queryValue(_:_:_:)","abstract":"

    Using the defaultStack, queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10queryValueyq_SgAA4FromVyxG_AA6SelectVyxq_GSayAA11QueryClause_pGtAA13DynamicObjectRzAA22QueryableAttributeTypeR_r0_lFZ":{"name":"queryValue(_:_:_:)","abstract":"

    Using the defaultStack, queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10queryValuey10ResultTypeQzSgxAA021QueryChainableBuilderF0RzAA018QueryableAttributeF0AERQlFZ":{"name":"queryValue(_:)","abstract":"

    Queries a property value or aggregate as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO15queryAttributesySaySDySSypGGSgAA4FromVyxG_AA6SelectVyxSo12NSDictionaryCGAA11QueryClause_pdtAA13DynamicObjectRzlFZ":{"name":"queryAttributes(_:_:_:)","abstract":"

    Using the defaultStack, queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO15queryAttributesySaySDySSypGGSgAA4FromVyxG_AA6SelectVyxSo12NSDictionaryCGSayAA11QueryClause_pGtAA13DynamicObjectRzlFZ":{"name":"queryAttributes(_:_:_:)","abstract":"

    Using the defaultStack, queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO15queryAttributesySaySDySSypGGSgxAA25QueryChainableBuilderTypeRzSo12NSDictionaryC06ResultH0RtzlFZ":{"name":"queryAttributes(_:)","abstract":"

    Queries a dictionary of attribute values or as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO12modelVersionSSvpZ":{"name":"modelVersion","abstract":"

    Returns the defaultStack‘s model version. The version string is the same as the name of a version-specific .xcdatamodeld file or CoreStoreSchema.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17entityTypesByName3forSDySSSo15NSManagedObjectCmGAFm_tFZ":{"name":"entityTypesByName(for:)","abstract":"

    Returns the entity name-to-class type mapping from the defaultStack‘s model.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17entityTypesByName3forSDySSAA0aB6ObjectCmGAFm_tFZ":{"name":"entityTypesByName(for:)","abstract":"

    Returns the entity name-to-class type mapping from the defaultStack‘s model.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17entityDescription3forSo08NSEntityD0CSgSo15NSManagedObjectCm_tFZ":{"name":"entityDescription(for:)","abstract":"

    Returns the NSEntityDescription for the specified NSManagedObject subclass from defaultStack‘s model.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17entityDescription3forSo08NSEntityD0CSgAA0aB6ObjectCm_tFZ":{"name":"entityDescription(for:)","abstract":"

    Returns the NSEntityDescription for the specified CoreStoreObject subclass from defaultStack‘s model.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17addStorageAndWaitAA06SQLiteB0CyKFZ":{"name":"addStorageAndWait()","abstract":"

    Creates an SQLiteStore with default parameters and adds it to the defaultStack. This method blocks until completion.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17addStorageAndWaityxxKAA0D9InterfaceRzlFZ":{"name":"addStorageAndWait(_:)","abstract":"

    Adds a StorageInterface to the defaultStack and blocks until completion.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17addStorageAndWaityxxKAA05LocalD0RzlFZ":{"name":"addStorageAndWait(_:)","abstract":"

    Adds a LocalStorage to the defaultStack and blocks until completion.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17addStorageAndWaityxxKAA05CloudD0RzlFZ":{"name":"addStorageAndWait(_:)","abstract":"

    Adds a CloudStorage to the defaultStack and blocks until completion.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO7perform12asynchronous10completionyxAA27AsynchronousDataTransactionCKc_yAG6ResultOy_xGctlFZ":{"name":"perform(asynchronous:completion:)","abstract":"

    Using the defaultStack, performs a transaction asynchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the wrapped as .success(userInfo: T) in the completion‘s Result<T>. Any errors thrown from inside the task will be reported as .failure(error: CoreStoreError). To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO7perform12asynchronous7success7failureyxAA27AsynchronousDataTransactionCKc_yxcyAA0aB5ErrorOctlFZ":{"name":"perform(asynchronous:success:failure:)","abstract":"

    Using the defaultStack, performs a transaction asynchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the argument of the success closure. Any errors thrown from inside the task will be wrapped in a CoreStoreError and reported in the failure closure. To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO7perform11synchronous19waitForAllObserversxxAA26SynchronousDataTransactionCKXE_SbtKlFZ":{"name":"perform(synchronous:waitForAllObservers:)","abstract":"

    Using the defaultStack, performs a transaction synchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the return value of perform(synchronous:). Any errors thrown from inside the task will be thrown from perform(synchronous:). To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO11beginUnsafe12supportsUndoAA0D15DataTransactionCSb_tFZ":{"name":"beginUnsafe(supportsUndo:)","abstract":"

    Using the defaultStack, begins a non-contiguous transaction where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO25refreshAndMergeAllObjectsyyFZ":{"name":"refreshAndMergeAllObjects()","abstract":"

    Refreshes all registered objects NSManagedObjects or CoreStoreObjects in the defaultStack.

    ","parent_name":"CoreStore"},"Enums/SetupResult.html#/s:9CoreStore11SetupResultO7successyACyxGxcAEmAA16StorageInterfaceRzlF":{"name":"success(_:)","abstract":"

    SetupResult.success indicates that the storage setup succeeded. The associated object for this enum value is the related StorageInterface instance.

    ","parent_name":"SetupResult"},"Enums/SetupResult.html#/s:9CoreStore11SetupResultO7failureyACyxGAA0aB5ErrorOcAEmAA16StorageInterfaceRzlF":{"name":"failure(_:)","abstract":"

    SetupResult.failure indicates that the storage setup failed. The associated object for this value is the related CoreStoreError enum value.

    ","parent_name":"SetupResult"},"Enums/SetupResult.html#/s:9CoreStore11SetupResultO9isSuccessSbvp":{"name":"isSuccess","abstract":"

    Returns true if the result indicates .success, false if the result is .failure.

    ","parent_name":"SetupResult"},"Enums/SetupResult.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"SetupResult"},"Enums/SetupResult.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"SetupResult"},"Enums/SetupResult.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"SetupResult"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermO9attributeyACyxGSSFZ":{"name":"attribute(_:)","abstract":"

    Provides a SelectTerm to a Select clause for querying an entity attribute. A shorter way to do the same is to assign from the string keypath directly:

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermO7average_2asACyxGSS_SSSgtFZ":{"name":"average(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the average value of an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermO5count_2asACyxGSS_SSSgtFZ":{"name":"count(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for a count query.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermO7maximum_2asACyxGSS_SSSgtFZ":{"name":"maximum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the maximum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermO7minimum_2asACyxGSS_SSSgtFZ":{"name":"minimum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the minimum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermO3sum_2asACyxGSS_SSSgtFZ":{"name":"sum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the sum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermO8objectID2asACyxGSSSg_tFZ":{"name":"objectID(as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the NSManagedObjectID.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:s26ExpressibleByStringLiteralP06stringD0x0cD4TypeQz_tcfc":{"name":"init(stringLiteral:)","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:s33ExpressibleByUnicodeScalarLiteralP07unicodedE0x0cdE4TypeQz_tcfc":{"name":"init(unicodeScalarLiteral:)","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:s43ExpressibleByExtendedGraphemeClusterLiteralP08extendeddeF0x0cdeF4TypeQz_tcfc":{"name":"init(extendedGraphemeClusterLiteral:)","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOAASo15NSManagedObjectCRbzrlE9attributeyACyxGs7KeyPathCyxqd__GlFZ":{"name":"attribute(_:)","abstract":"

    Provides a SelectTerm to a Select clause for querying an entity attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOAASo15NSManagedObjectCRbzrlE7average_2asACyxGs7KeyPathCyxqd__G_SSSgtlFZ":{"name":"average(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the average value of an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOAASo15NSManagedObjectCRbzrlE5count_2asACyxGs7KeyPathCyxqd__G_SSSgtlFZ":{"name":"count(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for a count query.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOAASo15NSManagedObjectCRbzrlE7maximum_2asACyxGs7KeyPathCyxqd__G_SSSgtlFZ":{"name":"maximum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the maximum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOAASo15NSManagedObjectCRbzrlE7minimum_2asACyxGs7KeyPathCyxqd__G_SSSgtlFZ":{"name":"minimum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the minimum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOAASo15NSManagedObjectCRbzrlE3sum_2asACyxGs7KeyPathCyxqd__G_SSSgtlFZ":{"name":"sum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the sum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE9attributeyACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GGAA23ImportableAttributeTypeRd__lFZ":{"name":"attribute(_:)","abstract":"

    Provides a SelectTerm to a Select clause for querying an entity attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE9attributeyACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GGAA23ImportableAttributeTypeRd__lFZ":{"name":"attribute(_:)","abstract":"

    Provides a SelectTerm to a Select clause for querying an entity attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE9attributeyACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GGSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"attribute(_:)","abstract":"

    Provides a SelectTerm to a Select clause for querying an entity attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE9attributeyACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GGSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"attribute(_:)","abstract":"

    Provides a SelectTerm to a Select clause for querying an entity attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7average_2asACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"average(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the average value of an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7average_2asACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"average(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the average value of an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7average_2asACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"average(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the average value of an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7average_2asACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"average(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the average value of an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE5count_2asACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"count(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for a count query.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE5count_2asACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"count(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for a count query.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE5count_2asACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"count(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for a count query.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE5count_2asACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"count(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for a count query.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7maximum_2asACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"maximum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the maximum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7maximum_2asACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"maximum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the maximum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7maximum_2asACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"maximum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the maximum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7maximum_2asACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"maximum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the maximum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7minimum_2asACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"minimum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the minimum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7minimum_2asACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"minimum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the minimum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7minimum_2asACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"minimum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the minimum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7minimum_2asACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"minimum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the minimum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE3sum_2asACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"sum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the sum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE3sum_2asACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"sum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the sum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE3sum_2asACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"sum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the sum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE3sum_2asACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"sum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the sum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/CSLocalStorageOptions.html#/c:@M@CoreStore@E@CSLocalStorageOptions@CSLocalStorageOptionsNone":{"name":"none","abstract":"

    Tells the DataStack that the store should not be migrated or recreated, and should simply fail on model mismatch

    ","parent_name":"CSLocalStorageOptions"},"Enums/CSLocalStorageOptions.html#/c:@M@CoreStore@E@CSLocalStorageOptions@CSLocalStorageOptionsRecreateStoreOnModelMismatch":{"name":"recreateStoreOnModelMismatch","abstract":"

    Tells the DataStack to delete and recreate the store on model mismatch, otherwise exceptions will be thrown on failure instead

    ","parent_name":"CSLocalStorageOptions"},"Enums/CSLocalStorageOptions.html#/c:@M@CoreStore@E@CSLocalStorageOptions@CSLocalStorageOptionsPreventProgressiveMigration":{"name":"preventProgressiveMigration","abstract":"

    Tells the DataStack to prevent progressive migrations for the store

    ","parent_name":"CSLocalStorageOptions"},"Enums/CSLocalStorageOptions.html#/c:@M@CoreStore@E@CSLocalStorageOptions@CSLocalStorageOptionsAllowSynchronousLightweightMigration":{"name":"allowSynchronousLightweightMigration","abstract":"

    Tells the DataStack to allow lightweight migration for the store when added synchronously

    ","parent_name":"CSLocalStorageOptions"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO4noneyACSS_tcACmF":{"name":"none(version:)","abstract":"

    Indicates that the persistent store matches the latest model version and no migration is needed

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO11lightweightyACSS_SStcACmF":{"name":"lightweight(sourceVersion:destinationVersion:)","abstract":"

    Indicates that the persistent store does not match the latest model version but Core Data can infer the mapping model, so a lightweight migration is needed

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO11heavyweightyACSS_SStcACmF":{"name":"heavyweight(sourceVersion:destinationVersion:)","abstract":"

    Indicates that the persistent store does not match the latest model version and Core Data could not infer a mapping model, so a custom migration is needed

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO13sourceVersionSSvp":{"name":"sourceVersion","abstract":"

    Returns the source model version for the migration type. If no migration is required, sourceVersion will be equal to the destinationVersion.

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO18destinationVersionSSvp":{"name":"destinationVersion","abstract":"

    Returns the destination model version for the migration type. If no migration is required, destinationVersion will be equal to the sourceVersion.

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO013isLightweightC0Sbvp":{"name":"isLightweightMigration","abstract":"

    Returns true if the MigrationType is a lightweight migration. Used as syntactic sugar.

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO013isHeavyweightC0Sbvp":{"name":"isHeavyweightMigration","abstract":"

    Returns true if the MigrationType is a heavyweight migration. Used as syntactic sugar.

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO03hasC0Sbvp":{"name":"hasMigration","abstract":"

    Returns true if the MigrationType is either a lightweight or a heavyweight migration. Returns false if no migrations specified.

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MigrationType"},"Enums/MigrationResult.html#/s:9CoreStore15MigrationResultO7successyACSayAA0C4TypeOGcACmF":{"name":"success(_:)","abstract":"

    MigrationResult.success indicates either the migration succeeded, or there were no migrations needed. The associated value is an array of MigrationTypes reflecting the migration steps completed.

    ","parent_name":"MigrationResult"},"Enums/MigrationResult.html#/s:9CoreStore15MigrationResultO7failureyAcA0aB5ErrorOcACmF":{"name":"failure(_:)","abstract":"

    SaveResult.failure indicates that the migration failed. The associated object for this value is the a CoreStoreError enum value.

    ","parent_name":"MigrationResult"},"Enums/MigrationResult.html#/s:9CoreStore15MigrationResultO9isSuccessSbvp":{"name":"isSuccess","abstract":"

    Returns true if the result indicates .success, false if the result is .failure.

    ","parent_name":"MigrationResult"},"Enums/MigrationResult.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"MigrationResult"},"Enums/MigrationResult.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MigrationResult"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO7unknownyA2CmF":{"name":"unknown","abstract":"

    A failure occured because of an unknown error.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO27differentStorageExistsAtURLyAC10Foundation0H0V_tcACmF":{"name":"differentStorageExistsAtURL(existingPersistentStoreURL:)","abstract":"

    The NSPersistentStore could not be initialized because another store existed at the specified NSURL.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO20mappingModelNotFoundyAC10Foundation3URLV_So015NSManagedObjectE0CSStcACmF":{"name":"mappingModelNotFound(localStoreURL:targetModel:targetModelVersion:)","abstract":"

    An NSMappingModel could not be found for a specific source and destination model versions.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO28progressiveMigrationRequiredyAC10Foundation3URLV_tcACmF":{"name":"progressiveMigrationRequired(localStoreURL:)","abstract":"

    Progressive migrations are disabled for a store, but an NSMappingModel could not be found for a specific source and destination model versions.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO29asynchronousMigrationRequiredyAC10Foundation3URLV_So7NSErrorCtcACmF":{"name":"asynchronousMigrationRequired(localStoreURL:NSError:)","abstract":"

    The LocalStorage was configured with .allowSynchronousLightweightMigration, but the model can only be migrated asynchronously.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO08internalC0yACSo7NSErrorC_tcACmF":{"name":"internalError(NSError:)","abstract":"

    An internal SDK call failed with the specified NSError.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO04userC0yACs0C0_p_tcACmF":{"name":"userError(error:)","abstract":"

    The transaction was terminated by a user-thrown Error.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO13userCancelledyA2CmF":{"name":"userCancelled","abstract":"

    The transaction was cancelled by the user.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:10Foundation13CustomNSErrorP11errorDomainSSvpZ":{"name":"errorDomain","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:10Foundation13CustomNSErrorP9errorCodeSivp":{"name":"errorCode","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:10Foundation13CustomNSErrorP13errorUserInfoSDySSypGvp":{"name":"errorUserInfo","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:10Foundation26_ObjectiveCBridgeableErrorP15_bridgedNSErrorxSgSo0F0C_tcfc":{"name":"init(_bridgedNSError:)","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"CoreStoreError"},"Enums/CSErrorCode.html#/c:@M@CoreStore@E@CSErrorCode@CSErrorCodeUnknownError":{"name":"unknownError","abstract":"

    A failure occured because of an unknown error.

    ","parent_name":"CSErrorCode"},"Enums/CSErrorCode.html#/c:@M@CoreStore@E@CSErrorCode@CSErrorCodeDifferentStorageExistsAtURL":{"name":"differentStorageExistsAtURL","abstract":"

    The NSPersistentStore could note be initialized because another store existed at the specified NSURL.

    ","parent_name":"CSErrorCode"},"Enums/CSErrorCode.html#/c:@M@CoreStore@E@CSErrorCode@CSErrorCodeMappingModelNotFound":{"name":"mappingModelNotFound","abstract":"

    An NSMappingModel could not be found for a specific source and destination model versions.

    ","parent_name":"CSErrorCode"},"Enums/CSErrorCode.html#/c:@M@CoreStore@E@CSErrorCode@CSErrorCodeProgressiveMigrationRequired":{"name":"progressiveMigrationRequired","abstract":"

    Progressive migrations are disabled for a store, but an NSMappingModel could not be found for a specific source and destination model versions.

    ","parent_name":"CSErrorCode"},"Enums/CSErrorCode.html#/c:@M@CoreStore@E@CSErrorCode@CSErrorCodeInternalError":{"name":"internalError","abstract":"

    An internal SDK call failed with the specified NSError userInfo key.

    ","parent_name":"CSErrorCode"},"Enums/CSErrorCode.html#/c:@M@CoreStore@E@CSErrorCode@CSErrorCodeUserError":{"name":"userError","abstract":"

    The transaction was terminated by a user-thrown error with the specified Error userInfo key.

    ","parent_name":"CSErrorCode"},"Enums/CSErrorCode.html#/c:@M@CoreStore@E@CSErrorCode@CSErrorCodeUserCancelled":{"name":"userCancelled","abstract":"

    The transaction was cancelled by the user.

    ","parent_name":"CSErrorCode"},"Enums/CSErrorCode.html":{"name":"CSErrorCode","abstract":"

    The NSError error codes for CSError.Domain.

    "},"Enums/CoreStoreError.html":{"name":"CoreStoreError","abstract":"

    All errors thrown from CoreStore are expressed in CoreStoreError enum values.

    "},"Enums/MigrationResult.html":{"name":"MigrationResult","abstract":"

    The MigrationResult indicates the result of a migration."},"Enums/MigrationType.html":{"name":"MigrationType","abstract":"

    The MigrationType specifies the type of migration required for a store.

    "},"Enums/CSLocalStorageOptions.html":{"name":"CSLocalStorageOptions","abstract":"

    The CSLocalStorageOptions provides settings that tells the CSDataStack how to setup the persistent store for CSLocalStorage implementers.

    "},"Enums/SelectTerm.html":{"name":"SelectTerm","abstract":"

    The SelectTerm is passed to the Select clause to indicate the attributes/aggregate keys to be queried.

    "},"Enums/SetupResult.html":{"name":"SetupResult","abstract":"

    The SetupResult indicates the result of an asynchronous initialization of a persistent store."},"Enums/CoreStore.html":{"name":"CoreStore","abstract":"

    CoreStore is the main entry point for all other APIs.

    "},"Enums/CoreStoreErrorCode.html":{"name":"CoreStoreErrorCode","abstract":"

    The NSError error codes for CoreStoreErrorDomain.

    "},"Enums.html#/s:9CoreStore8LogLevelO":{"name":"LogLevel","abstract":"

    The LogLevel indicates the severity of a log message.

    "},"Enums/ValueContainer.html":{"name":"ValueContainer","abstract":"

    The containing type for value properties. Use the DynamicObject.Value typealias instead for shorter syntax.

    "},"Enums/TransformableContainer.html":{"name":"TransformableContainer","abstract":"

    The containing type for transformable properties. Use the DynamicObject.Transformable typealias instead for shorter syntax.

    "},"Enums/RelationshipContainer.html":{"name":"RelationshipContainer","abstract":"

    The containing type for relationships. Use the DynamicObject.Relationship typealias instead for shorter syntax.

    "},"Global Variables.html#/s:9CoreStore0aB11ErrorDomainSSvp":{"name":"CoreStoreErrorDomain","abstract":"

    The NSError error domain string for CSError.

    "},"Classes/XcodeSchemaMappingProvider.html#/s:9CoreStore26XcodeSchemaMappingProviderC13sourceVersionSSvp":{"name":"sourceVersion","abstract":"

    The source model version for the mapping.

    ","parent_name":"XcodeSchemaMappingProvider"},"Classes/XcodeSchemaMappingProvider.html#/s:9CoreStore26XcodeSchemaMappingProviderC18destinationVersionSSvp":{"name":"destinationVersion","abstract":"

    The destination model version for the mapping.

    ","parent_name":"XcodeSchemaMappingProvider"},"Classes/XcodeSchemaMappingProvider.html#/s:9CoreStore26XcodeSchemaMappingProviderC18mappingModelBundleSo8NSBundleCvp":{"name":"mappingModelBundle","abstract":"

    The Bundle that contains the xcmappingmodel file.

    ","parent_name":"XcodeSchemaMappingProvider"},"Classes/XcodeSchemaMappingProvider.html#/s:9CoreStore26XcodeSchemaMappingProviderC4from2to18mappingModelBundleACSS_SSSo8NSBundleCtcfc":{"name":"init(from:to:mappingModelBundle:)","abstract":"

    Creates an XcodeSchemaMappingProvider

    ","parent_name":"XcodeSchemaMappingProvider"},"Classes/XcodeSchemaMappingProvider.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"XcodeSchemaMappingProvider"},"Classes/XcodeSchemaMappingProvider.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"XcodeSchemaMappingProvider"},"Classes/XcodeSchemaMappingProvider.html#/s:9CoreStore21SchemaMappingProviderP09cs_createD5Model4from2to7storageSo09NSMappingH0C07mappingH0_AA13MigrationTypeO09migrationO0tAA07DynamicC0_p_AaN_pAA12LocalStorage_ptKF":{"name":"cs_createMappingModel(from:to:storage:)","parent_name":"XcodeSchemaMappingProvider"},"Classes/UserInfo.html#/s:9CoreStore8UserInfoCyypSgSVcip":{"name":"subscript(_:)","abstract":"

    Allows external libraries to store custom data. App code should rarely have a need for this.

    ","parent_name":"UserInfo"},"Classes/UserInfo.html#/s:9CoreStore8UserInfoC_8lazyInitypSV_ypyXEtcip":{"name":"subscript(_:lazyInit:)","abstract":"

    Allows external libraries to store custom data in the DataStack. App code should rarely have a need for this.

    ","parent_name":"UserInfo"},"Classes/InferredSchemaMappingProvider.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"InferredSchemaMappingProvider"},"Classes/InferredSchemaMappingProvider.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"InferredSchemaMappingProvider"},"Classes/InferredSchemaMappingProvider.html#/s:9CoreStore21SchemaMappingProviderP09cs_createD5Model4from2to7storageSo09NSMappingH0C07mappingH0_AA13MigrationTypeO09migrationO0tAA07DynamicC0_p_AaN_pAA12LocalStorage_ptKF":{"name":"cs_createMappingModel(from:to:storage:)","parent_name":"InferredSchemaMappingProvider"},"Classes/DynamicEntity.html#/s:9CoreStore13DynamicEntityC4typeAA0C6Object_pXpvp":{"name":"type","abstract":"

    Do not use directly.

    ","parent_name":"DynamicEntity"},"Classes/DynamicEntity.html#/s:9CoreStore13DynamicEntityC10entityNameSSvp":{"name":"entityName","abstract":"

    Do not use directly.

    ","parent_name":"DynamicEntity"},"Classes/DynamicEntity.html#/s:9CoreStore13DynamicEntityC10isAbstractSbvp":{"name":"isAbstract","abstract":"

    Do not use directly.

    ","parent_name":"DynamicEntity"},"Classes/DynamicEntity.html#/s:9CoreStore13DynamicEntityC19versionHashModifierSSSgvp":{"name":"versionHashModifier","abstract":"

    Do not use directly.

    ","parent_name":"DynamicEntity"},"Classes/DynamicEntity.html#/s:9CoreStore13DynamicEntityC7indexesSaySaySSGGvp":{"name":"indexes","abstract":"

    Do not use directly.

    ","parent_name":"DynamicEntity"},"Classes/DynamicEntity.html#/s:9CoreStore13DynamicEntityC17uniqueConstraintsSaySaySSGGvp":{"name":"uniqueConstraints","abstract":"

    Do not use directly.

    ","parent_name":"DynamicEntity"},"Classes/DynamicEntity.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"DynamicEntity"},"Classes/DynamicEntity.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"DynamicEntity"},"Classes/DefaultLogger.html#/s:9CoreStore13DefaultLoggerCACycfc":{"name":"init()","abstract":"

    Creates a DefaultLogger.

    ","parent_name":"DefaultLogger"},"Classes/DefaultLogger.html#/s:9CoreStore13DefaultLoggerC3log5level7message8fileName10lineNumber08functionI0yAA8LogLevelO_SSs12StaticStringVSiAMtF":{"name":"log(level:message:fileName:lineNumber:functionName:)","abstract":"

    Handles log messages sent by the CoreStore framework.

    ","parent_name":"DefaultLogger"},"Classes/DefaultLogger.html#/s:9CoreStore13DefaultLoggerC3log5error7message8fileName10lineNumber08functionI0yAA0aB5ErrorO_SSs12StaticStringVSiAMtF":{"name":"log(error:message:fileName:lineNumber:functionName:)","abstract":"

    Handles errors sent by the CoreStore framework.

    ","parent_name":"DefaultLogger"},"Classes/DefaultLogger.html#/s:9CoreStore13DefaultLoggerC6assert_7message8fileName10lineNumber08functionH0ySbyXK_SSyXKs12StaticStringVSiAJtF":{"name":"assert(_:message:fileName:lineNumber:functionName:)","abstract":"

    Handles assertions made throughout the CoreStore framework.

    ","parent_name":"DefaultLogger"},"Classes/DefaultLogger.html#/s:9CoreStore13DefaultLoggerC5abort_8fileName10lineNumber08functionG0ySS_s12StaticStringVSiAItF":{"name":"abort(_:fileName:lineNumber:functionName:)","abstract":"

    Handles fatal errors made throughout the CoreStore framework.

    ","parent_name":"DefaultLogger"},"Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html#/s:9CoreStore27CustomSchemaMappingProviderC23UnsafeDestinationObjectCyypSgSScip":{"name":"subscript(_:)","abstract":"

    Accesses or mutates the property value via its keyPath.

    ","parent_name":"UnsafeDestinationObject"},"Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html#/s:9CoreStore27CustomSchemaMappingProviderC23UnsafeDestinationObjectCyypSgSo22NSAttributeDescriptionCcip":{"name":"subscript(_:)","abstract":"

    Accesses or mutates the property value via its NSAttributeDescription, which can be accessed from the enumerateAttributes(_:) method.

    ","parent_name":"UnsafeDestinationObject"},"Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html#/s:9CoreStore27CustomSchemaMappingProviderC23UnsafeDestinationObjectC19enumerateAttributesyyySo22NSAttributeDescriptionC_AHSgtXEF":{"name":"enumerateAttributes(_:)","abstract":"

    Enumerates the all NSAttributeDescriptions. The attribute argument can be used as the subscript key to access and mutate the property. The sourceAttribute can be used to access properties from the source UnsafeSourceObject.

    ","parent_name":"UnsafeDestinationObject"},"Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html#/s:9CoreStore27CustomSchemaMappingProviderC18UnsafeSourceObjectCyypSgSScip":{"name":"subscript(_:)","abstract":"

    Accesses the property value via its keyPath.

    ","parent_name":"UnsafeSourceObject"},"Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html#/s:9CoreStore27CustomSchemaMappingProviderC18UnsafeSourceObjectCyypSgSo22NSAttributeDescriptionCcip":{"name":"subscript(_:)","abstract":"

    Accesses the property value via its NSAttributeDescription, which can be accessed from the enumerateAttributes(_:) method.

    ","parent_name":"UnsafeSourceObject"},"Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html#/s:9CoreStore27CustomSchemaMappingProviderC18UnsafeSourceObjectC19enumerateAttributesyyySo22NSAttributeDescriptionCXEF":{"name":"enumerateAttributes(_:)","abstract":"

    Enumerates the all NSAttributeDescriptions. The attribute argument can be used as the subscript key to access the property.

    ","parent_name":"UnsafeSourceObject"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:9CoreStore27CustomSchemaMappingProviderC0cE0O12deleteEntityyAESS_tcAEmF":{"name":"deleteEntity(sourceEntity:)","abstract":"

    The sourceEntity is meant to be removed from the source DynamicSchema and should not be migrated to the destination DynamicSchema.

    ","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:9CoreStore27CustomSchemaMappingProviderC0cE0O12insertEntityyAESS_tcAEmF":{"name":"insertEntity(destinationEntity:)","abstract":"

    The destinationEntity is newly added to the destination DynamicSchema and has no mapping from the source DynamicSchema.

    ","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:9CoreStore27CustomSchemaMappingProviderC0cE0O10copyEntityyAESS_SStcAEmF":{"name":"copyEntity(sourceEntity:destinationEntity:)","abstract":"

    The DynamicSchemas entity has no changes and can be copied directly from sourceEntity to destinationEntity.

    ","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:9CoreStore27CustomSchemaMappingProviderC0cE0O15transformEntityyAESS_SSyAC18UnsafeSourceObjectC_AC0i11DestinationK0CyXEtKctcAEmF":{"name":"transformEntity(sourceEntity:destinationEntity:transformer:)","abstract":"

    The DynamicSchemas entity needs transformations from sourceEntity to destinationEntity. The transformer closure will be used to apply the changes. The CustomMapping.inferredTransformation method can be used directly as the transformer if the changes can be inferred (i.e. lightweight).

    ","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:9CoreStore27CustomSchemaMappingProviderC0cE0O11Transformera":{"name":"Transformer","abstract":"

    The closure type for CustomMapping.transformEntity.

    ","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:9CoreStore27CustomSchemaMappingProviderC0cE0O22inferredTransformationyyAC18UnsafeSourceObjectC_AC0i11DestinationK0CyXEtKFZ":{"name":"inferredTransformation(_:_:)","abstract":"

    The CustomMapping.inferredTransformation method can be used directly as the transformer if the changes can be inferred (i.e. lightweight).

    ","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider.html#/s:9CoreStore27CustomSchemaMappingProviderC13sourceVersionSSvp":{"name":"sourceVersion","abstract":"

    The source model version for the mapping.

    ","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider.html#/s:9CoreStore27CustomSchemaMappingProviderC18destinationVersionSSvp":{"name":"destinationVersion","abstract":"

    The destination model version for the mapping.

    ","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider.html#/s:9CoreStore27CustomSchemaMappingProviderC4from2to14entityMappingsACSS_SSShyAC0cE0OGtcfc":{"name":"init(from:to:entityMappings:)","abstract":"

    Creates a CustomSchemaMappingProvider

    ","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider/CustomMapping.html":{"name":"CustomMapping","abstract":"

    Provides the type of mapping for an entity. Mappings of entities with no CustomMapping provided will be automatically calculated if possible. Any conflicts or ambiguity will raise an assertion.

    ","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html":{"name":"UnsafeSourceObject","abstract":"

    The read-only proxy object used for the source object in a mapping’s Transformer closure. Properties can be accessed either by keyPath string or by NSAttributeDescription.

    ","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html":{"name":"UnsafeDestinationObject","abstract":"

    The read-write proxy object used for the destination object that can be created in a mapping’s Transformer closure. Properties can be accessed and mutated either through keyPath string or by NSAttributeDescription.

    ","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider.html#/s:9CoreStore21SchemaMappingProviderP09cs_createD5Model4from2to7storageSo09NSMappingH0C07mappingH0_AA13MigrationTypeO09migrationO0tAA07DynamicC0_p_AaN_pAA12LocalStorage_ptKF":{"name":"cs_createMappingModel(from:to:storage:)","parent_name":"CustomSchemaMappingProvider"},"Classes/CoreStoreObjectOrderedDiff.html#/s:9CoreStore0aB17ObjectOrderedDiffC4kindSo16NSKeyValueChangeVvp":{"name":"kind","abstract":"

    Indicates the kind of change. See the comments for NSObject.observeValue(forKeyPath:of:change:context:) for more information.

    ","parent_name":"CoreStoreObjectOrderedDiff"},"Classes/CoreStoreObjectOrderedDiff.html#/s:9CoreStore0aB17ObjectOrderedDiffC8newValueSayxGvp":{"name":"newValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectOrderedDiff"},"Classes/CoreStoreObjectOrderedDiff.html#/s:9CoreStore0aB17ObjectOrderedDiffC8oldValueSayxGvp":{"name":"oldValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectOrderedDiff"},"Classes/CoreStoreObjectOrderedDiff.html#/s:9CoreStore0aB17ObjectOrderedDiffC7indexes10Foundation8IndexSetVvp":{"name":"indexes","abstract":"

    indexes will be nil unless the observed KeyPath refers to an ordered to-many property

    ","parent_name":"CoreStoreObjectOrderedDiff"},"Classes/CoreStoreObjectOrderedDiff.html#/s:9CoreStore0aB17ObjectOrderedDiffC7isPriorSbvp":{"name":"isPrior","abstract":"

    ‘isPrior’ will be true if this change observation is being sent before the change happens, due to .prior being passed to observe()

    ","parent_name":"CoreStoreObjectOrderedDiff"},"Classes/CoreStoreObjectUnorderedDiff.html#/s:9CoreStore0aB19ObjectUnorderedDiffC4kindSo16NSKeyValueChangeVvp":{"name":"kind","abstract":"

    Indicates the kind of change. See the comments for NSObject.observeValue(forKeyPath:of:change:context:) for more information.

    ","parent_name":"CoreStoreObjectUnorderedDiff"},"Classes/CoreStoreObjectUnorderedDiff.html#/s:9CoreStore0aB19ObjectUnorderedDiffC8newValueShyxGvp":{"name":"newValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectUnorderedDiff"},"Classes/CoreStoreObjectUnorderedDiff.html#/s:9CoreStore0aB19ObjectUnorderedDiffC8oldValueShyxGvp":{"name":"oldValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectUnorderedDiff"},"Classes/CoreStoreObjectUnorderedDiff.html#/s:9CoreStore0aB19ObjectUnorderedDiffC7isPriorSbvp":{"name":"isPrior","abstract":"

    ‘isPrior’ will be true if this change observation is being sent before the change happens, due to .prior being passed to observe()

    ","parent_name":"CoreStoreObjectUnorderedDiff"},"Classes/CoreStoreObjectObjectDiff.html#/s:9CoreStore0ab6ObjectC4DiffC4kindSo16NSKeyValueChangeVvp":{"name":"kind","abstract":"

    Indicates the kind of change. See the comments for NSObject.observeValue(forKeyPath:of:change:context:) for more information.

    ","parent_name":"CoreStoreObjectObjectDiff"},"Classes/CoreStoreObjectObjectDiff.html#/s:9CoreStore0ab6ObjectC4DiffC8newValuexSgvp":{"name":"newValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectObjectDiff"},"Classes/CoreStoreObjectObjectDiff.html#/s:9CoreStore0ab6ObjectC4DiffC8oldValuexSgvp":{"name":"oldValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectObjectDiff"},"Classes/CoreStoreObjectObjectDiff.html#/s:9CoreStore0ab6ObjectC4DiffC7isPriorSbvp":{"name":"isPrior","abstract":"

    ‘isPrior’ will be true if this change observation is being sent before the change happens, due to .prior being passed to observe()

    ","parent_name":"CoreStoreObjectObjectDiff"},"Classes/CoreStoreObjectTransformableDiff.html#/s:9CoreStore0aB23ObjectTransformableDiffC4kindSo16NSKeyValueChangeVvp":{"name":"kind","abstract":"

    Indicates the kind of change. See the comments for NSObject.observeValue(forKeyPath:of:change:context:) for more information.

    ","parent_name":"CoreStoreObjectTransformableDiff"},"Classes/CoreStoreObjectTransformableDiff.html#/s:9CoreStore0aB23ObjectTransformableDiffC8newValuexSgvp":{"name":"newValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectTransformableDiff"},"Classes/CoreStoreObjectTransformableDiff.html#/s:9CoreStore0aB23ObjectTransformableDiffC8oldValuexSgvp":{"name":"oldValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectTransformableDiff"},"Classes/CoreStoreObjectTransformableDiff.html#/s:9CoreStore0aB23ObjectTransformableDiffC7isPriorSbvp":{"name":"isPrior","abstract":"

    ‘isPrior’ will be true if this change observation is being sent before the change happens, due to .prior being passed to observe()

    ","parent_name":"CoreStoreObjectTransformableDiff"},"Classes/CoreStoreObjectValueDiff.html#/s:9CoreStore0aB15ObjectValueDiffC4kindSo05NSKeyD6ChangeVvp":{"name":"kind","abstract":"

    Indicates the kind of change. See the comments for NSObject.observeValue(forKeyPath:of:change:context:) for more information.

    ","parent_name":"CoreStoreObjectValueDiff"},"Classes/CoreStoreObjectValueDiff.html#/s:9CoreStore0aB15ObjectValueDiffC03newD0xSgvp":{"name":"newValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). newValue will be nil if isPrior is true.

    ","parent_name":"CoreStoreObjectValueDiff"},"Classes/CoreStoreObjectValueDiff.html#/s:9CoreStore0aB15ObjectValueDiffC03oldD0xSgvp":{"name":"oldValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe().

    ","parent_name":"CoreStoreObjectValueDiff"},"Classes/CoreStoreObjectValueDiff.html#/s:9CoreStore0aB15ObjectValueDiffC7isPriorSbvp":{"name":"isPrior","abstract":"

    ‘isPrior’ will be true if this change observation is being sent before the change happens, due to .prior being passed to observe()

    ","parent_name":"CoreStoreObjectValueDiff"},"Classes/SchemaHistory.html#/s:9CoreStore13SchemaHistoryC19currentModelVersionSSvp":{"name":"currentModelVersion","abstract":"

    The version string for the current model version. The DataStack will try to migrate all StorageInterfaces added to itself to this version, following the version steps provided by the migrationChain.

    ","parent_name":"SchemaHistory"},"Classes/SchemaHistory.html#/s:9CoreStore13SchemaHistoryC07currentC0AA07DynamicC0_pvp":{"name":"currentSchema","abstract":"

    The schema for the current model version. The DataStack will try to migrate all StorageInterfaces added to itself to this version, following the version steps provided by the migrationChain.

    ","parent_name":"SchemaHistory"},"Classes/SchemaHistory.html#/s:9CoreStore13SchemaHistoryC14migrationChainAA09MigrationF0Vvp":{"name":"migrationChain","abstract":"

    The version string for the current model version. The DataStack will try to migrate all StorageInterfaces added to itself to this version, following the version steps provided by the migrationChain.

    ","parent_name":"SchemaHistory"},"Classes/SchemaHistory.html#/s:9CoreStore13SchemaHistoryC_14migrationChainACSayAA014XcodeDataModelC0CG03allC0_SS07currentI7Versiont_AA09MigrationF0Vtcfc":{"name":"init(_:migrationChain:)","abstract":"

    Convenience initializer for a SchemaHistory created from a single xcdatamodeld file.

    ","parent_name":"SchemaHistory"},"Classes/SchemaHistory.html#/s:9CoreStore13SchemaHistoryC__14migrationChain24exactCurrentModelVersionAcA07DynamicC0_p_AaF_pdAA09MigrationF0VSSSgtcfc":{"name":"init(_:_:migrationChain:exactCurrentModelVersion:)","abstract":"

    Initializes a SchemaHistory with a list of DynamicSchema and a MigrationChain to describe the order of progressive migrations.

    ","parent_name":"SchemaHistory"},"Classes/SchemaHistory.html#/s:9CoreStore13SchemaHistoryC03allC014migrationChain24exactCurrentModelVersionACSayAA07DynamicC0_pG_AA09MigrationG0VSSSgtcfc":{"name":"init(allSchema:migrationChain:exactCurrentModelVersion:)","abstract":"

    Initializes a SchemaHistory with a list of DynamicSchema and a MigrationChain to describe the order of progressive migrations.

    ","parent_name":"SchemaHistory"},"Classes/SchemaHistory.html#/s:s25ExpressibleByArrayLiteralP05arrayD0x0cD7ElementQzd_tcfc":{"name":"init(arrayLiteral:)","parent_name":"SchemaHistory"},"Classes/SchemaHistory.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"SchemaHistory"},"Classes/ObjectMonitor.html#/s:9CoreStore13ObjectMonitorC0C4Typea":{"name":"ObjectType","abstract":"

    The type for the object contained by the ObjectMonitor

    ","parent_name":"ObjectMonitor"},"Classes/ObjectMonitor.html#/s:9CoreStore13ObjectMonitorC6objectxSgvp":{"name":"object","abstract":"

    Returns the DynamicObject instance being observed, or nil if the object was already deleted.

    ","parent_name":"ObjectMonitor"},"Classes/ObjectMonitor.html#/s:9CoreStore13ObjectMonitorC02isC7DeletedSbvp":{"name":"isObjectDeleted","abstract":"

    Returns true if the DynamicObject instance being observed still exists, or false if the object was already deleted.

    ","parent_name":"ObjectMonitor"},"Classes/ObjectMonitor.html#/s:9CoreStore13ObjectMonitorC11addObserveryyqd__0C10EntityTypeQyd__RszAA0cF0Rd__lF":{"name":"addObserver(_:)","abstract":"

    Registers an ObjectObserver to be notified when changes to the receiver’s object are made.

    ","parent_name":"ObjectMonitor"},"Classes/ObjectMonitor.html#/s:9CoreStore13ObjectMonitorC14removeObserveryyqd__0C10EntityTypeQyd__RszAA0cF0Rd__lF":{"name":"removeObserver(_:)","abstract":"

    Unregisters an ObjectObserver from receiving notifications for changes to the receiver’s object.

    ","parent_name":"ObjectMonitor"},"Classes/ObjectMonitor.html#/s:9CoreStore13ObjectMonitorC8userInfoAA04UserF0Cvp":{"name":"userInfo","abstract":"

    Allow external libraries to store custom data in the ObjectMonitor. App code should rarely have a need for this.

    ","parent_name":"ObjectMonitor"},"Classes/ObjectMonitor.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"ObjectMonitor"},"Classes/ObjectMonitor.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"ObjectMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC10ObjectTypea":{"name":"ObjectType","abstract":"

    The type for the objects contained bye the ListMonitor

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCyxSicip":{"name":"subscript(_:)","abstract":"

    Returns the object at the given index within the first section. This subscript indexer is typically used for ListMonitors created with monitorList(_:).

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC9safeIndexxSgSi_tcip":{"name":"subscript(safeIndex:)","abstract":"

    Returns the object at the given index, or nil if out of bounds. This subscript indexer is typically used for ListMonitors created with monitorList(_:).

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCyxSi_Sitcip":{"name":"subscript(_:_:)","abstract":"

    Returns the object at the given sectionIndex and itemIndex. This subscript indexer is typically used for ListMonitors created with monitorSectionedList(_:).

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC16safeSectionIndex0e4ItemG0xSgSi_Sitcip":{"name":"subscript(safeSectionIndex:safeItemIndex:)","abstract":"

    Returns the object at the given section and item index, or nil if out of bounds. This subscript indexer is typically used for ListMonitors created with monitorSectionedList(_:).

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCyx10Foundation9IndexPathVcip":{"name":"subscript(_:)","abstract":"

    Returns the object at the given IndexPath. This subscript indexer is typically used for ListMonitors created with monitorSectionedList(_:).

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC13safeIndexPathxSg10Foundation0fG0V_tcip":{"name":"subscript(safeIndexPath:)","abstract":"

    Returns the object at the given IndexPath, or nil if out of bounds. This subscript indexer is typically used for ListMonitors created with monitorSectionedList(_:).

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC11hasSectionsSbyF":{"name":"hasSections()","abstract":"

    Checks if the ListMonitor has at least one section

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC10hasObjectsSbyF":{"name":"hasObjects()","abstract":"

    Checks if the ListMonitor has at least one object in any section.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC19hasObjectsInSectionySbSiF":{"name":"hasObjectsInSection(_:)","abstract":"

    Checks if the ListMonitor has at least one object the specified section.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC16numberOfSectionsSiyF":{"name":"numberOfSections()","abstract":"

    Returns the number of sections

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC15numberOfObjectsSiyF":{"name":"numberOfObjects()","abstract":"

    Returns the number of objects in all sections

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC24numberOfObjectsInSectionyS2iF":{"name":"numberOfObjectsInSection(_:)","abstract":"

    Returns the number of objects in the specified section

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC24numberOfObjectsInSection04safeI5IndexSiSgSi_tF":{"name":"numberOfObjectsInSection(safeSectionIndex:)","abstract":"

    Returns the number of objects in the specified section, or nil if out of bounds.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC18sectionInfoAtIndexySo023NSFetchedResultsSectionF0_pSiF":{"name":"sectionInfoAtIndex(_:)","abstract":"

    Returns the NSFetchedResultsSectionInfo for the specified section

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC18sectionInfoAtIndex011safeSectionH0So016NSFetchedResultsjF0_pSgSi_tF":{"name":"sectionInfoAtIndex(safeSectionIndex:)","abstract":"

    Returns the NSFetchedResultsSectionInfo for the specified section, or nil if out of bounds.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC8sectionsSaySo27NSFetchedResultsSectionInfo_pGyF":{"name":"sections()","abstract":"

    Returns the NSFetchedResultsSectionInfos for all sections

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC016targetSectionForF5Index5title5indexSiSS_SitF":{"name":"targetSectionForSectionIndex(title:index:)","abstract":"

    Returns the target section for a specified Section Index title and index.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC18sectionIndexTitlesSaySSGyF":{"name":"sectionIndexTitles()","abstract":"

    Returns the section index titles for all sections

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC7indexOfySiSgxF":{"name":"indexOf(_:)","abstract":"

    Returns the index of the DynamicObject if it exists in the ListMonitor‘s fetched objects, or nil if not found.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC11indexPathOfy10Foundation05IndexF0VSgxF":{"name":"indexPathOf(_:)","abstract":"

    Returns the IndexPath of the DynamicObject if it exists in the ListMonitor‘s fetched objects, or nil if not found.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC11addObserveryyqd__0C10EntityTypeQyd__RszAA0cF0Rd__lF":{"name":"addObserver(_:)","abstract":"

    Registers a ListObserver to be notified when changes to the receiver’s list occur.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC11addObserveryyqd__0C10EntityTypeQyd__RszAA0c6ObjectF0Rd__lF":{"name":"addObserver(_:)","abstract":"

    Registers a ListObjectObserver to be notified when changes to the receiver’s list occur.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC11addObserveryyqd__0C10EntityTypeQyd__RszAA0c7SectionF0Rd__lF":{"name":"addObserver(_:)","abstract":"

    Registers a ListSectionObserver to be notified when changes to the receiver’s list occur.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC14removeObserveryyqd__0C10EntityTypeQyd__RszAA0cF0Rd__lF":{"name":"removeObserver(_:)","abstract":"

    Unregisters a ListObserver from receiving notifications for changes to the receiver’s list.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC16isPendingRefetchSbvp":{"name":"isPendingRefetch","abstract":"

    Returns true if a call to refetch(...) was made to the ListMonitor and is currently waiting for the fetching to complete. Returns false otherwise.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC7refetchyyAA11FetchClause_pd_tF":{"name":"refetch(_:)","abstract":"

    Asks the ListMonitor to refetch its objects using the specified series of FetchClauses. Note that this method does not execute the fetch immediately; the actual fetching will happen after the NSFetchedResultsController‘s last controllerDidChangeContent(_:) notification completes.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC7refetchyySayAA11FetchClause_pGF":{"name":"refetch(_:)","abstract":"

    Asks the ListMonitor to refetch its objects using the specified series of FetchClauses. Note that this method does not execute the fetch immediately; the actual fetching will happen after the NSFetchedResultsController‘s last controllerDidChangeContent(_:) notification completes.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC8userInfoAA04UserF0Cvp":{"name":"userInfo","abstract":"

    Allow external libraries to store custom data in the ListMonitor. App code should rarely have a need for this.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCAASo15NSManagedObjectCRbzrlE20objectsInAllSectionsSayxGyF":{"name":"objectsInAllSections()","abstract":"

    Returns all objects in all sections

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCAASo15NSManagedObjectCRbzrlE16objectsInSectionySayxGSiF":{"name":"objectsInSection(_:)","abstract":"

    Returns all objects in the specified section

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCAASo15NSManagedObjectCRbzrlE16objectsInSection04safeI5IndexSayxGSgSi_tF":{"name":"objectsInSection(safeSectionIndex:)","abstract":"

    Returns all objects in the specified section, or nil if out of bounds.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCA2A0aB6ObjectCRbzrlE20objectsInAllSectionsSayxGyF":{"name":"objectsInAllSections()","abstract":"

    Returns all objects in all sections

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCA2A0aB6ObjectCRbzrlE16objectsInSectionySayxGSiF":{"name":"objectsInSection(_:)","abstract":"

    Returns all objects in the specified section

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCA2A0aB6ObjectCRbzrlE16objectsInSection04safeH5IndexSayxGSgSi_tF":{"name":"objectsInSection(safeSectionIndex:)","abstract":"

    Returns all objects in the specified section, or nil if out of bounds.

    ","parent_name":"ListMonitor"},"Classes/ICloudStore.html#/s:9CoreStore06ICloudB0C21ubiquitousContentName0dE27TransactionLogsSubdirectory0D11ContainerID0D9PeerToken13configuration19cloudStorageOptionsACSgSS_S2SSgA2kA05CloudpQ0Vtcfc":{"name":"init(ubiquitousContentName:ubiquitousContentTransactionLogsSubdirectory:ubiquitousContainerID:ubiquitousPeerToken:configuration:cloudStorageOptions:)","abstract":"

    Initializes an iCloud store interface from the given ubiquitous store information. Returns nil if the container could not be located or if iCloud storage is unavailable for the current user or device

    ","parent_name":"ICloudStore"},"Classes/ICloudStore.html#/s:9CoreStore06ICloudB0C11addObserveryyxAA0cbE0RzlF":{"name":"addObserver(_:)","abstract":"

    Registers an ICloudStoreObserver to start receive notifications from the ubiquitous store

    ","parent_name":"ICloudStore"},"Classes/ICloudStore.html#/s:9CoreStore06ICloudB0C14removeObserveryyAA0cbE0_pF":{"name":"removeObserver(_:)","abstract":"

    Unregisters an ICloudStoreObserver to stop receiving notifications from the ubiquitous store

    ","parent_name":"ICloudStore"},"Classes/ICloudStore.html#/s:9CoreStore06ICloudB0C9storeTypeSSvpZ":{"name":"storeType","abstract":"

    The string identifier for the NSPersistentStore‘s type property. For SQLiteStores, this is always set to NSSQLiteStoreType.

    ","parent_name":"ICloudStore"},"Classes/ICloudStore.html#/s:9CoreStore06ICloudB0C13configurationSSSgvp":{"name":"configuration","abstract":"

    The configuration name in the model file

    ","parent_name":"ICloudStore"},"Classes/ICloudStore.html#/s:9CoreStore06ICloudB0C12storeOptionsSDys11AnyHashableVypGSgvp":{"name":"storeOptions","abstract":"

    The options dictionary for the NSPersistentStore. For SQLiteStores, this is always set to

    ","parent_name":"ICloudStore"},"Classes/ICloudStore.html#/s:9CoreStore06ICloudB0C20cs_didAddToDataStackyyAA0hI0CF":{"name":"cs_didAddToDataStack(_:)","abstract":"

    Do not call directly. Used by the DataStack internally.

    ","parent_name":"ICloudStore"},"Classes/ICloudStore.html#/s:9CoreStore06ICloudB0C25cs_didRemoveFromDataStackyyAA0hI0CF":{"name":"cs_didRemoveFromDataStack(_:)","abstract":"

    Do not call directly. Used by the DataStack internally.

    ","parent_name":"ICloudStore"},"Classes/ICloudStore.html#/s:9CoreStore06ICloudB0C12cacheFileURL10Foundation0F0Vvp":{"name":"cacheFileURL","abstract":"

    The NSURL that points to the ubiquity container file

    ","parent_name":"ICloudStore"},"Classes/ICloudStore.html#/s:9CoreStore06ICloudB0C19cloudStorageOptionsAA05CloudeF0Vvp":{"name":"cloudStorageOptions","abstract":"

    Options that tell the DataStack how to setup the persistent store

    ","parent_name":"ICloudStore"},"Classes/ICloudStore.html#/s:9CoreStore06ICloudB0C10dictionary10forOptionsSDys11AnyHashableVypGSgAA012CloudStorageF0V_tF":{"name":"dictionary(forOptions:)","abstract":"

    The options dictionary for the specified CloudStorageOptions

    ","parent_name":"ICloudStore"},"Classes/ICloudStore.html#/s:9CoreStore06ICloudB0C22cs_eraseStorageAndWait10soureModelySo015NSManagedObjectJ0C_tKF":{"name":"cs_eraseStorageAndWait(soureModel:)","abstract":"

    Called by the DataStack to perform actual deletion of the store file from disk. Do not call directly! The sourceModel argument is a hint for the existing store’s model version. For SQLiteStore, this converts the database’s WAL journaling mode to DELETE before deleting the file.

    ","parent_name":"ICloudStore"},"Classes/ICloudStore.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"ICloudStore"},"Classes/Entity.html#/s:9CoreStore6EntityC_10isAbstract19versionHashModifier7indexes17uniqueConstraintsACyxGSS_SbSSSgSaySays14PartialKeyPathCyxGGGANtcfc":{"name":"init(_:isAbstract:versionHashModifier:indexes:uniqueConstraints:)","abstract":"

    Initializes an Entity. Always provide a concrete generic type to Entity.

    ","parent_name":"Entity"},"Classes/Entity.html#/s:9CoreStore6EntityC__10isAbstract19versionHashModifier7indexes17uniqueConstraintsACyxGxm_SSSbSSSgSaySays14PartialKeyPathCyxGGGANtcfc":{"name":"init(_:_:isAbstract:versionHashModifier:indexes:uniqueConstraints:)","abstract":"

    Initializes an Entity.

    ","parent_name":"Entity"},"Classes/Entity.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"Entity"},"Classes/CoreStoreSchema.html#/s:9CoreStore0aB6SchemaC12modelVersion8entities11versionLockACSS_SayAA13DynamicEntityCGAA0eH0VSgtcfc":{"name":"init(modelVersion:entities:versionLock:)","abstract":"

    Initializes a CoreStoreSchema. Using this initializer only if the entities don’t need to be assigned to particular Configurations. To use multiple configurations (for example, to separate entities in different StorageInterfaces), use the init(modelVersion:entitiesByConfiguration:versionLock:) initializer.

    ","parent_name":"CoreStoreSchema"},"Classes/CoreStoreSchema.html#/s:9CoreStore0aB6SchemaC12modelVersion20entityConfigurations11versionLockACSS_SDyAA13DynamicEntityCShySSGGAA0eI0VSgtcfc":{"name":"init(modelVersion:entityConfigurations:versionLock:)","abstract":"

    Initializes a CoreStoreSchema. Using this initializer if multiple Configurations (for example, to separate entities in different StorageInterfaces) are needed. To add an entity only to the default configuration, assign an empty set to its configurations list. Note that regardless of the set configurations, all entities will be added to the default configuration.

    ","parent_name":"CoreStoreSchema"},"Classes/CoreStoreSchema.html#/s:9CoreStore13DynamicSchemaP12modelVersionSSvp":{"name":"modelVersion","parent_name":"CoreStoreSchema"},"Classes/CoreStoreSchema.html#/s:9CoreStore13DynamicSchemaP8rawModelSo015NSManagedObjectF0CyF":{"name":"rawModel()","parent_name":"CoreStoreSchema"},"Classes/CoreStoreSchema.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"CoreStoreSchema"},"Classes/CoreStoreObject.html#/s:9CoreStore0aB6ObjectC03rawC0ACSo09NSManagedC0C_tcfc":{"name":"init(rawObject:)","abstract":"

    Do not call this directly. This is exposed as public only as a required initializer.

    ","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore0aB6ObjectC6asMetaACyt_tcfc":{"name":"init(asMeta:)","abstract":"

    Do not call this directly. This is exposed as public only as a required initializer.

    ","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore0aB6ObjectC11fetchSourceAA09FetchableE0_pSgyF":{"name":"fetchSource()","abstract":"

    Exposes a FetchableSource that can fetch sibling objects of this CoreStoreObject instance. This may be the DataStack, a BaseDataTransaction, the NSManagedObjectContext itself, or nil if the obejct’s parent is already deallocated.

    ","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore0aB6ObjectC11querySourceAA09QueryableE0_pSgyF":{"name":"querySource()","abstract":"

    Exposes a QueryableSource that can query attributes and aggregate values. This may be the DataStack, a BaseDataTransaction, the NSManagedObjectContext itself, or nil if the obejct’s parent is already deallocated.

    ","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore0aB6ObjectC14refreshAsFaultyyF":{"name":"refreshAsFault()","abstract":"

    Re-faults the object to use the latest values from the persistent store

    ","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore0aB6ObjectC15refreshAndMergeyyF":{"name":"refreshAndMerge()","abstract":"

    Re-faults the object to use the latest values from the persistent store and merges previously pending changes back

    ","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore13DynamicObjectP14cs_forceCreate17entityDescription4into8assignToxSo08NSEntityI0C_So09NSManagedD7ContextCSo012NSPersistentB0CtFZ":{"name":"cs_forceCreate(entityDescription:into:assignTo:)","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore13DynamicObjectP10cs_fromRaw6objectxSo09NSManagedD0C_tFZ":{"name":"cs_fromRaw(object:)","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore13DynamicObjectP10cs_matches6objectSbSo09NSManagedD0C_tFZ":{"name":"cs_matches(object:)","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore13DynamicObjectP5cs_idSo09NSManagedD2IDCyF":{"name":"cs_id()","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore13DynamicObjectP8cs_toRawSo09NSManagedD0CyF":{"name":"cs_toRaw()","parent_name":"CoreStoreObject"},"Classes/XcodeDataModelSchema.html#/s:9CoreStore20XcodeDataModelSchemaC4from9modelName6bundle14migrationChainSayACG03allF0_SS07currentE7VersiontSS_So8NSBundleCAA09MigrationL0VtFZ":{"name":"from(modelName:bundle:migrationChain:)","abstract":"

    Creates a XcodeDataModelSchema for each of the models declared in the specified (.xcdatamodeld) model file.

    ","parent_name":"XcodeDataModelSchema"},"Classes/XcodeDataModelSchema.html#/s:9CoreStore20XcodeDataModelSchemaC9modelName6bundleACSS_So8NSBundleCtcfc":{"name":"init(modelName:bundle:)","abstract":"

    Initializes an XcodeDataModelSchema from an *.xcdatamodeld version name and its containing Bundle.

    ","parent_name":"XcodeDataModelSchema"},"Classes/XcodeDataModelSchema.html#/s:9CoreStore20XcodeDataModelSchemaC9modelName0G14VersionFileURLACSS_10Foundation0K0Vtcfc":{"name":"init(modelName:modelVersionFileURL:)","abstract":"

    Initializes an XcodeDataModelSchema from an *.xcdatamodeld file URL.

    ","parent_name":"XcodeDataModelSchema"},"Classes/XcodeDataModelSchema.html#/s:9CoreStore13DynamicSchemaP12modelVersionSSvp":{"name":"modelVersion","parent_name":"XcodeDataModelSchema"},"Classes/XcodeDataModelSchema.html#/s:9CoreStore13DynamicSchemaP8rawModelSo015NSManagedObjectF0CyF":{"name":"rawModel()","parent_name":"XcodeDataModelSchema"},"Classes/XcodeDataModelSchema.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"XcodeDataModelSchema"},"Classes/XcodeDataModelSchema.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"XcodeDataModelSchema"},"Classes/CSXcodeDataModelSchema.html#/c:@M@CoreStore@objc(cs)CSXcodeDataModelSchema(im)initWithModelName:modelVersionFileURL:":{"name":"init(modelName:modelVersionFileURL:)","abstract":"

    Initializes an CSXcodeDataModelSchema from an *.xcdatamodeld file URL.

    ","parent_name":"CSXcodeDataModelSchema"},"Classes/CSXcodeDataModelSchema.html#/c:@M@CoreStore@objc(pl)CSDynamicSchema(py)modelVersion":{"name":"modelVersion","parent_name":"CSXcodeDataModelSchema"},"Classes/CSXcodeDataModelSchema.html#/c:@M@CoreStore@objc(pl)CSDynamicSchema(im)rawModel":{"name":"rawModel()","parent_name":"CSXcodeDataModelSchema"},"Classes/CSXcodeDataModelSchema.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSXcodeDataModelSchema"},"Classes/CSXcodeDataModelSchema.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSXcodeDataModelSchema"},"Classes/CSWhere.html#/c:@M@CoreStore@objc(cs)CSWhere(py)predicate":{"name":"predicate","abstract":"

    The internal NSPredicate instance for the Where clause

    ","parent_name":"CSWhere"},"Classes/CSWhere.html#/c:@M@CoreStore@objc(cs)CSWhere(im)initWithValue:":{"name":"init(value:)","abstract":"

    Initializes a CSWhere clause with a predicate that always evaluates to the specified boolean value

    ","parent_name":"CSWhere"},"Classes/CSWhere.html#/c:@M@CoreStore@objc(cs)CSWhere(im)initWithFormat:argumentArray:":{"name":"init(format:argumentArray:)","abstract":"

    Initializes a CSWhere clause with a predicate using the specified string format and arguments

    ","parent_name":"CSWhere"},"Classes/CSWhere.html#/c:@M@CoreStore@objc(cs)CSWhere(im)initWithKeyPath:isEqualTo:":{"name":"init(keyPath:isEqualTo:)","abstract":"

    Initializes a CSWhere clause that compares equality

    ","parent_name":"CSWhere"},"Classes/CSWhere.html#/c:@M@CoreStore@objc(cs)CSWhere(im)initWithKeyPath:isMemberOf:":{"name":"init(keyPath:isMemberOf:)","abstract":"

    Initializes a CSWhere clause that compares membership

    ","parent_name":"CSWhere"},"Classes/CSWhere.html#/c:@M@CoreStore@objc(cs)CSWhere(im)initWithPredicate:":{"name":"init(predicate:)","abstract":"

    Initializes a CSWhere clause with an NSPredicate

    ","parent_name":"CSWhere"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC6commityyyAA0aB5ErrorOSgcF":{"name":"commit(_:)","abstract":"

    Saves the transaction changes asynchronously. For an UnsafeDataTransaction, multiple commits are allowed, although it is the developer’s responsibility to ensure a reasonable leeway to prevent blocking the main thread.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC13commitAndWaityyKF":{"name":"commitAndWait()","abstract":"

    Saves the transaction changes and waits for completion synchronously. For an UnsafeDataTransaction, multiple commits are allowed, although it is the developer’s responsibility to ensure a reasonable leeway to prevent blocking the main thread.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC8rollbackyyF":{"name":"rollback()","abstract":"

    Rolls back the transaction.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC4undoyyF":{"name":"undo()","abstract":"

    Undo’s the last change made to the transaction.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC5flushyyF":{"name":"flush()","abstract":"

    Immediately flushes all pending changes to the transaction’s observers. This is useful in conjunction with ListMonitors and ObjectMonitors created from UnsafeDataTransactions used to manage temporary scratch data.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC5flush7closureyyyKXE_tKF":{"name":"flush(closure:)","abstract":"

    Flushes all pending changes to the transaction’s observers at the end of the closure‘s execution. This is useful in conjunction with ListMonitors and ObjectMonitors created from UnsafeDataTransactions used to manage temporary scratch data.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC4redoyyF":{"name":"redo()","abstract":"

    Redo’s the last undone change to the transaction.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC05beginC012supportsUndoACSb_tF":{"name":"beginUnsafe(supportsUndo:)","abstract":"

    Begins a child transaction where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC30createFetchedResultsControllerySo09NSFetchedhI0CyxGAA4FromVyxG_AA9SectionByVyxGAA11FetchClause_pdtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(_:_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from the UnsafeDataTransaction. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC30createFetchedResultsControllerySo09NSFetchedhI0CyxGAA4FromVyxG_AA9SectionByVyxGSayAA11FetchClause_pGtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(_:_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from the UnsafeDataTransaction. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC30createFetchedResultsControllerySo09NSFetchedhI0CyxGAA4FromVyxG_AA11FetchClause_pdtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from the UnsafeDataTransaction. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC30createFetchedResultsControllerySo09NSFetchedhI0CyxGAA4FromVyxG_SayAA11FetchClause_pGtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from the UnsafeDataTransaction. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC13monitorObjectyAA0G7MonitorCyxGxAA07DynamicG0RzlF":{"name":"monitorObject(_:)","abstract":"

    Creates a ObjectMonitor for the specified DynamicObject. Multiple ObjectObservers may then register themselves to be notified when changes are made to the DynamicObject.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC11monitorListyAA0G7MonitorCyxGAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorList(_:_:)","abstract":"

    Creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC11monitorListyAA0G7MonitorCyxGAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorList(_:_:)","abstract":"

    Creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC11monitorListyAA0G7MonitorCy10ObjectTypeQzGxAA021FetchChainableBuilderJ0RzlF":{"name":"monitorList(_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC11monitorList20createAsynchronously__yyAA0G7MonitorCyxGc_AA4FromVyxGAA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorList(createAsynchronously:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC11monitorList20createAsynchronously__yyAA0G7MonitorCyxGc_AA4FromVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorList(createAsynchronously:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC20monitorSectionedListyAA0H7MonitorCyxGAA4FromVyxG_AA9SectionByVyxGAA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(_:_:_:)","abstract":"

    Creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC20monitorSectionedListyAA0H7MonitorCyxGAA4FromVyxG_AA9SectionByVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(_:_:_:)","abstract":"

    Creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC20monitorSectionedListyAA0H7MonitorCy10ObjectTypeQzGxAA07Sectioni7BuilderK0RzlF":{"name":"monitorSectionedList(_:)","abstract":"

    Creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified SectionMonitorBuilderType built from a chain of clauses.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC20monitorSectionedList20createAsynchronously___yyAA0H7MonitorCyxGc_AA4FromVyxGAA9SectionByVyxGAA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(createAsynchronously:_:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC20monitorSectionedList20createAsynchronously___yyAA0H7MonitorCyxGc_AA4FromVyxGAA9SectionByVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(createAsynchronously:_:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC20monitorSectionedList20createAsynchronously_yyAA0H7MonitorCy10ObjectTypeQzGc_xtAA07Sectionk7BuilderM0RzlF":{"name":"monitorSectionedList(createAsynchronously:_:)","abstract":"

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified SectionMonitorBuilderType built from a chain of clauses.

    ","parent_name":"UnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)commitWithSuccess::":{"name":"commitWithSuccess(_:_:)","abstract":"

    Saves the transaction changes asynchronously. For a CSUnsafeDataTransaction, multiple commits are allowed, although it is the developer’s responsibility to ensure a reasonable leeway to prevent blocking the main thread.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)commitAndWaitWithError:":{"name":"commitAndWait(error:)","abstract":"

    Saves the transaction changes and waits for completion synchronously. For a CSUnsafeDataTransaction, multiple commits are allowed, although it is the developer’s responsibility to ensure a reasonable leeway to prevent blocking the main thread.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)rollback":{"name":"rollback()","abstract":"

    Rolls back the transaction.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)undo":{"name":"undo()","abstract":"

    Undo’s the last change made to the transaction.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)redo":{"name":"redo()","abstract":"

    Redo’s the last undone change to the transaction.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)flush":{"name":"flush()","abstract":"

    Immediately flushes all pending changes to the transaction’s observers. This is useful in conjunction with ListMonitors and ObjectMonitors created from UnsafeDataTransactions used to manage temporary scratch data.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)flush:":{"name":"flush(_:)","abstract":"

    Flushes all pending changes to the transaction’s observers at the end of the closure‘s execution. This is useful in conjunction with ListMonitors and ObjectMonitors created from UnsafeDataTransactions used to manage temporary scratch data.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)beginUnsafe":{"name":"beginUnsafe()","abstract":"

    Begins a child transaction where NSManagedObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)beginUnsafeWithSupportsUndo:":{"name":"beginUnsafeWithSupportsUndo(_:)","abstract":"

    Begins a child transaction where NSManagedObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)unsafeContext":{"name":"unsafeContext()","abstract":"

    Returns the NSManagedObjectContext for this unsafe transaction. Use only for cases where external frameworks need an NSManagedObjectContext instance to work with.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypeP9SwiftTypeQa":{"name":"SwiftType","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSUnsafeDataTransaction"},"Classes/UnsafeDataModelSchema.html#/s:9CoreStore21UnsafeDataModelSchemaC9modelName0G0ACSS_So015NSManagedObjectE0Ctcfc":{"name":"init(modelName:model:)","abstract":"

    Initializes a UnsafeDataModelSchema from an NSManagedObjectModel.

    ","parent_name":"UnsafeDataModelSchema"},"Classes/UnsafeDataModelSchema.html#/s:9CoreStore13DynamicSchemaP12modelVersionSSvp":{"name":"modelVersion","parent_name":"UnsafeDataModelSchema"},"Classes/UnsafeDataModelSchema.html#/s:9CoreStore13DynamicSchemaP8rawModelSo015NSManagedObjectF0CyF":{"name":"rawModel()","parent_name":"UnsafeDataModelSchema"},"Classes/UnsafeDataModelSchema.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"UnsafeDataModelSchema"},"Classes/UnsafeDataModelSchema.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"UnsafeDataModelSchema"},"Classes/CSUnsafeDataModelSchema.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataModelSchema(im)initWithModelName:model:":{"name":"init(modelName:model:)","abstract":"

    Initializes a CSUnsafeDataModelSchema from an NSManagedObjectModel.

    ","parent_name":"CSUnsafeDataModelSchema"},"Classes/CSUnsafeDataModelSchema.html#/c:@M@CoreStore@objc(pl)CSDynamicSchema(py)modelVersion":{"name":"modelVersion","parent_name":"CSUnsafeDataModelSchema"},"Classes/CSUnsafeDataModelSchema.html#/c:@M@CoreStore@objc(pl)CSDynamicSchema(im)rawModel":{"name":"rawModel()","parent_name":"CSUnsafeDataModelSchema"},"Classes/CSUnsafeDataModelSchema.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSUnsafeDataModelSchema"},"Classes/CSUnsafeDataModelSchema.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSUnsafeDataModelSchema"},"Classes/CSTweak.html#/c:@M@CoreStore@objc(cs)CSTweak(py)block":{"name":"block","abstract":"

    The block to customize the NSFetchRequest

    ","parent_name":"CSTweak"},"Classes/CSTweak.html#/c:@M@CoreStore@objc(cs)CSTweak(im)initWithBlock:":{"name":"init(block:)","abstract":"

    Initializes a CSTweak clause with a closure where the NSFetchRequest may be configured.

    ","parent_name":"CSTweak"},"Classes/CSTweak.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSTweak"},"Classes/CSTweak.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSTweak"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore26SynchronousDataTransactionC6cancels5NeverOyKF":{"name":"cancel()","abstract":"

    Cancels a transaction by throwing CoreStoreError.userCancelled.

    ","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore26SynchronousDataTransactionC6createyxAA4IntoVyxGAA13DynamicObjectRzlF":{"name":"create(_:)","abstract":"

    Creates a new NSManagedObject or CoreStoreObject with the specified entity type.

    ","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore26SynchronousDataTransactionC4edityxSgAeA13DynamicObjectRzlF":{"name":"edit(_:)","abstract":"

    Returns an editable proxy of a specified NSManagedObject or CoreStoreObject.

    ","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore26SynchronousDataTransactionC4edityxSgAA4IntoVyxG_So17NSManagedObjectIDCtAA07DynamicI0RzlF":{"name":"edit(_:_:)","abstract":"

    Returns an editable proxy of the object with the specified NSManagedObjectID.

    ","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore26SynchronousDataTransactionC6deleteyyxSgAA13DynamicObjectRzlF":{"name":"delete(_:)","abstract":"

    Deletes a specified NSManagedObject or CoreStoreObject.

    ","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore26SynchronousDataTransactionC6deleteyyxSg_A2EdtAA13DynamicObjectRzlF":{"name":"delete(_:_:_:)","abstract":"

    Deletes the specified DynamicObjects.

    ","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore26SynchronousDataTransactionC6deleteyyxSTRzAA13DynamicObject7ElementRpzlF":{"name":"delete(_:)","abstract":"

    Deletes the specified DynamicObjects.

    ","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"SynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSSynchronousDataTransaction(im)commitAndWaitWithError:":{"name":"commitAndWait(error:)","abstract":"

    Saves the transaction changes and waits for completion synchronously. This method should not be used after the -commitAndWaitWithError: method was already called once.

    ","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSSynchronousDataTransaction(im)createInto:":{"name":"createInto(_:)","abstract":"

    Creates a new NSManagedObject with the specified entity type.

    ","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSSynchronousDataTransaction(im)editObject:":{"name":"editObject(_:)","abstract":"

    Returns an editable proxy of a specified NSManagedObject. This method should not be used after the -commitAndWait method was already called once.

    ","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSSynchronousDataTransaction(im)editInto:objectID:":{"name":"editInto(_:objectID:)","abstract":"

    Returns an editable proxy of the object with the specified NSManagedObjectID. This method should not be used after the -commitAndWait method was already called once.

    ","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSSynchronousDataTransaction(im)deleteObject:":{"name":"deleteObject(_:)","abstract":"

    Deletes a specified NSManagedObject. This method should not be used after the -commitAndWait method was already called once.

    ","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSSynchronousDataTransaction(im)deleteObjects:":{"name":"deleteObjects(_:)","abstract":"

    Deletes the specified NSManagedObjects.

    ","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypeP9SwiftTypeQa":{"name":"SwiftType","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSetupResult.html#/c:@M@CoreStore@objc(cs)CSSetupResult(py)isSuccess":{"name":"isSuccess","abstract":"

    YES if adding the CSStorageInterface to the CSDataStack succeeded, NO otherwise.

    ","parent_name":"CSSetupResult"},"Classes/CSSetupResult.html#/c:@M@CoreStore@objc(cs)CSSetupResult(py)isFailure":{"name":"isFailure","abstract":"

    YES if adding the CSStorageInterface to the CSDataStack failed, NO otherwise. When YES, the error property returns the actual NSError for the failure.

    ","parent_name":"CSSetupResult"},"Classes/CSSetupResult.html#/c:@M@CoreStore@objc(cs)CSSetupResult(py)storage":{"name":"storage","abstract":"

    A CSStorageInterface instance if the commit operation for the transaction succeeded. Returns nil otherwise.

    ","parent_name":"CSSetupResult"},"Classes/CSSetupResult.html#/c:@M@CoreStore@objc(cs)CSSetupResult(py)error":{"name":"error","abstract":"

    The NSError for a failed commit operation, or nil if the commit succeeded

    ","parent_name":"CSSetupResult"},"Classes/CSSetupResult.html#/c:@M@CoreStore@objc(cs)CSSetupResult(im)handleSuccess:failure:":{"name":"handleSuccess(_:failure:)","abstract":"

    If the result was a success, the success block is executed with the CSStorageInterface instance that was added to the CSDataStack. If the result was a failure, the failure block is executed with an NSError argument pertaining to the actual error.

    ","parent_name":"CSSetupResult"},"Classes/CSSetupResult.html#/c:@M@CoreStore@objc(cs)CSSetupResult(im)handleSuccess:":{"name":"handleSuccess(_:)","abstract":"

    If the result was a success, the success block is executed with a BOOL argument that indicates if there were any changes made. If the result was a failure, this method does nothing.

    ","parent_name":"CSSetupResult"},"Classes/CSSetupResult.html#/c:@M@CoreStore@objc(cs)CSSetupResult(im)handleFailure:":{"name":"handleFailure(_:)","abstract":"

    If the result was a failure, the failure block is executed with an NSError argument pertaining to the actual error. If the result was a success, this method does nothing.

    ","parent_name":"CSSetupResult"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(im)initWithNumberTerm:":{"name":"init(numberTerm:)","abstract":"

    Creates a CSSelect clause for querying NSNumber values.

    ","parent_name":"CSSelect"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(im)initWithDecimalTerm:":{"name":"init(decimalTerm:)","abstract":"

    Creates a CSSelect clause for querying NSDecimalNumber values.

    ","parent_name":"CSSelect"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(im)initWithStringTerm:":{"name":"init(stringTerm:)","abstract":"

    Creates a CSSelect clause for querying NSString values.

    ","parent_name":"CSSelect"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(im)initWithDateTerm:":{"name":"init(dateTerm:)","abstract":"

    Creates a CSSelect clause for querying NSDate values.

    ","parent_name":"CSSelect"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(im)initWithDataTerm:":{"name":"init(dataTerm:)","abstract":"

    Creates a CSSelect clause for querying NSData values.

    ","parent_name":"CSSelect"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(im)initWithObjectIDTerm":{"name":"init(objectIDTerm:)","abstract":"

    Creates a CSSelect clause for querying NSManagedObjectID values.

    ","parent_name":"CSSelect"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(cm)dictionaryForTerm:":{"name":"dictionaryForTerm(_:)","abstract":"

    Creates a CSSelect clause for querying NSDictionary of an entity’s attribute keys and values.

    ","parent_name":"CSSelect"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(cm)dictionaryForTerms:":{"name":"dictionaryForTerms(_:)","abstract":"

    Creates a CSSelect clause for querying NSDictionary of an entity’s attribute keys and values.

    ","parent_name":"CSSelect"},"Classes/CSSelectTerm.html#/c:@M@CoreStore@objc(cs)CSSelectTerm(im)initWithKeyPath:":{"name":"init(keyPath:)","abstract":"

    Provides a CSSelectTerm to a CSSelect clause for querying an entity attribute.

    ","parent_name":"CSSelectTerm"},"Classes/CSSelectTerm.html#/c:@M@CoreStore@objc(cs)CSSelectTerm(cm)average:as:":{"name":"average(_:as:)","abstract":"

    Provides a CSSelectTerm to a CSSelect clause for querying the average value of an attribute.

    ","parent_name":"CSSelectTerm"},"Classes/CSSelectTerm.html#/c:@M@CoreStore@objc(cs)CSSelectTerm(cm)count:as:":{"name":"count(_:as:)","abstract":"

    Provides a CSSelectTerm to a CSSelect clause for a count query.

    ","parent_name":"CSSelectTerm"},"Classes/CSSelectTerm.html#/c:@M@CoreStore@objc(cs)CSSelectTerm(cm)maximum:as:":{"name":"maximum(_:as:)","abstract":"

    Provides a CSSelectTerm to a CSSelect clause for querying the maximum value for an attribute.

    ","parent_name":"CSSelectTerm"},"Classes/CSSelectTerm.html#/c:@M@CoreStore@objc(cs)CSSelectTerm(cm)minimum:as:":{"name":"minimum(_:as:)","abstract":"

    Provides a CSSelectTerm to a CSSelect clause for querying the minimum value for an attribute.

    ","parent_name":"CSSelectTerm"},"Classes/CSSelectTerm.html#/c:@M@CoreStore@objc(cs)CSSelectTerm(cm)sum:as:":{"name":"sum(_:as:)","abstract":"

    Provides a CSSelectTerm to a CSSelect clause for querying the sum value for an attribute.

    ","parent_name":"CSSelectTerm"},"Classes/CSSelectTerm.html#/c:@M@CoreStore@objc(cs)CSSelectTerm(cm)objectIDAs:":{"name":"objectIDAs(_:)","abstract":"

    Provides a CSSelectTerm to a CSSelect clause for querying the NSManagedObjectID.

    ","parent_name":"CSSelectTerm"},"Classes/CSSectionBy.html#/c:@M@CoreStore@objc(cs)CSSectionBy(cm)keyPath:":{"name":"keyPath(_:)","abstract":"

    Initializes a CSSectionBy clause with the key path to use to group CSListMonitor objects into sections

    ","parent_name":"CSSectionBy"},"Classes/CSSectionBy.html#/c:@M@CoreStore@objc(cs)CSSectionBy(cm)keyPath:sectionIndexTransformer:":{"name":"keyPath(_:sectionIndexTransformer:)","abstract":"

    Initializes a CSSectionBy clause with the key path to use to group CSListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"CSSectionBy"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C7fileURL13configuration25migrationMappingProviders19localStorageOptionsAC10Foundation0E0V_SSSgSayAA06SchemaH8Provider_pGAA05LocalkL0Vtcfc":{"name":"init(fileURL:configuration:migrationMappingProviders:localStorageOptions:)","abstract":"

    Initializes an SQLite store interface from the given SQLite file URL. When this instance is passed to the DataStack‘s addStorage() methods, a new SQLite file will be created if it does not exist.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C8fileName13configuration25migrationMappingProviders19localStorageOptionsACSS_SSSgSayAA06SchemaH8Provider_pGAA05LocalkL0Vtcfc":{"name":"init(fileName:configuration:migrationMappingProviders:localStorageOptions:)","abstract":"

    Initializes an SQLite store interface from the given SQLite file name. When this instance is passed to the DataStack‘s addStorage() methods, a new SQLite file will be created if it does not exist.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0CACycfc":{"name":"init()","abstract":"

    Initializes an SQLiteStore with an all-default settings: a fileURL pointing to a .sqlite file in the Application Support/ directory (or the Caches/ directory on tvOS), a nil configuration pertaining to the Default configuration, a migrationMappingProviders set to empty, and localStorageOptions set to .AllowProgresiveMigration.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C6legacy8fileName13configuration25migrationMappingProviders19localStorageOptionsACSS_SSSgSayAA06SchemaI8Provider_pGAA05LocallM0VtFZ":{"name":"legacy(fileName:configuration:migrationMappingProviders:localStorageOptions:)","abstract":"

    Initializes an SQLite store interface from the given SQLite file name. When this instance is passed to the DataStack‘s addStorage() methods, a new SQLite file will be created if it does not exist.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C6legacyACyFZ":{"name":"legacy()","abstract":"

    Initializes an LegacySQLiteStore with an all-default settings: a fileURL pointing to a .sqlite file in the Application Support directory (or the Caches directory on tvOS), a nil configuration pertaining to the Default configuration, a migrationMappingProviders set to empty, and localStorageOptions set to .AllowProgresiveMigration.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C8fileSizes6UInt64VSgyF":{"name":"fileSize()","abstract":"

    Queries the file size (in bytes) of the store, or nil if the file does not exist yet

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C9storeTypeSSvpZ":{"name":"storeType","abstract":"

    The string identifier for the NSPersistentStore‘s type property. For SQLiteStores, this is always set to NSSQLiteStoreType.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C13configurationSSSgvp":{"name":"configuration","abstract":"

    The configuration name in the model file

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C12storeOptionsSDys11AnyHashableVypGSgvp":{"name":"storeOptions","abstract":"

    The options dictionary for the NSPersistentStore. For SQLiteStores, this is always set to

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C20cs_didAddToDataStackyyAA0hI0CF":{"name":"cs_didAddToDataStack(_:)","abstract":"

    Do not call directly. Used by the DataStack internally.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C25cs_didRemoveFromDataStackyyAA0hI0CF":{"name":"cs_didRemoveFromDataStack(_:)","abstract":"

    Do not call directly. Used by the DataStack internally.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C7fileURL10Foundation0E0Vvp":{"name":"fileURL","abstract":"

    The NSURL that points to the SQLite file

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C25migrationMappingProvidersSayAA06SchemaE8Provider_pGvp":{"name":"migrationMappingProviders","abstract":"

    An array of SchemaMappingProviders that provides the complete mapping models for custom migrations.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C19localStorageOptionsAA05LocaleF0Vvp":{"name":"localStorageOptions","abstract":"

    Options that tell the DataStack how to setup the persistent store

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C10dictionary10forOptionsSDys11AnyHashableVypGSgAA012LocalStorageF0V_tF":{"name":"dictionary(forOptions:)","abstract":"

    The options dictionary for the specified LocalStorageOptions

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C25cs_finalizeStorageAndWait14soureModelHintySo015NSManagedObjectJ0C_tKF":{"name":"cs_finalizeStorageAndWait(soureModelHint:)","abstract":"

    Called by the DataStack to perform checkpoint operations on the storage. For SQLiteStore, this converts the database’s WAL journaling mode to DELETE to force a checkpoint.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C22cs_eraseStorageAndWait8metadata14soureModelHintySDySSypG_So015NSManagedObjectK0CSgtKF":{"name":"cs_eraseStorageAndWait(metadata:soureModelHint:)","abstract":"

    Called by the DataStack to perform actual deletion of the store file from disk. Do not call directly! The sourceModel argument is a hint for the existing store’s model version. For SQLiteStore, this converts the database’s WAL journaling mode to DELETE before deleting the file.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"SQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(im)initWithFileURL:configuration:localStorageOptions:":{"name":"init(fileURL:configuration:localStorageOptions:)","abstract":"

    Initializes an SQLite store interface from the given SQLite file URL. When this instance is passed to the CSDataStack‘s -addStorage*: methods, a new SQLite file will be created if it does not exist.

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(im)initWithFileName:configuration:localStorageOptions:":{"name":"init(fileName:configuration:localStorageOptions:)","abstract":"

    Initializes an SQLite store interface from the given SQLite file name. When this instance is passed to the CSDataStack‘s -addStorage*: methods, a new SQLite file will be created if it does not exist.

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(im)init":{"name":"init()","abstract":"

    Initializes an CSSQLiteStore with an all-default settings: a fileURL pointing to a .sqlite file in the Application Support/ directory (or the Caches/ directory on tvOS), a nil configuration pertaining to the Default configuration, and localStorageOptions set to [CSLocalStorageOptions none].

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(py)fileURL":{"name":"fileURL","abstract":"

    The NSURL that points to the SQLite file

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(py)migrationMappingProviders":{"name":"migrationMappingProviders","abstract":"

    An array of SchemaMappingProviders that provides the complete mapping models for custom migrations. This is currently only supported for Swift code.

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(py)localStorageOptions":{"name":"localStorageOptions","abstract":"

    Options that tell the CSDataStack how to setup the persistent store

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(cpy)storeType":{"name":"storeType","abstract":"

    The string identifier for the NSPersistentStore‘s type property. For CSSQLiteStores, this is always set to NSSQLiteStoreType.

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(py)configuration":{"name":"configuration","abstract":"

    The configuration name in the model file

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(py)storeOptions":{"name":"storeOptions","abstract":"

    The options dictionary for the NSPersistentStore. For CSSQLiteStores, this is always set to

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(im)cs_eraseStorageAndWaitWithMetadata:soureModelHint:error:":{"name":"cs_eraseStorageAndWait(metadata:soureModelHint:error:)","abstract":"

    Called by the CSDataStack to perform actual deletion of the store file from disk. Do not call directly! The sourceModel argument is a hint for the existing store’s model version. For CSSQLiteStore, this converts the database’s WAL journaling mode to DELETE before deleting the file.

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSSQLiteStore"},"Classes/CSOrderBy.html#/c:@M@CoreStore@objc(cs)CSOrderBy(py)sortDescriptors":{"name":"sortDescriptors","abstract":"

    The list of sort descriptors

    ","parent_name":"CSOrderBy"},"Classes/CSOrderBy.html#/c:@M@CoreStore@objc(cs)CSOrderBy(im)initWithSortDescriptor:":{"name":"init(sortDescriptor:)","abstract":"

    Initializes a CSOrderBy clause with a single sort descriptor

    ","parent_name":"CSOrderBy"},"Classes/CSOrderBy.html#/c:@M@CoreStore@objc(cs)CSOrderBy(im)initWithSortDescriptors:":{"name":"init(sortDescriptors:)","abstract":"

    Initializes a CSOrderBy clause with a list of sort descriptors

    ","parent_name":"CSOrderBy"},"Classes/CSObjectMonitor.html#/s:9CoreStore15CSObjectMonitorC6objectypSgvp":{"name":"object","abstract":"

    Returns the NSManagedObject instance being observed, or nil if the object was already deleted.

    ","parent_name":"CSObjectMonitor"},"Classes/CSObjectMonitor.html#/s:9CoreStore15CSObjectMonitorC15isObjectDeletedSbvp":{"name":"isObjectDeleted","abstract":"

    Returns YES if the NSManagedObject instance being observed still exists, or NO if the object was already deleted.

    ","parent_name":"CSObjectMonitor"},"Classes/CSObjectMonitor.html#/s:9CoreStore15CSObjectMonitorC17addObjectObserveryyAA0cG0_pF":{"name":"addObjectObserver(_:)","abstract":"

    Registers a CSObjectObserver to be notified when changes to the receiver’s object are made.

    ","parent_name":"CSObjectMonitor"},"Classes/CSObjectMonitor.html#/s:9CoreStore15CSObjectMonitorC20removeObjectObserveryyAA0cG0_pF":{"name":"removeObjectObserver(_:)","abstract":"

    Unregisters an CSObjectObserver from receiving notifications for changes to the receiver’s object.

    ","parent_name":"CSObjectMonitor"},"Classes/CSMigrationType.html#/c:@M@CoreStore@objc(cs)CSMigrationType(py)needsMigration":{"name":"needsMigration","abstract":"

    Returns YES if the CSMigrationType‘s sourceVersion and destinationVersion do not match. Returns NO otherwise.

    ","parent_name":"CSMigrationType"},"Classes/CSMigrationType.html#/c:@M@CoreStore@objc(cs)CSMigrationType(py)sourceVersion":{"name":"sourceVersion","abstract":"

    Returns the source model version for the migration type. If no migration is required, sourceVersion will be equal to the destinationVersion.

    ","parent_name":"CSMigrationType"},"Classes/CSMigrationType.html#/c:@M@CoreStore@objc(cs)CSMigrationType(py)destinationVersion":{"name":"destinationVersion","abstract":"

    Returns the destination model version for the migration type. If no migration is required, destinationVersion will be equal to the sourceVersion.

    ","parent_name":"CSMigrationType"},"Classes/CSMigrationType.html#/c:@M@CoreStore@objc(cs)CSMigrationType(py)isLightweightMigration":{"name":"isLightweightMigration","abstract":"

    Returns YES if the CSMigrationType is a lightweight migration. Used as syntactic sugar.

    ","parent_name":"CSMigrationType"},"Classes/CSMigrationType.html#/c:@M@CoreStore@objc(cs)CSMigrationType(py)isHeavyweightMigration":{"name":"isHeavyweightMigration","abstract":"

    Returns YES if the CSMigrationType is a heavyweight migration. Used as syntactic sugar.

    ","parent_name":"CSMigrationType"},"Classes/CSMigrationType.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSMigrationType"},"Classes/CSMigrationType.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSMigrationType"},"Classes/CSMigrationResult.html#/c:@M@CoreStore@objc(cs)CSMigrationResult(py)isSuccess":{"name":"isSuccess","abstract":"

    YES if the migration succeeded, NO otherwise

    ","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/c:@M@CoreStore@objc(cs)CSMigrationResult(py)isFailure":{"name":"isFailure","abstract":"

    YES if the migration failed, NO otherwise

    ","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/c:@M@CoreStore@objc(cs)CSMigrationResult(py)migrationTypes":{"name":"migrationTypes","abstract":"

    YES if the migration succeeded, NO otherwise

    ","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/c:@M@CoreStore@objc(cs)CSMigrationResult(py)error":{"name":"error","abstract":"

    The NSError for a failed migration, or nil if the migration succeeded

    ","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/c:@M@CoreStore@objc(cs)CSMigrationResult(im)handleSuccess:failure:":{"name":"handleSuccess(_:failure:)","abstract":"

    If the result was a success, the success block is executed with an array of CSMigrationTypes that indicates the migration steps completed. If the result was a failure, the failure block is executed with an NSError argument pertaining to the actual error.

    ","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/c:@M@CoreStore@objc(cs)CSMigrationResult(im)handleSuccess:":{"name":"handleSuccess(_:)","abstract":"

    If the result was a success, the success block is executed with an array of CSMigrationTypes that indicates the migration steps completed. If the result was a failure, this method does nothing.

    ","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/c:@M@CoreStore@objc(cs)CSMigrationResult(im)handleFailure:":{"name":"handleFailure(_:)","abstract":"

    If the result was a failure, the failure block is executed with an NSError argument pertaining to the actual error. If the result was a success, this method does nothing.

    ","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSMigrationResult"},"Classes/CSListMonitor.html#/s:9CoreStore13CSListMonitorCyypSicip":{"name":"subscript(_:)","abstract":"

    Returns the object at the given index within the first section. This subscript indexer is typically used for CSListMonitors created without section groupings.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectAtSafeIndex:":{"name":"objectAtSafeIndex(_:)","abstract":"

    Returns the object at the given index, or nil if out of bounds. This indexer is typically used for CSListMonitors created without section groupings.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectAtSectionIndex:itemIndex:":{"name":"objectAtSectionIndex(_:itemIndex:)","abstract":"

    Returns the object at the given sectionIndex and itemIndex. This indexer is typically used for CSListMonitors created as sectioned lists.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectAtSafeSectionIndex:safeItemIndex:":{"name":"objectAtSafeSectionIndex(_:safeItemIndex:)","abstract":"

    Returns the object at the given section and item index, or nil if out of bounds. This indexer is typically used for CSListMonitors created as sectioned lists.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectAtIndexPath:":{"name":"objectAtIndexPath(_:)","abstract":"

    Returns the object at the given NSIndexPath. This subscript indexer is typically used for CSListMonitors created as sectioned lists.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectAtSafeIndexPath:":{"name":"objectAtSafeIndexPath(_:)","abstract":"

    Returns the object at the given NSIndexPath, or nil if out of bounds. This subscript indexer is typically used for CSListMonitors created as sectioned lists.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)hasObjects":{"name":"hasObjects()","abstract":"

    Checks if the CSListMonitor has at least one object in any section.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)hasObjectsInSection:":{"name":"hasObjectsInSection(_:)","abstract":"

    Checks if the CSListMonitor has at least one object the specified section.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectsInAllSections":{"name":"objectsInAllSections()","abstract":"

    Returns all objects in all sections

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectsInSection:":{"name":"objectsInSection(_:)","abstract":"

    Returns all objects in the specified section

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectsInSafeSectionWithSafeSectionIndex:":{"name":"objectsInSafeSection(safeSectionIndex:)","abstract":"

    Returns all objects in the specified section, or nil if out of bounds.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)numberOfSections":{"name":"numberOfSections()","abstract":"

    Returns the number of sections

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)numberOfObjects":{"name":"numberOfObjects()","abstract":"

    Returns the number of objects in all sections

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)numberOfObjectsInSection:":{"name":"numberOfObjectsInSection(_:)","abstract":"

    Returns the number of objects in the specified section

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)numberOfObjectsInSafeSectionWithSafeSectionIndex:":{"name":"numberOfObjectsInSafeSection(safeSectionIndex:)","abstract":"

    Returns the number of objects in the specified section, or nil if out of bounds.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)sectionInfoAtIndex:":{"name":"sectionInfoAtIndex(_:)","abstract":"

    Returns the NSFetchedResultsSectionInfo for the specified section

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)sectionInfoAtSafeSectionIndexWithSafeSectionIndex:":{"name":"sectionInfoAtSafeSectionIndex(safeSectionIndex:)","abstract":"

    Returns the NSFetchedResultsSectionInfo for the specified section, or nil if out of bounds.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)sections":{"name":"sections()","abstract":"

    Returns the NSFetchedResultsSectionInfos for all sections

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)targetSectionForSectionIndexTitleWithTitle:index:":{"name":"targetSectionForSectionIndexTitle(title:index:)","abstract":"

    Returns the target section for a specified Section Index title and index.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)sectionIndexTitles":{"name":"sectionIndexTitles()","abstract":"

    Returns the section index titles for all sections

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)indexOf:":{"name":"indexOf(_:)","abstract":"

    Returns the index of the NSManagedObject if it exists in the CSListMonitor‘s fetched objects, or nil if not found.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)indexPathOf:":{"name":"indexPathOf(_:)","abstract":"

    Returns the NSIndexPath of the NSManagedObject if it exists in the CSListMonitor‘s fetched objects, or nil if not found.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)addListObserver:":{"name":"addListObserver(_:)","abstract":"

    Registers a CSListObserver to be notified when changes to the receiver’s list occur.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/s:9CoreStore13CSListMonitorC21addListObjectObserveryyAA0cgH0_pF":{"name":"addListObjectObserver(_:)","abstract":"

    Registers a CSListObjectObserver to be notified when changes to the receiver’s list occur.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)addListSectionObserver:":{"name":"addListSectionObserver(_:)","abstract":"

    Registers a CSListSectionObserver to be notified when changes to the receiver’s list occur.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)removeListObserver:":{"name":"removeListObserver(_:)","abstract":"

    Unregisters a CSListObserver from receiving notifications for changes to the receiver’s list.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(py)isPendingRefetch":{"name":"isPendingRefetch","abstract":"

    Returns YES if a call to -refetch: was made to the CSListMonitor and is currently waiting for the fetching to complete. Returns NO otherwise.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)refetch:":{"name":"refetch(_:)","abstract":"

    Asks the CSListMonitor to refetch its objects using the specified series of CSFetchClauses. Note that this method does not execute the fetch immediately; the actual fetching will happen after the NSFetchedResultsController‘s last controllerDidChangeContent(_:) notification completes.

    ","parent_name":"CSListMonitor"},"Classes/CSInto.html#/c:@M@CoreStore@objc(cs)CSInto(py)entityClass":{"name":"entityClass","abstract":"

    The associated NSManagedObject entity class

    ","parent_name":"CSInto"},"Classes/CSInto.html#/c:@M@CoreStore@objc(cs)CSInto(py)configuration":{"name":"configuration","abstract":"

    The NSPersistentStore configuration name to associate objects from.","parent_name":"CSInto"},"Classes/CSInto.html#/c:@M@CoreStore@objc(cs)CSInto(im)initWithEntityClass:":{"name":"init(entityClass:)","abstract":"

    Initializes a CSInto clause with the specified entity class.

    ","parent_name":"CSInto"},"Classes/CSInto.html#/c:@M@CoreStore@objc(cs)CSInto(im)initWithEntityClass:configuration:":{"name":"init(entityClass:configuration:)","abstract":"

    Initializes a CSInto clause with the specified configuration.

    ","parent_name":"CSInto"},"Classes/InMemoryStore.html#/s:9CoreStore08InMemoryB0C13configurationACSSSg_tcfc":{"name":"init(configuration:)","abstract":"

    Initializes an InMemoryStore for the specified configuration

    ","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:9CoreStore08InMemoryB0CACycfc":{"name":"init()","abstract":"

    Initializes an InMemoryStore with the Default configuration

    ","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:9CoreStore08InMemoryB0C9storeTypeSSvpZ":{"name":"storeType","abstract":"

    The string identifier for the NSPersistentStore‘s type property. For InMemoryStores, this is always set to NSInMemoryStoreType.

    ","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:9CoreStore08InMemoryB0C13configurationSSSgvp":{"name":"configuration","abstract":"

    The configuration name in the model file

    ","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:9CoreStore08InMemoryB0C12storeOptionsSDys11AnyHashableVypGSgvp":{"name":"storeOptions","abstract":"

    The options dictionary for the NSPersistentStore. For InMemoryStores, this is always set to nil.

    ","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:9CoreStore08InMemoryB0C20cs_didAddToDataStackyyAA0iJ0CF":{"name":"cs_didAddToDataStack(_:)","abstract":"

    Do not call directly. Used by the DataStack internally.

    ","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:9CoreStore08InMemoryB0C25cs_didRemoveFromDataStackyyAA0iJ0CF":{"name":"cs_didRemoveFromDataStack(_:)","abstract":"

    Do not call directly. Used by the DataStack internally.

    ","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"InMemoryStore"},"Classes/CSInMemoryStore.html#/c:@M@CoreStore@objc(cs)CSInMemoryStore(im)initWithConfiguration:":{"name":"init(configuration:)","abstract":"

    Initializes a CSInMemoryStore for the specified configuration

    ","parent_name":"CSInMemoryStore"},"Classes/CSInMemoryStore.html#/c:@M@CoreStore@objc(cs)CSInMemoryStore(im)init":{"name":"init()","abstract":"

    Initializes a CSInMemoryStore with the Default configuration

    ","parent_name":"CSInMemoryStore"},"Classes/CSInMemoryStore.html#/c:@M@CoreStore@objc(cs)CSInMemoryStore(cpy)storeType":{"name":"storeType","abstract":"

    The string identifier for the NSPersistentStore‘s type property. For CSInMemoryStores, this is always set to NSInMemoryStoreType.

    ","parent_name":"CSInMemoryStore"},"Classes/CSInMemoryStore.html#/c:@M@CoreStore@objc(cs)CSInMemoryStore(py)configuration":{"name":"configuration","abstract":"

    The configuration name in the model file

    ","parent_name":"CSInMemoryStore"},"Classes/CSInMemoryStore.html#/c:@M@CoreStore@objc(cs)CSInMemoryStore(py)storeOptions":{"name":"storeOptions","abstract":"

    The options dictionary for the NSPersistentStore. For CSInMemoryStores, this is always set to nil.

    ","parent_name":"CSInMemoryStore"},"Classes/CSInMemoryStore.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSInMemoryStore"},"Classes/CSInMemoryStore.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSInMemoryStore"},"Classes/CSGroupBy.html#/c:@M@CoreStore@objc(cs)CSGroupBy(py)keyPaths":{"name":"keyPaths","abstract":"

    The list of key path strings to group results with

    ","parent_name":"CSGroupBy"},"Classes/CSGroupBy.html#/c:@M@CoreStore@objc(cs)CSGroupBy(im)initWithKeyPath:":{"name":"init(keyPath:)","abstract":"

    Initializes a CSGroupBy clause with a key path string

    ","parent_name":"CSGroupBy"},"Classes/CSGroupBy.html#/c:@M@CoreStore@objc(cs)CSGroupBy(im)initWithKeyPaths:":{"name":"init(keyPaths:)","abstract":"

    Initializes a CSGroupBy clause with a list of key path strings

    ","parent_name":"CSGroupBy"},"Classes/CSFrom.html#/c:@M@CoreStore@objc(cs)CSFrom(py)entityClass":{"name":"entityClass","abstract":"

    The associated NSManagedObject entity class

    ","parent_name":"CSFrom"},"Classes/CSFrom.html#/c:@M@CoreStore@objc(cs)CSFrom(py)configurations":{"name":"configurations","abstract":"

    The NSPersistentStore configuration names to associate objects from.","parent_name":"CSFrom"},"Classes/CSFrom.html#/c:@M@CoreStore@objc(cs)CSFrom(im)initWithEntityClass:":{"name":"init(entityClass:)","abstract":"

    Initializes a CSFrom clause with the specified entity class.

    ","parent_name":"CSFrom"},"Classes/CSFrom.html#/c:@M@CoreStore@objc(cs)CSFrom(im)initWithEntityClass:configuration:":{"name":"init(entityClass:configuration:)","abstract":"

    Initializes a CSFrom clause with the specified configurations.

    ","parent_name":"CSFrom"},"Classes/CSFrom.html#/c:@M@CoreStore@objc(cs)CSFrom(im)initWithEntityClass:configurations:":{"name":"init(entityClass:configurations:)","abstract":"

    Initializes a CSFrom clause with the specified configurations.

    ","parent_name":"CSFrom"},"Classes/CSError.html#/c:@M@CoreStore@objc(cs)CSError(cpy)errorDomain":{"name":"errorDomain","abstract":"

    The NSError error domain for CSError.

    ","parent_name":"CSError"},"Classes/CSError.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSError"},"Classes/CSError.html#/s:9CoreStore7CSErrorCyAcA0aB5ErrorOcfc":{"name":"init(_:)","abstract":"

    Do not call directly!

    ","parent_name":"CSError"},"Classes/DataStack.html#/s:9CoreStore9DataStackC15applicationNameSSvpZ":{"name":"applicationName","abstract":"

    The resolved application name, used by the DataStack as the default Xcode model name (.xcdatamodel filename) if not explicitly provided.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC14xcodeModelName6bundle14migrationChainACSS_So8NSBundleCAA09MigrationJ0Vtcfc":{"name":"init(xcodeModelName:bundle:migrationChain:)","abstract":"

    Convenience initializer for DataStack that creates a SchemaHistory from the model with the specified modelName in the specified bundle.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC__14migrationChainAcA13DynamicSchema_p_AaE_pdAA09MigrationF0Vtcfc":{"name":"init(_:_:migrationChain:)","abstract":"

    Convenience initializer for DataStack that creates a SchemaHistory from a list of DynamicSchema versions.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13schemaHistoryAcA06SchemaF0C_tcfc":{"name":"init(schemaHistory:)","abstract":"

    Initializes a DataStack from a SchemaHistory instance.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC12modelVersionSSvp":{"name":"modelVersion","abstract":"

    Returns the DataStack‘s current model version. StorageInterfaces added to the stack will be migrated to this version.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11modelSchemaAA07DynamicF0_pvp":{"name":"modelSchema","abstract":"

    Returns the DataStack‘s current model schema. StorageInterfaces added to the stack will be migrated to this version.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17entityTypesByName3forSDySSSo15NSManagedObjectCmGAGm_tF":{"name":"entityTypesByName(for:)","abstract":"

    Returns the entity name-to-class type mapping from the DataStack‘s model.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17entityTypesByName3forSDySSAA0aB6ObjectCmGAGm_tF":{"name":"entityTypesByName(for:)","abstract":"

    Returns the entity name-to-class type mapping from the DataStack‘s model.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17entityDescription3forSo08NSEntityF0CSgSo15NSManagedObjectCm_tF":{"name":"entityDescription(for:)","abstract":"

    Returns the NSEntityDescription for the specified NSManagedObject subclass.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17entityDescription3forSo08NSEntityF0CSgAA0aB6ObjectCm_tF":{"name":"entityDescription(for:)","abstract":"

    Returns the NSEntityDescription for the specified CoreStoreObject subclass.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8objectID20forURIRepresentationSo015NSManagedObjectF0CSg10Foundation3URLV_tF":{"name":"objectID(forURIRepresentation:)","abstract":"

    Returns the NSManagedObjectID for the specified object URI if it exists in the persistent store.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17addStorageAndWaitAA06SQLiteB0CyKF":{"name":"addStorageAndWait()","abstract":"

    Creates an SQLiteStore with default parameters and adds it to the stack. This method blocks until completion.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17addStorageAndWaityxxKAA0F9InterfaceRzlF":{"name":"addStorageAndWait(_:)","abstract":"

    Adds a StorageInterface to the stack and blocks until completion.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17addStorageAndWaityxxKAA05LocalF0RzlF":{"name":"addStorageAndWait(_:)","abstract":"

    Adds a LocalStorage to the stack and blocks until completion.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17addStorageAndWaityxxKAA05CloudF0RzlF":{"name":"addStorageAndWait(_:)","abstract":"

    Adds a CloudStorage to the stack and blocks until completion.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8userInfoAA04UserF0Cvp":{"name":"userInfo","abstract":"

    Allow external libraries to store custom data in the DataStack. App code should rarely have a need for this.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"DataStack"},"Classes/DataStack.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10addStorage_10completionyx_yAA11SetupResultOyxGctAA0F9InterfaceRzlF":{"name":"addStorage(_:completion:)","abstract":"

    Asynchronously adds a StorageInterface to the stack. Migrations are also initiated by default.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10addStorage_10completionSo10NSProgressCSgx_yAA11SetupResultOyxGctAA05LocalF0RzlF":{"name":"addStorage(_:completion:)","abstract":"

    Asynchronously adds a LocalStorage to the stack. Migrations are also initiated by default.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10addStorage_10completionyx_yAA11SetupResultOyxGctAA05CloudF0RzlF":{"name":"addStorage(_:completion:)","abstract":"

    Asynchronously adds a CloudStorage to the stack. Migrations are also initiated by default.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC22upgradeStorageIfNeeded_10completionSo10NSProgressCSgx_yAA15MigrationResultOctKAA05LocalF0RzlF":{"name":"upgradeStorageIfNeeded(_:completion:)","abstract":"

    Migrates a local storage to match the DataStack‘s managed object model version. This method does NOT add the migrated store to the data stack.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC28requiredMigrationsForStorageySayAA13MigrationTypeOGxKAA05LocalH0RzlF":{"name":"requiredMigrationsForStorage(_:)","abstract":"

    Checks the migration steps required for the storage to match the DataStack‘s managed object model version.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13monitorObjectyAA0F7MonitorCyxGxAA07DynamicF0RzlF":{"name":"monitorObject(_:)","abstract":"

    Creates an ObjectMonitor for the specified DynamicObject. Multiple ObjectObservers may then register themselves to be notified when changes are made to the DynamicObject.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11monitorListyAA0F7MonitorCyxGAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorList(_:_:)","abstract":"

    Creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11monitorListyAA0F7MonitorCyxGAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorList(_:_:)","abstract":"

    Creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11monitorListyAA0F7MonitorCy10ObjectTypeQzGxAA021FetchChainableBuilderI0RzlF":{"name":"monitorList(_:)","abstract":"

    Creates a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11monitorList20createAsynchronously__yyAA0F7MonitorCyxGc_AA4FromVyxGAA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorList(createAsynchronously:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11monitorList20createAsynchronously__yyAA0F7MonitorCyxGc_AA4FromVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorList(createAsynchronously:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11monitorList20createAsynchronously_yyAA0F7MonitorCy10ObjectTypeQzGc_xtAA021FetchChainableBuilderK0RzlF":{"name":"monitorList(createAsynchronously:_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC20monitorSectionedListyAA0G7MonitorCyxGAA4FromVyxG_AA9SectionByVyxGAA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(_:_:_:)","abstract":"

    Creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC20monitorSectionedListyAA0G7MonitorCyxGAA4FromVyxG_AA9SectionByVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(_:_:_:)","abstract":"

    Creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC20monitorSectionedListyAA0G7MonitorCy10ObjectTypeQzGxAA07Sectionh7BuilderJ0RzlF":{"name":"monitorSectionedList(_:)","abstract":"

    Creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified SectionMonitorBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC20monitorSectionedList20createAsynchronously___yyAA0G7MonitorCyxGc_AA4FromVyxGAA9SectionByVyxGAA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(createAsynchronously:_:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC20monitorSectionedList20createAsynchronously___yyAA0G7MonitorCyxGc_AA4FromVyxGAA9SectionByVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(createAsynchronously:_:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC20monitorSectionedList20createAsynchronously_yyAA0G7MonitorCy10ObjectTypeQzGc_xtAA07Sectionj7BuilderL0RzlF":{"name":"monitorSectionedList(createAsynchronously:_:)","abstract":"

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified SectionMonitorBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13fetchExistingyxSgxAA13DynamicObjectRzlF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instance in the DataStack‘s context from a reference created from a transaction or from a different managed object context.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13fetchExistingyxSgSo17NSManagedObjectIDCAA07DynamicH0RzlF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instance in the DataStack‘s context from an NSManagedObjectID.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13fetchExistingySayxGq_AA13DynamicObjectRz7ElementQy_RszSTR_r0_lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instances in the DataStack‘s context from references created from a transaction or from a different managed object context.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13fetchExistingySayxGq_AA13DynamicObjectRzSTR_So09NSManagedH2IDC7ElementRt_r0_lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instances in the DataStack‘s context from a list of NSManagedObjectID.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8fetchOneyxSgAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"fetchOne(_:_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8fetchOneyxSgAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"fetchOne(_:_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8fetchOney10ObjectTypeQzSgxAA021FetchChainableBuilderH0RzlF":{"name":"fetchOne(_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8fetchAllySayxGSgAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"fetchAll(_:_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8fetchAllySayxGSgAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"fetchAll(_:_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8fetchAllySay10ObjectTypeQzGSgxAA021FetchChainableBuilderH0RzlF":{"name":"fetchAll(_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10fetchCountySiSgAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"fetchCount(_:_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10fetchCountySiSgAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"fetchCount(_:_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10fetchCountySiSgxAA25FetchChainableBuilderTypeRzlF":{"name":"fetchCount(_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13fetchObjectIDySo09NSManagedfG0CSgAA4FromVyxG_AA11FetchClause_pdtAA07DynamicF0RzlF":{"name":"fetchObjectID(_:_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13fetchObjectIDySo09NSManagedfG0CSgAA4FromVyxG_SayAA11FetchClause_pGtAA07DynamicF0RzlF":{"name":"fetchObjectID(_:_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13fetchObjectIDySo09NSManagedfG0CSgxAA25FetchChainableBuilderTypeRzlF":{"name":"fetchObjectID(_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC14fetchObjectIDsySaySo09NSManagedF2IDCGSgAA4FromVyxG_AA11FetchClause_pdtAA07DynamicF0RzlF":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC14fetchObjectIDsySaySo09NSManagedF2IDCGSgAA4FromVyxG_SayAA11FetchClause_pGtAA07DynamicF0RzlF":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC14fetchObjectIDsySaySo09NSManagedF2IDCGSgxAA25FetchChainableBuilderTypeRzlF":{"name":"fetchObjectIDs(_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10queryValueyq_SgAA4FromVyxG_AA6SelectVyxq_GAA11QueryClause_pdtAA13DynamicObjectRzAA22QueryableAttributeTypeR_r0_lF":{"name":"queryValue(_:_:_:)","abstract":"

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10queryValueyq_SgAA4FromVyxG_AA6SelectVyxq_GSayAA11QueryClause_pGtAA13DynamicObjectRzAA22QueryableAttributeTypeR_r0_lF":{"name":"queryValue(_:_:_:)","abstract":"

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10queryValuey10ResultTypeQzSgxAA021QueryChainableBuilderH0RzAA018QueryableAttributeH0AFRQlF":{"name":"queryValue(_:)","abstract":"

    Queries a property value or aggregate as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC15queryAttributesySaySDySSypGGSgAA4FromVyxG_AA6SelectVyxSo12NSDictionaryCGAA11QueryClause_pdtAA13DynamicObjectRzlF":{"name":"queryAttributes(_:_:_:)","abstract":"

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC15queryAttributesySaySDySSypGGSgAA4FromVyxG_AA6SelectVyxSo12NSDictionaryCGSayAA11QueryClause_pGtAA13DynamicObjectRzlF":{"name":"queryAttributes(_:_:_:)","abstract":"

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC15queryAttributesySaySDySSypGGSgxAA25QueryChainableBuilderTypeRzSo12NSDictionaryC06ResultJ0RtzlF":{"name":"queryAttributes(_:)","abstract":"

    Queries a dictionary of attribute values or as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13unsafeContextSo015NSManagedObjectF0CyF":{"name":"unsafeContext()","abstract":"

    The internal NSManagedObjectContext managed by this instance. Using this context directly should typically be avoided, and is provided by CoreStore only for extremely specialized cases.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC7perform12asynchronous10completionyxAA012AsynchronousC11TransactionCKc_yAH6ResultOy_xGctlF":{"name":"perform(asynchronous:completion:)","abstract":"

    Performs a transaction asynchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the wrapped as .success(userInfo: T) in the completion‘s Result<T>. Any errors thrown from inside the task will be reported as .failure(error: CoreStoreError). To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC7perform12asynchronous7success7failureyxAA012AsynchronousC11TransactionCKc_yxcyAA0aB5ErrorOctlF":{"name":"perform(asynchronous:success:failure:)","abstract":"

    Performs a transaction asynchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the argument of the success closure. Any errors thrown from inside the task will be wrapped in a CoreStoreError and reported in the failure closure. To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC7perform11synchronous19waitForAllObserversxxAA011SynchronousC11TransactionCKXE_SbtKlF":{"name":"perform(synchronous:waitForAllObservers:)","abstract":"

    Performs a transaction synchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the return value of perform(synchronous:). Any errors thrown from inside the task will be thrown from perform(synchronous:). To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11beginUnsafe12supportsUndoAA0fC11TransactionCSb_tF":{"name":"beginUnsafe(supportsUndo:)","abstract":"

    Begins a non-contiguous transaction where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC25refreshAndMergeAllObjectsyyF":{"name":"refreshAndMergeAllObjects()","abstract":"

    Refreshes all registered objects NSManagedObjects or CoreStoreObjects in the DataStack.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC30createFetchedResultsControllerySo09NSFetchedgH0CyxGAA4FromVyxG_AA9SectionByVyxGAA11FetchClause_pdtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(_:_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from the DataStack. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC30createFetchedResultsControllerySo09NSFetchedgH0CyxGAA4FromVyxG_AA9SectionByVyxGSayAA11FetchClause_pGtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(_:_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from a DataStack. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC30createFetchedResultsControllerySo09NSFetchedgH0CyxGAA4FromVyxG_AA11FetchClause_pdtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from the DataStack. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC30createFetchedResultsController03forcD0__So09NSFetchedgH0CyxGAC_AA4FromVyxGSayAA11FetchClause_pGtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(forDataStack:_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from the DataStack. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"DataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)init":{"name":"init()","abstract":"

    Initializes a CSDataStack with default settings. CoreStore searches for .xcdatamodeld from the main NSBundle and loads an NSManagedObjectModel from it. An assertion is raised if the model could not be found.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)initWithXcodeModelName:bundle:versionChain:":{"name":"init(xcodeModelName:bundle:versionChain:)","abstract":"

    Initializes a CSDataStack from the model with the specified modelName in the specified bundle.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(py)modelVersion":{"name":"modelVersion","abstract":"

    Returns the stack’s model version. The version string is the same as the name of the version-specific .xcdatamodeld file.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)entityTypesByNameForType:":{"name":"entityTypesByNameForType(_:)","abstract":"

    Returns the entity name-to-class type mapping from the CSDataStack‘s model.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)entityDescriptionForClass:":{"name":"entityDescriptionForClass(_:)","abstract":"

    Returns the NSEntityDescription for the specified NSManagedObject subclass from stack’s model.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)addInMemoryStorageAndWaitAndReturnError:":{"name":"addInMemoryStorageAndWaitAndReturnError(_:)","abstract":"

    Creates an CSInMemoryStore with default parameters and adds it to the stack. This method blocks until completion.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)addSQLiteStorageAndWaitAndReturnError:":{"name":"addSQLiteStorageAndWaitAndReturnError(_:)","abstract":"

    Creates an CSSQLiteStore with default parameters and adds it to the stack. This method blocks until completion.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)addInMemoryStorageAndWait:error:":{"name":"addInMemoryStorageAndWait(_:error:)","abstract":"

    Adds a CSInMemoryStore to the stack and blocks until completion.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)addSQLiteStorageAndWait:error:":{"name":"addSQLiteStorageAndWait(_:error:)","abstract":"

    Adds a CSSQLiteStore to the stack and blocks until completion.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)addInMemoryStorage:completion:":{"name":"addInMemoryStorage(_:completion:)","abstract":"

    Asynchronously adds a CSInMemoryStore to the stack. Migrations are also initiated by default.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)addSQLiteStorage:completion:error:":{"name":"addSQLiteStorage(_:completion:error:)","abstract":"

    Asynchronously adds a CSSQLiteStore to the stack. Migrations are also initiated by default.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)upgradeStorageIfNeeded:completion:error:":{"name":"upgradeStorageIfNeeded(_:completion:error:)","abstract":"

    Migrates a CSSQLiteStore to match the CSDataStack‘s managed object model version. This method does NOT add the migrated store to the data stack.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)requiredMigrationsForSQLiteStore:error:":{"name":"requiredMigrationsForSQLiteStore(_:error:)","abstract":"

    Checks the migration steps required for the CSSQLiteStore to match the CSDataStack‘s managed object model version.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)monitorObject:":{"name":"monitorObject(_:)","abstract":"

    Creates a CSObjectMonitor for the specified NSManagedObject. Multiple ObjectObservers may then register themselves to be notified when changes are made to the NSManagedObject.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)monitorListFrom:fetchClauses:":{"name":"monitorListFrom(_:fetchClauses:)","abstract":"

    Creates a CSListMonitor for a list of NSManagedObjects that satisfy the specified fetch clauses. Multiple CSListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)monitorListByCreatingAsynchronously:from:fetchClauses:":{"name":"monitorListByCreatingAsynchronously(_:from:fetchClauses:)","abstract":"

    Asynchronously creates a CSListMonitor for a list of NSManagedObjects that satisfy the specified fetch clauses. Multiple CSListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)monitorSectionedListFrom:sectionBy:fetchClauses:":{"name":"monitorSectionedListFrom(_:sectionBy:fetchClauses:)","abstract":"

    Creates a CSListMonitor for a sectioned list of NSManagedObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/s:9CoreStore11CSDataStackC44monitorSectionedListByCreatingAsynchronously_4from07sectionH012fetchClausesyyAA13CSListMonitorCc_AA6CSFromCAA09CSSectionH0CSayAA13CSFetchClause_pGtF":{"name":"monitorSectionedListByCreatingAsynchronously(_:from:sectionBy:fetchClauses:)","abstract":"

    Asynchronously creates a CSListMonitor for a sectioned list of NSManagedObjects that satisfy the specified fetch clauses. Multiple CSListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchExistingObject:":{"name":"fetchExistingObject(_:)","abstract":"

    Fetches the NSManagedObject instance in the transaction’s context from a reference created from a transaction or from a different managed object context.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchExistingObjectWithID:":{"name":"fetchExistingObjectWithID(_:)","abstract":"

    Fetches the NSManagedObject instance in the transaction’s context from an NSManagedObjectID.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchExistingObjects:":{"name":"fetchExistingObjects(_:)","abstract":"

    Fetches the NSManagedObject instances in the transaction’s context from references created from a transaction or from a different managed object context.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchExistingObjectsWithIDs:":{"name":"fetchExistingObjectsWithIDs(_:)","abstract":"

    Fetches the NSManagedObject instances in the transaction’s context from a list of NSManagedObjectID.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchOneFrom:fetchClauses:":{"name":"fetchOneFrom(_:fetchClauses:)","abstract":"

    Fetches the first NSManagedObject instance that satisfies the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchAllFrom:fetchClauses:":{"name":"fetchAllFrom(_:fetchClauses:)","abstract":"

    Fetches all NSManagedObject instances that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchCountFrom:fetchClauses:":{"name":"fetchCountFrom(_:fetchClauses:)","abstract":"

    Fetches the number of NSManagedObjects that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchObjectIDFrom:fetchClauses:":{"name":"fetchObjectIDFrom(_:fetchClauses:)","abstract":"

    Fetches the NSManagedObjectID for the first NSManagedObject that satisfies the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchObjectIDsFrom:fetchClauses:":{"name":"fetchObjectIDsFrom(_:fetchClauses:)","abstract":"

    Fetches the NSManagedObjectID for all NSManagedObjects that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)queryValueFrom:selectClause:queryClauses:":{"name":"queryValueFrom(_:selectClause:queryClauses:)","abstract":"

    Queries aggregate values as specified by the CSQueryClauses. Requires at least a CSSelect clause, and optional CSWhere, CSOrderBy, CSGroupBy, and CSTweak clauses.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)queryAttributesFrom:selectClause:queryClauses:":{"name":"queryAttributesFrom(_:selectClause:queryClauses:)","abstract":"

    Queries a dictionary of attribute values as specified by the CSQueryClauses. Requires at least a CSSelect clause, and optional CSWhere, CSOrderBy, CSGroupBy, and CSTweak clauses.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)beginAsynchronous:":{"name":"beginAsynchronous(_:)","abstract":"

    Begins a transaction asynchronously where NSManagedObject creates, updates, and deletes can be made.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)beginSynchronous:error:":{"name":"beginSynchronous(_:error:)","abstract":"

    Begins a transaction synchronously where NSManagedObject creates, updates, and deletes can be made.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)beginUnsafe":{"name":"beginUnsafe()","abstract":"

    Begins a child transaction where NSManagedObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)beginUnsafeWithSupportsUndo:":{"name":"beginUnsafeWithSupportsUndo(_:)","abstract":"

    Begins a child transaction where NSManagedObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)refreshAndMergeAllObjects":{"name":"refreshAndMergeAllObjects()","abstract":"

    Refreshes all registered objects NSManagedObjects in the DataStack.

    ","parent_name":"CSDataStack"},"Classes/CSCoreStore.html#/c:@M@CoreStore@objc(cs)CSCoreStore(cpy)defaultStack":{"name":"defaultStack","abstract":"

    The default CSDataStack instance to be used. If defaultStack is not set before the first time accessed, a default-configured CSDataStack will be created.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/s:9CoreStore06CSCoreB0C18addInMemoryStorage_10completionyAA04CSInfB0C_yAA13CSSetupResultCctFZ":{"name":"addInMemoryStorage(_:completion:)","abstract":"

    Asynchronously adds a CSInMemoryStore to the defaultStack. Migrations are also initiated by default.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/s:9CoreStore06CSCoreB0C16addSQLiteStorage_10completion5errorSo10NSProgressCSgAA08CSSQLiteB0C_yAA13CSSetupResultCcSAySo7NSErrorCSgGSgtFZ":{"name":"addSQLiteStorage(_:completion:error:)","abstract":"

    Asynchronously adds a CSSQLiteStore to the defaultStack. Migrations are also initiated by default.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)upgradeStorageIfNeeded:completion:error:":{"name":"upgradeStorageIfNeeded(_:completion:error:)","abstract":"

    Migrates a CSSQLiteStore to match the defaultStack‘s managed object model version. This method does NOT add the migrated store to the data stack.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)requiredMigrationsForSQLiteStore:error:":{"name":"requiredMigrationsForSQLiteStore(_:error:)","abstract":"

    Checks the migration steps required for the CSSQLiteStore to match the defaultStack‘s managed object model version.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)monitorObject:":{"name":"monitorObject(_:)","abstract":"

    Using the defaultStack, creates an CSObjectMonitor for the specified NSManagedObject. Multiple CSObjectObservers may then register themselves to be notified when changes are made to the NSManagedObject.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)monitorListFrom:fetchClauses:":{"name":"monitorListFrom(_:fetchClauses:)","abstract":"

    Using the defaultStack, creates a CSListMonitor for a list of NSManagedObjects that satisfy the specified fetch clauses. Multiple CSListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)monitorListByCreatingAsynchronously:from:fetchClauses:":{"name":"monitorListByCreatingAsynchronously(_:from:fetchClauses:)","abstract":"

    Using the defaultStack, asynchronously creates a CSListMonitor for a list of NSManagedObjects that satisfy the specified fetch clauses. Multiple CSListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)monitorSectionedListFrom:sectionBy:fetchClauses:":{"name":"monitorSectionedListFrom(_:sectionBy:fetchClauses:)","abstract":"

    Using the defaultStack, creates a CSListMonitor for a sectioned list of NSManagedObjects that satisfy the specified fetch clauses. Multiple CSListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)monitorSectionedListByCreatingAsynchronously:from:sectionBy:fetchClauses:":{"name":"monitorSectionedListByCreatingAsynchronously(_:from:sectionBy:fetchClauses:)","abstract":"

    Using the defaultStack, asynchronously creates a CSListMonitor for a sectioned list of NSManagedObjects that satisfy the specified fetch clauses. Multiple CSListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchExistingObject:":{"name":"fetchExistingObject(_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObject instance in the transaction’s context from a reference created from a transaction or from a different managed object context.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchExistingObjectWithID:":{"name":"fetchExistingObjectWithID(_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObject instance in the transaction’s context from an NSManagedObjectID.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchExistingObjects:":{"name":"fetchExistingObjects(_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObject instances in the transaction’s context from references created from a transaction or from a different managed object context.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchExistingObjectsWithIDs:":{"name":"fetchExistingObjectsWithIDs(_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObject instances in the transaction’s context from a list of NSManagedObjectID.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchOneFrom:fetchClauses:":{"name":"fetchOneFrom(_:fetchClauses:)","abstract":"

    Using the defaultStack, fetches the first NSManagedObject instance that satisfies the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchAllFrom:fetchClauses:":{"name":"fetchAllFrom(_:fetchClauses:)","abstract":"

    Using the defaultStack, fetches all NSManagedObject instances that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchCountFrom:fetchClauses:":{"name":"fetchCountFrom(_:fetchClauses:)","abstract":"

    Using the defaultStack, fetches the number of NSManagedObjects that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchObjectIDFrom:fetchClauses:":{"name":"fetchObjectIDFrom(_:fetchClauses:)","abstract":"

    Using the defaultStack, fetches the NSManagedObjectID for the first NSManagedObject that satisfies the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchObjectIDsFrom:fetchClauses:":{"name":"fetchObjectIDsFrom(_:fetchClauses:)","abstract":"

    Using the defaultStack, fetches the NSManagedObjectID for all NSManagedObjects that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)queryValueFrom:selectClause:queryClauses:":{"name":"queryValueFrom(_:selectClause:queryClauses:)","abstract":"

    Using the defaultStack, queries aggregate values as specified by the CSQueryClauses. Requires at least a CSSelect clause, and optional CSWhere, CSOrderBy, CSGroupBy, and CSTweak clauses.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)queryAttributesFrom:selectClause:queryClauses:":{"name":"queryAttributesFrom(_:selectClause:queryClauses:)","abstract":"

    Using the defaultStack, queries a dictionary of attribute values as specified by the CSQueryClauses. Requires at least a CSSelect clause, and optional CSWhere, CSOrderBy, CSGroupBy, and CSTweak clauses.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cpy)modelVersion":{"name":"modelVersion","abstract":"

    Returns the defaultStack‘s model version. The version string is the same as the name of the version-specific .xcdatamodeld file.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)entityTypesByNameForType:":{"name":"entityTypesByNameForType(_:)","abstract":"

    Returns the entity name-to-class type mapping from the defaultStack‘s model.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)entityDescriptionForClass:":{"name":"entityDescriptionForClass(_:)","abstract":"

    Returns the NSEntityDescription for the specified NSManagedObject subclass from defaultStack‘s model.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)addInMemoryStorageAndWaitAndReturnError:":{"name":"addInMemoryStorageAndWaitAndReturnError(_:)","abstract":"

    Creates an CSInMemoryStore with default parameters and adds it to the defaultStack. This method blocks until completion.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)addSQLiteStorageAndWaitAndReturnError:":{"name":"addSQLiteStorageAndWaitAndReturnError(_:)","abstract":"

    Creates an CSSQLiteStore with default parameters and adds it to the defaultStack. This method blocks until completion.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)addInMemoryStorageAndWait:error:":{"name":"addInMemoryStorageAndWait(_:error:)","abstract":"

    Adds a CSInMemoryStore to the defaultStack and blocks until completion.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)addSQLiteStorageAndWait:error:":{"name":"addSQLiteStorageAndWait(_:error:)","abstract":"

    Adds a CSSQLiteStore to the defaultStack and blocks until completion.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)beginAsynchronous:":{"name":"beginAsynchronous(_:)","abstract":"

    Using the defaultStack, begins a transaction asynchronously where NSManagedObject creates, updates, and deletes can be made.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)beginSynchronous:error:":{"name":"beginSynchronous(_:error:)","abstract":"

    Using the defaultStack, begins a transaction synchronously where NSManagedObject creates, updates, and deletes can be made.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)beginUnsafe":{"name":"beginUnsafe()","abstract":"

    Using the defaultStack, begins a child transaction where NSManagedObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)beginUnsafeWithSupportsUndo:":{"name":"beginUnsafeWithSupportsUndo(_:)","abstract":"

    Using the defaultStack, begins a child transaction where NSManagedObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)refreshAndMergeAllObjects":{"name":"refreshAndMergeAllObjects()","abstract":"

    Refreshes all registered objects NSManagedObjects in the defaultStack.

    ","parent_name":"CSCoreStore"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(py)hasChanges":{"name":"hasChanges","abstract":"

    Indicates if the transaction has pending changes

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)createInto:":{"name":"createInto(_:)","abstract":"

    Creates a new NSManagedObject with the specified entity type.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)editObject:":{"name":"editObject(_:)","abstract":"

    Returns an editable proxy of a specified NSManagedObject.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)editInto:objectID:":{"name":"editInto(_:objectID:)","abstract":"

    Returns an editable proxy of the object with the specified NSManagedObjectID.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)deleteObject:":{"name":"deleteObject(_:)","abstract":"

    Deletes a specified NSManagedObject.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)deleteObjects:":{"name":"deleteObjects(_:)","abstract":"

    Deletes the specified NSManagedObjects.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)refreshAndMergeAllObjects":{"name":"refreshAndMergeAllObjects()","abstract":"

    Refreshes all registered objects NSManagedObjects in the transaction.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)insertedObjectsOfType:":{"name":"insertedObjectsOfType(_:)","abstract":"

    Returns all pending NSManagedObjects of the specified type that were inserted to the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)insertedObjectIDs":{"name":"insertedObjectIDs()","abstract":"

    Returns all pending NSManagedObjectIDs that were inserted to the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)insertedObjectIDsOfType:":{"name":"insertedObjectIDsOfType(_:)","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were inserted to the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)updatedObjectsOfType:":{"name":"updatedObjectsOfType(_:)","abstract":"

    Returns all pending NSManagedObjects of the specified type that were updated in the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)updatedObjectIDs":{"name":"updatedObjectIDs()","abstract":"

    Returns all pending NSManagedObjectIDs that were updated in the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)updatedObjectIDsOfType:":{"name":"updatedObjectIDsOfType(_:)","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were updated in the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)deletedObjectsOfType:":{"name":"deletedObjectsOfType(_:)","abstract":"

    Returns all pending NSManagedObjects of the specified type that were deleted from the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)deletedObjectIDs":{"name":"deletedObjectIDs()","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were deleted from the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)deletedObjectIDsOfType:":{"name":"deletedObjectIDsOfType(_:)","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were deleted from the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchExistingObject:":{"name":"fetchExistingObject(_:)","abstract":"

    Fetches the NSManagedObject instance in the transaction’s context from a reference created from a transaction or from a different managed object context.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchExistingObjectWithID:":{"name":"fetchExistingObjectWithID(_:)","abstract":"

    Fetches the NSManagedObject instance in the transaction’s context from an NSManagedObjectID.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchExistingObjects:":{"name":"fetchExistingObjects(_:)","abstract":"

    Fetches the NSManagedObject instances in the transaction’s context from references created from a transaction or from a different managed object context.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchExistingObjectsWithIDs:":{"name":"fetchExistingObjectsWithIDs(_:)","abstract":"

    Fetches the NSManagedObject instances in the transaction’s context from a list of NSManagedObjectID.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchOneFrom:fetchClauses:":{"name":"fetchOneFrom(_:fetchClauses:)","abstract":"

    Fetches the first NSManagedObject instance that satisfies the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchAllFrom:fetchClauses:":{"name":"fetchAllFrom(_:fetchClauses:)","abstract":"

    Fetches all NSManagedObject instances that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchCountFrom:fetchClauses:":{"name":"fetchCountFrom(_:fetchClauses:)","abstract":"

    Fetches the number of NSManagedObjects that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchObjectIDFrom:fetchClauses:":{"name":"fetchObjectIDFrom(_:fetchClauses:)","abstract":"

    Fetches the NSManagedObjectID for the first NSManagedObject that satisfies the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)queryValueFrom:selectClause:queryClauses:":{"name":"queryValueFrom(_:selectClause:queryClauses:)","abstract":"

    Queries aggregate values as specified by the CSQueryClauses. Requires at least a CSSelect clause, and optional CSWhere, CSOrderBy, CSGroupBy, and CSTweak clauses.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)queryAttributesFrom:selectClause:queryClauses:":{"name":"queryAttributesFrom(_:selectClause:queryClauses:)","abstract":"

    Queries a dictionary of attribute values as specified by the CSQueryClauses. Requires at least a CSSelect clause, and optional CSWhere, CSOrderBy, CSGroupBy, and CSTweak clauses.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSAsynchronousDataTransaction(im)commitWithSuccess:failure:":{"name":"commitWithSuccess(_:failure:)","abstract":"

    Saves the transaction changes. This method should not be used after the -commitWithCompletion: method was already called once.

    ","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSAsynchronousDataTransaction(im)createInto:":{"name":"createInto(_:)","abstract":"

    Creates a new NSManagedObject with the specified entity type.

    ","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSAsynchronousDataTransaction(im)editObject:":{"name":"editObject(_:)","abstract":"

    Returns an editable proxy of a specified NSManagedObject. This method should not be used after the -commitWithCompletion: method was already called once.

    ","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSAsynchronousDataTransaction(im)editInto:objectID:":{"name":"editInto(_:objectID:)","abstract":"

    Returns an editable proxy of the object with the specified NSManagedObjectID. This method should not be used after the -commitWithCompletion: method was already called once.

    ","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSAsynchronousDataTransaction(im)deleteObject:":{"name":"deleteObject(_:)","abstract":"

    Deletes a specified NSManagedObject. This method should not be used after the -commitWithCompletion: method was already called once.

    ","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSAsynchronousDataTransaction(im)deleteObjects:":{"name":"deleteObjects(_:)","abstract":"

    Deletes the specified NSManagedObjects.

    ","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypeP9SwiftTypeQa":{"name":"SwiftType","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSAsynchronousDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC10hasChangesSbvp":{"name":"hasChanges","abstract":"

    Indicates if the transaction has pending changes

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC6createyxAA4IntoVyxGAA13DynamicObjectRzlF":{"name":"create(_:)","abstract":"

    Creates a new NSManagedObject or CoreStoreObject with the specified entity type.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC4edityxSgAeA13DynamicObjectRzlF":{"name":"edit(_:)","abstract":"

    Returns an editable proxy of a specified NSManagedObject or CoreStoreObject.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC4edityxSgAA4IntoVyxG_So17NSManagedObjectIDCtAA07DynamicI0RzlF":{"name":"edit(_:_:)","abstract":"

    Returns an editable proxy of the object with the specified NSManagedObjectID.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC6deleteyyxSgAA13DynamicObjectRzlF":{"name":"delete(_:)","abstract":"

    Deletes a specified NSManagedObject or CoreStoreObject.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC6deleteyyxSg_A2EdtAA13DynamicObjectRzlF":{"name":"delete(_:_:_:)","abstract":"

    Deletes the specified NSManagedObjects or CoreStoreObjects.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC6deleteyyxSTRzAA13DynamicObject7ElementRpzlF":{"name":"delete(_:)","abstract":"

    Deletes the specified NSManagedObjects or CoreStoreObjects.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC25refreshAndMergeAllObjectsyyF":{"name":"refreshAndMergeAllObjects()","abstract":"

    Refreshes all registered objects NSManagedObjects in the transaction.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC15insertedObjectsyShyxGxmAA13DynamicObjectRzSHRzlF":{"name":"insertedObjects(_:)","abstract":"

    Returns all pending DynamicObjects of the specified type that were inserted to the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC17insertedObjectIDsShySo09NSManagedG2IDCSo8NSObjectCSH10ObjectiveCg_GyF":{"name":"insertedObjectIDs()","abstract":"

    Returns all pending NSManagedObjectIDs that were inserted to the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC17insertedObjectIDsyShySo09NSManagedG2IDCSo8NSObjectCSH10ObjectiveCg_GxmAA07DynamicG0RzlF":{"name":"insertedObjectIDs(_:)","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were inserted to the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC14updatedObjectsyShyxGxmAA13DynamicObjectRzSHRzlF":{"name":"updatedObjects(_:)","abstract":"

    Returns all pending DynamicObjects of the specified type that were updated in the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC16updatedObjectIDsShySo09NSManagedG2IDCSo8NSObjectCSH10ObjectiveCg_GyF":{"name":"updatedObjectIDs()","abstract":"

    Returns all pending NSManagedObjectIDs that were updated in the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC16updatedObjectIDsyShySo09NSManagedG2IDCSo8NSObjectCSH10ObjectiveCg_GxmAA07DynamicG0RzlF":{"name":"updatedObjectIDs(_:)","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were updated in the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC14deletedObjectsyShyxGxmAA13DynamicObjectRzSHRzlF":{"name":"deletedObjects(_:)","abstract":"

    Returns all pending DynamicObjects of the specified type that were deleted from the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC16deletedObjectIDsShySo09NSManagedG2IDCSo8NSObjectCSH10ObjectiveCg_GyF":{"name":"deletedObjectIDs()","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were deleted from the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC16deletedObjectIDsyShySo09NSManagedG2IDCSo8NSObjectCSH10ObjectiveCg_GxmAA07DynamicG0RzlF":{"name":"deletedObjectIDs(_:)","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were deleted from the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC8userInfoAA04UserG0Cvp":{"name":"userInfo","abstract":"

    Allow external libraries to store custom data in the transaction. App code should rarely have a need for this.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC12importObject_6sourcexSgAA4IntoVyxG_12ImportSourceQztKAA010ImportableG0RzlF":{"name":"importObject(_:source:)","abstract":"

    Creates an ImportableObject by importing from the specified import source.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC12importObject_6sourceyx_12ImportSourceQztKAA010ImportableG0RzlF":{"name":"importObject(_:source:)","abstract":"

    Updates an existing ImportableObject by importing values from the specified import source.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13importObjects_11sourceArraySayxGAA4IntoVyxG_q_tKAA16ImportableObjectRzSTR_7ElementQy_12ImportSourceRtzr0_lF":{"name":"importObjects(_:sourceArray:)","abstract":"

    Creates multiple ImportableObjects by importing from the specified array of import sources.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC18importUniqueObject_6sourcexSgAA4IntoVyxG_12ImportSourceQztKAA010ImportablegH0RzlF":{"name":"importUniqueObject(_:source:)","abstract":"

    Updates an existing ImportableUniqueObject or creates a new instance by importing from the specified import source.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC19importUniqueObjects_11sourceArray10preProcessSayxGAA4IntoVyxG_q_SDy0G6IDTypeQz12ImportSourceQzGAOKctKAA010ImportableG6ObjectRzSTR_7ElementQy_ANRSr0_lF":{"name":"importUniqueObjects(_:sourceArray:preProcess:)","abstract":"

    Updates existing ImportableUniqueObjects or creates them by importing from the specified array of import sources.","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC9deleteAllySiSgAA4FromVyxG_AA12DeleteClause_pdtAA13DynamicObjectRzlF":{"name":"deleteAll(_:_:)","abstract":"

    Deletes all DynamicObjects that satisfy the specified DeleteClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC9deleteAllySiSgAA4FromVyxG_SayAA12DeleteClause_pGtAA13DynamicObjectRzlF":{"name":"deleteAll(_:_:)","abstract":"

    Deletes all DynamicObjects that satisfy the specified DeleteClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC9deleteAllySiSgxAA25FetchChainableBuilderTypeRzlF":{"name":"deleteAll(_:)","abstract":"

    Deletes all DynamicObjects that satisfy the specified conditions.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13fetchExistingyxSgxAA13DynamicObjectRzlF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instance in the transaction’s context from a reference created from a transaction or from a different managed object context.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13fetchExistingyxSgSo17NSManagedObjectIDCAA07DynamicI0RzlF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instance in the transaction’s context from an NSManagedObjectID.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13fetchExistingySayxGq_AA13DynamicObjectRz7ElementQy_RszSTR_r0_lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instances in the transaction’s context from references created from a transaction or from a different managed object context.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13fetchExistingySayxGq_AA13DynamicObjectRzSTR_So09NSManagedI2IDC7ElementRt_r0_lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instances in the transaction’s context from a list of NSManagedObjectID.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC8fetchOneyxSgAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"fetchOne(_:_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC8fetchOneyxSgAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"fetchOne(_:_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC8fetchOney10ObjectTypeQzSgxAA021FetchChainableBuilderI0RzlF":{"name":"fetchOne(_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC8fetchAllySayxGSgAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"fetchAll(_:_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC8fetchAllySayxGSgAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"fetchAll(_:_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC8fetchAllySay10ObjectTypeQzGSgxAA021FetchChainableBuilderI0RzlF":{"name":"fetchAll(_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC10fetchCountySiSgAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"fetchCount(_:_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC10fetchCountySiSgAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"fetchCount(_:_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC10fetchCountySiSgxAA25FetchChainableBuilderTypeRzlF":{"name":"fetchCount(_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13fetchObjectIDySo09NSManagedgH0CSgAA4FromVyxG_AA11FetchClause_pdtAA07DynamicG0RzlF":{"name":"fetchObjectID(_:_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13fetchObjectIDySo09NSManagedgH0CSgAA4FromVyxG_SayAA11FetchClause_pGtAA07DynamicG0RzlF":{"name":"fetchObjectID(_:_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13fetchObjectIDySo09NSManagedgH0CSgxAA25FetchChainableBuilderTypeRzlF":{"name":"fetchObjectID(_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC14fetchObjectIDsySaySo09NSManagedG2IDCGSgAA4FromVyxG_AA11FetchClause_pdtAA07DynamicG0RzlF":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC14fetchObjectIDsySaySo09NSManagedG2IDCGSgAA4FromVyxG_SayAA11FetchClause_pGtAA07DynamicG0RzlF":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC14fetchObjectIDsySaySo09NSManagedG2IDCGSgxAA25FetchChainableBuilderTypeRzlF":{"name":"fetchObjectIDs(_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC10queryValueyq_SgAA4FromVyxG_AA6SelectVyxq_GAA11QueryClause_pdtAA13DynamicObjectRzAA22QueryableAttributeTypeR_r0_lF":{"name":"queryValue(_:_:_:)","abstract":"

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC10queryValueyq_SgAA4FromVyxG_AA6SelectVyxq_GSayAA11QueryClause_pGtAA13DynamicObjectRzAA22QueryableAttributeTypeR_r0_lF":{"name":"queryValue(_:_:_:)","abstract":"

    Queries aggregate values or aggregates as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC10queryValuey10ResultTypeQzSgxAA021QueryChainableBuilderI0RzAA018QueryableAttributeI0AFRQlF":{"name":"queryValue(_:)","abstract":"

    Queries a property value or aggregate as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC15queryAttributesySaySDySSypGGSgAA4FromVyxG_AA6SelectVyxSo12NSDictionaryCGAA11QueryClause_pdtAA13DynamicObjectRzlF":{"name":"queryAttributes(_:_:_:)","abstract":"

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC15queryAttributesySaySDySSypGGSgAA4FromVyxG_AA6SelectVyxSo12NSDictionaryCGSayAA11QueryClause_pGtAA13DynamicObjectRzlF":{"name":"queryAttributes(_:_:_:)","abstract":"

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC15queryAttributesySaySDySSypGGSgxAA25QueryChainableBuilderTypeRzSo12NSDictionaryC06ResultK0RtzlF":{"name":"queryAttributes(_:)","abstract":"

    Queries a dictionary of attribute values or as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13unsafeContextSo015NSManagedObjectG0CyF":{"name":"unsafeContext()","abstract":"

    The internal NSManagedObjectContext managed by this instance. Using this context directly should typically be avoided, and is provided by CoreStore only for extremely specialized cases.

    ","parent_name":"BaseDataTransaction"},"Classes/AsynchronousDataTransaction/Result.html#/s:9CoreStore27AsynchronousDataTransactionC6ResultO7successyAEy_xGx_tcAGmlF":{"name":"success(userInfo:)","abstract":"

    Result<T>.success indicates that the transaction succeeded, either because the save succeeded or because there were no changes to save. The associated userInfo is the value returned from the transaction closure.

    ","parent_name":"Result"},"Classes/AsynchronousDataTransaction/Result.html#/s:9CoreStore27AsynchronousDataTransactionC6ResultO7failureyAEy_xGAA0aB5ErrorO_tcAGmlF":{"name":"failure(error:)","abstract":"

    Result<T>.failure indicates that the transaction either failed or was cancelled. The associated object for this value is a CoreStoreError enum value.

    ","parent_name":"Result"},"Classes/AsynchronousDataTransaction/Result.html#/s:9CoreStore27AsynchronousDataTransactionC6ResultO9boolValueSbvp":{"name":"boolValue","abstract":"

    Returns true if the result indicates .success, false if the result is .failure.

    ","parent_name":"Result"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC6cancels5NeverOyKF":{"name":"cancel()","abstract":"

    Cancels a transaction by throwing CoreStoreError.userCancelled.

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction/Result.html":{"name":"Result","abstract":"

    The Result contains the success or failure information for a completed transaction

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC6createyxAA4IntoVyxGAA13DynamicObjectRzlF":{"name":"create(_:)","abstract":"

    Creates a new NSManagedObject or CoreStoreObject with the specified entity type.

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC4edityxSgAeA13DynamicObjectRzlF":{"name":"edit(_:)","abstract":"

    Returns an editable proxy of a specified NSManagedObject or CoreStoreObject.

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC4edityxSgAA4IntoVyxG_So17NSManagedObjectIDCtAA07DynamicI0RzlF":{"name":"edit(_:_:)","abstract":"

    Returns an editable proxy of the object with the specified NSManagedObjectID.

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC6deleteyyxSgAA13DynamicObjectRzlF":{"name":"delete(_:)","abstract":"

    Deletes a specified NSManagedObject or CoreStoreObject.

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC6deleteyyxSg_A2EdtAA13DynamicObjectRzlF":{"name":"delete(_:_:_:)","abstract":"

    Deletes the specified DynamicObjects.

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC6deleteyyxSTRzAA13DynamicObject7ElementRpzlF":{"name":"delete(_:)","abstract":"

    Deletes the specified DynamicObjects.

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html":{"name":"AsynchronousDataTransaction","abstract":"

    The AsynchronousDataTransaction provides an interface for DynamicObject creates, updates, and deletes. A transaction object should typically be only used from within a transaction block initiated from DataStack.perform(asynchronous:...), or from CoreStore.perform(synchronous:...).

    "},"Classes/BaseDataTransaction.html":{"name":"BaseDataTransaction","abstract":"

    The BaseDataTransaction is an abstract interface for NSManagedObject creates, updates, and deletes. All BaseDataTransaction subclasses manage a private NSManagedObjectContext which are direct children of the NSPersistentStoreCoordinator‘s root NSManagedObjectContext. This means that all updates are saved first to the persistent store, and then propagated up to the read-only NSManagedObjectContext.

    "},"Classes/CSAsynchronousDataTransaction.html":{"name":"CSAsynchronousDataTransaction","abstract":"

    The CSAsynchronousDataTransaction serves as the Objective-C bridging type for AsynchronousDataTransaction.

    "},"Classes/CSBaseDataTransaction.html":{"name":"CSBaseDataTransaction","abstract":"

    The CSBaseDataTransaction serves as the Objective-C bridging type for BaseDataTransaction.

    "},"Classes/CSCoreStore.html":{"name":"CSCoreStore","abstract":"

    The CSCoreStore serves as the Objective-C bridging type for CoreStore.

    "},"Classes/CSDataStack.html":{"name":"CSDataStack","abstract":"

    The CSDataStack serves as the Objective-C bridging type for DataStack.

    "},"Classes/DataStack.html":{"name":"DataStack","abstract":"

    The DataStack encapsulates the data model for the Core Data stack. Each DataStack can have multiple data stores, usually specified as a Configuration in the model editor. Behind the scenes, the DataStack manages its own NSPersistentStoreCoordinator, a root NSManagedObjectContext for disk saves, and a shared NSManagedObjectContext designed as a read-only model interface for NSManagedObjects.

    "},"Classes/CSError.html":{"name":"CSError","abstract":"

    All errors thrown from CoreStore are expressed in CSErrors.

    "},"Classes/CSFrom.html":{"name":"CSFrom","abstract":"

    The CSFrom serves as the Objective-C bridging type for From.

    "},"Classes/CSGroupBy.html":{"name":"CSGroupBy","abstract":"

    The CSGroupBy serves as the Objective-C bridging type for GroupBy.

    "},"Classes/CSInMemoryStore.html":{"name":"CSInMemoryStore","abstract":"

    The CSInMemoryStore serves as the Objective-C bridging type for InMemoryStore.

    "},"Classes/InMemoryStore.html":{"name":"InMemoryStore","abstract":"

    A storage interface that is backed only in memory.

    "},"Classes/CSInto.html":{"name":"CSInto","abstract":"

    The CSInto serves as the Objective-C bridging type for Into<T>.

    "},"Classes/CSListMonitor.html":{"name":"CSListMonitor","abstract":"

    The CSListMonitor serves as the Objective-C bridging type for ListMonitor<T>.

    "},"Classes/CSMigrationResult.html":{"name":"CSMigrationResult","abstract":"

    The CSMigrationResult serves as the Objective-C bridging type for MigrationResult.

    "},"Classes/CSMigrationType.html":{"name":"CSMigrationType","abstract":"

    The CSMigrationType serves as the Objective-C bridging type for MigrationType.

    "},"Classes/CSObjectMonitor.html":{"name":"CSObjectMonitor","abstract":"

    The CSObjectMonitor serves as the Objective-C bridging type for ObjectMonitor<T>.

    "},"Classes/CSOrderBy.html":{"name":"CSOrderBy","abstract":"

    The CSOrderBy serves as the Objective-C bridging type for OrderBy.

    "},"Classes/CSSQLiteStore.html":{"name":"CSSQLiteStore","abstract":"

    The CSSQLiteStore serves as the Objective-C bridging type for SQLiteStore.

    "},"Classes/SQLiteStore.html":{"name":"SQLiteStore","abstract":"

    A storage interface that is backed by an SQLite database.

    "},"Classes/CSSectionBy.html":{"name":"CSSectionBy","abstract":"

    The CSSectionBy serves as the Objective-C bridging type for SectionBy.

    "},"Classes/CSSelectTerm.html":{"name":"CSSelectTerm","abstract":"

    The CSSelectTerm serves as the Objective-C bridging type for SelectTerm.

    "},"Classes/CSSelect.html":{"name":"CSSelect","abstract":"

    The CSSelect serves as the Objective-C bridging type for Select.

    "},"Classes/CSSetupResult.html":{"name":"CSSetupResult","abstract":"

    The CSSetupResult serves as the Objective-C bridging type for SetupResult.

    "},"Classes/CSSynchronousDataTransaction.html":{"name":"CSSynchronousDataTransaction","abstract":"

    The CSSynchronousDataTransaction serves as the Objective-C bridging type for SynchronousDataTransaction.

    "},"Classes/SynchronousDataTransaction.html":{"name":"SynchronousDataTransaction","abstract":"

    The SynchronousDataTransaction provides an interface for DynamicObject creates, updates, and deletes. A transaction object should typically be only used from within a transaction block initiated from DataStack.beginSynchronous(_:), or from CoreStore.beginSynchronous(_:).

    "},"Classes/CSTweak.html":{"name":"CSTweak","abstract":"

    The CSTweak serves as the Objective-C bridging type for Tweak.

    "},"Classes/CSUnsafeDataModelSchema.html":{"name":"CSUnsafeDataModelSchema","abstract":"

    The CSUnsafeDataModelSchema serves as the Objective-C bridging type for UnsafeDataModelSchema.

    "},"Classes/UnsafeDataModelSchema.html":{"name":"UnsafeDataModelSchema","abstract":"

    The UnsafeDataModelSchema describes models loaded directly from an existing NSManagedObjectModel. It is not advisable to continue using this model as its metadata are not available to CoreStore.

    "},"Classes/CSUnsafeDataTransaction.html":{"name":"CSUnsafeDataTransaction","abstract":"

    The CSUnsafeDataTransaction serves as the Objective-C bridging type for UnsafeDataTransaction.

    "},"Classes/UnsafeDataTransaction.html":{"name":"UnsafeDataTransaction","abstract":"

    The UnsafeDataTransaction provides an interface for non-contiguous NSManagedObject or CoreStoreObject creates, updates, and deletes. This is useful for making temporary changes, such as partially filled forms. An unsafe transaction object should typically be only used from the main queue.

    "},"Classes/CSWhere.html":{"name":"CSWhere","abstract":"

    The CSWhere serves as the Objective-C bridging type for Where.

    "},"Classes/CSXcodeDataModelSchema.html":{"name":"CSXcodeDataModelSchema","abstract":"

    The CSXcodeDataModelSchema serves as the Objective-C bridging type for XcodeDataModelSchema.

    "},"Classes/XcodeDataModelSchema.html":{"name":"XcodeDataModelSchema","abstract":"

    The XcodeDataModelSchema describes a model version declared in a single *.xcdatamodeld file.

    "},"Classes/CoreStoreObject.html":{"name":"CoreStoreObject","abstract":"

    The CoreStoreObject is an abstract class for creating CoreStore-managed objects that are more type-safe and more convenient than NSManagedObject subclasses. The model entities for CoreStoreObject subclasses are inferred from the Swift declaration themselves; no .xcdatamodeld files are needed. To declare persisted attributes and relationships for the CoreStoreObject subclass, declare properties of type Value.Required<T>, Value.Optional<T> for values, or Relationship.ToOne<T>, Relationship.ToManyOrdered<T>, Relationship.ToManyUnordered<T> for relationships.

    "},"Classes/CoreStoreSchema.html":{"name":"CoreStoreSchema","abstract":"

    The CoreStoreSchema describes models written for CoreStoreObject Swift class declarations for a particular model version. CoreStoreObject entities for a model version should be added to CoreStoreSchema instance.

    "},"Classes/Entity.html":{"name":"Entity","abstract":"

    The Entity<O> contains NSEntityDescription metadata for CoreStoreObject subclasses. Pass the Entity instances to CoreStoreSchema initializer.

    "},"Classes/ICloudStore.html":{"name":"ICloudStore","abstract":"

    A storage interface backed by an SQLite database managed by iCloud.

    "},"Classes/ListMonitor.html":{"name":"ListMonitor","abstract":"

    The ListMonitor monitors changes to a list of DynamicObject instances. Observers that implement the ListObserver protocol may then register themselves to the ListMonitor‘s addObserver(_:) method:

    "},"Classes/ObjectMonitor.html":{"name":"ObjectMonitor","abstract":"

    The ObjectMonitor monitors changes to a single DynamicObject instance. Observers that implement the ObjectObserver protocol may then register themselves to the ObjectMonitor‘s addObserver(_:) method:

    "},"Classes/SchemaHistory.html":{"name":"SchemaHistory","abstract":"

    The SchemaHistory encapsulates multiple DynamicSchema across multiple model versions. It contains all model history and is used by the DataStack to

    "},"Classes/CoreStoreObjectValueDiff.html":{"name":"CoreStoreObjectValueDiff","abstract":"

    The object containing the changeset for an observed ValueContainer.Required and ValueContainer.Optional property.

    "},"Classes/CoreStoreObjectTransformableDiff.html":{"name":"CoreStoreObjectTransformableDiff","abstract":"

    The object containing the changeset for an observed TransformableContainer.Required or TransformableContainer.Optional property.

    "},"Classes/CoreStoreObjectObjectDiff.html":{"name":"CoreStoreObjectObjectDiff","abstract":"

    The object containing the changeset for an observed RelationshipContainer.ToOne property.

    "},"Classes/CoreStoreObjectUnorderedDiff.html":{"name":"CoreStoreObjectUnorderedDiff","abstract":"

    The object containing the changeset for an observed RelationshipContainer.ToManyUnordered property.

    "},"Classes/CoreStoreObjectOrderedDiff.html":{"name":"CoreStoreObjectOrderedDiff","abstract":"

    The object containing the changeset for an observed RelationshipContainer.Ordered property.

    "},"Classes/CustomSchemaMappingProvider.html":{"name":"CustomSchemaMappingProvider","abstract":"

    A SchemaMappingProvider that accepts custom mappings for some entities. Mappings of entities with no CustomMapping provided will be automatically calculated if possible.

    "},"Classes/DefaultLogger.html":{"name":"DefaultLogger","abstract":"

    The DefaultLogger is a basic implementation of the CoreStoreLogger protocol.

    "},"Classes/DynamicEntity.html":{"name":"DynamicEntity","abstract":"

    Use concrete instances of Entity<O> in API that accept DynamicEntity arguments.

    "},"Classes/InferredSchemaMappingProvider.html":{"name":"InferredSchemaMappingProvider","abstract":"

    A SchemaMappingProvider that tries to infer model migration between two DynamicSchema versions by searching all xcmappingmodels from Bundle.allBundles or by relying on lightweight migration if possible. Throws an error if lightweight migration is impossible for the two DynamicSchema. This mapping is automatically used as a fallback mapping provider, even if no mapping providers are explicitly declared in the StorageInterface.

    "},"Classes/UserInfo.html":{"name":"UserInfo","abstract":"

    The UserInfo class is provided by several CoreStore types such as DataStack, ListMonitor, ObjectMonitor and transactions to allow external libraries or user apps to store their own custom data.

    "},"Classes/XcodeSchemaMappingProvider.html":{"name":"XcodeSchemaMappingProvider","abstract":"

    A SchemaMappingProvider that tries to infer model migration between two DynamicSchema versions by loading an xcmappingmodel file from the specified Bundle. Throws CoreStoreError.mappingModelNotFound if the xcmappingmodel file cannot be found, or if the xcmappingmodel doesn’t resolve the source and destination DynamicSchema.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Global Variables.html":{"name":"Global Variables","abstract":"

    The following global variables are available globally.

    "},"Enums.html":{"name":"Enumerations","abstract":"

    The following enumerations are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Functions.html":{"name":"Functions","abstract":"

    The following functions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "},"Typealiases.html":{"name":"Type Aliases","abstract":"

    The following type aliases are available globally.

    "}} \ No newline at end of file +{"Typealiases.html#/s:9CoreStore22XcodeDataModelFileNamea":{"name":"XcodeDataModelFileName","abstract":"

    A String that pertains to the name of an *.xcdatamodeld file (without the file extension).

    "},"Typealiases.html#/s:9CoreStore18ModelConfigurationa":{"name":"ModelConfiguration","abstract":"

    An Optional<String> that pertains to the name of a Configuration which particular groups of entities may belong to. When nil, pertains to the default configuration which includes all entities.

    "},"Typealiases.html#/s:9CoreStore12ModelVersiona":{"name":"ModelVersion","abstract":"

    An String that pertains to the name of a versioned *.xcdatamodeld file (without the file extension). Model version strings don’t necessarily have to be numeric or ordered in any way. The migration sequence will always be decided by (or the lack of) the MigrationChain.

    "},"Typealiases.html#/s:9CoreStore10EntityNamea":{"name":"EntityName","abstract":"

    An String that pertains to an Entity name.

    "},"Typealiases.html#/s:9CoreStore9ClassNamea":{"name":"ClassName","abstract":"

    An String that pertains to a dynamically-accessable class name (usable with NSClassFromString(…)).

    "},"Typealiases.html#/s:9CoreStore13KeyPathStringa":{"name":"KeyPathString","abstract":"

    An String that pertains to a attribute keyPaths.

    "},"Typealiases.html#/s:9CoreStore15MigrationResulta":{"name":"MigrationResult","abstract":"

    The MigrationResult indicates the result of a migration."},"Typealiases.html#/s:9CoreStore11SetupResulta":{"name":"SetupResult","abstract":"

    The SetupResult indicates the result of an asynchronous initialization of a persistent store."},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore25SectionMonitorBuilderTypeP4fromAA4FromVy06ObjectF0QzGvp":{"name":"from","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore25SectionMonitorBuilderTypeP9sectionByAA0cH0Vy06ObjectF0QzGvp":{"name":"sectionBy","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore25SectionMonitorBuilderTypeP12fetchClausesSayAA11FetchClause_pGvp":{"name":"fetchClauses","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV5whereyACyxGAA5WhereVyxGF":{"name":"where(_:)","abstract":"

    Adds a Where clause to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV5where6format_ACyxGSS_ypdtF":{"name":"where(format:_:)","abstract":"

    Adds a Where clause to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV5where6format13argumentArrayACyxGSS_SayypGSgtF":{"name":"where(format:argumentArray:)","abstract":"

    Adds a Where clause to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV7orderByyACyxGAA05OrderH0VyxGF":{"name":"orderBy(_:)","abstract":"

    Adds an OrderBy clause to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV7orderByyACyxGAA05OrderH0V7SortKeyVyx_G_AJdtF":{"name":"orderBy(_:_:)","abstract":"

    Adds an OrderBy clause to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV7orderByyACyxGSayAA05OrderH0V7SortKeyVyx_GGF":{"name":"orderBy(_:)","abstract":"

    Adds an OrderBy clause to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV5tweakyACyxGySo14NSFetchRequestCySo0hI6Result_pGcF":{"name":"tweak(_:)","abstract":"

    Adds a Tweak clause to the SectionMonitorChainBuilder with a closure where the NSFetchRequest may be configured

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV9appendingyACyxGAA11FetchClause_pF":{"name":"appending(_:)","abstract":"

    Appends a QueryClause to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV9appending10contentsOfACyxGqd___tSTRd__AA11FetchClause_p7ElementRtd__lF":{"name":"appending(contentsOf:)","abstract":"

    Appends a series of QueryClauses to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderVA2A0aB6ObjectCRbzrlE5whereyACyxGqd__xXEAA14AnyWhereClauseRd__lF":{"name":"where(_:)","abstract":"

    Adds a Where clause to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore25QueryChainableBuilderTypeP06ObjectF0Qa":{"name":"ObjectType","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore25QueryChainableBuilderTypeP06ResultF0Qa":{"name":"ResultType","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore25QueryChainableBuilderTypeP4fromAA4FromVy06ObjectF0QzGvp":{"name":"from","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore25QueryChainableBuilderTypeP6selectAA6SelectVy06ObjectF0Qz06ResultF0QzGvp":{"name":"select","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore25QueryChainableBuilderTypeP12queryClausesSayAA0C6Clause_pGvp":{"name":"queryClauses","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV5whereyACyxq_GAA5WhereVyxGF":{"name":"where(_:)","abstract":"

    Adds a Where clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV5where6format_ACyxq_GSS_ypdtF":{"name":"where(format:_:)","abstract":"

    Adds a Where clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV5where6format13argumentArrayACyxq_GSS_SayypGSgtF":{"name":"where(format:argumentArray:)","abstract":"

    Adds a Where clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV7orderByyACyxq_GAA05OrderG0VyxGF":{"name":"orderBy(_:)","abstract":"

    Adds an OrderBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV7orderByyACyxq_GAA05OrderG0V7SortKeyVyx_G_AJdtF":{"name":"orderBy(_:_:)","abstract":"

    Adds an OrderBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV7orderByyACyxq_GSayAA05OrderG0V7SortKeyVyx_GGF":{"name":"orderBy(_:)","abstract":"

    Adds an OrderBy clause to the QueryChainBuild

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV5tweakyACyxq_GySo14NSFetchRequestCySo0gH6Result_pGcF":{"name":"tweak(_:)","abstract":"

    Adds a Tweak clause to the QueryChainBuilder with a closure where the NSFetchRequest may be configured

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV7groupByyACyxq_GAA05GroupG0VyxGF":{"name":"groupBy(_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV7groupByyACyxq_GSS_SSdtF":{"name":"groupBy(_:_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV7groupByyACyxq_GSaySSGF":{"name":"groupBy(_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV9appendingyACyxq_GAA0C6Clause_pF":{"name":"appending(_:)","abstract":"

    Appends a QueryClause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV9appending10contentsOfACyxq_Gqd___tSTRd__AA0C6Clause_p7ElementRtd__lF":{"name":"appending(contentsOf:)","abstract":"

    Appends a series of QueryClauses to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderVAASo15NSManagedObjectCRbzrlE7groupByyACyxq_Gs7KeyPathCyxqd__GlF":{"name":"groupBy(_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderVA2A0aB6ObjectCRbzrlE5whereyACyxq_Gqd__xXEAA14AnyWhereClauseRd__lF":{"name":"where(_:)","abstract":"

    Adds a Where clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderVA2A0aB6ObjectCRbzrlE7groupByyACyxq_Gs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GGAA23ImportableAttributeTypeRd__lF":{"name":"groupBy(_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderVA2A0aB6ObjectCRbzrlE7groupByyACyxq_Gs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GGAA23ImportableAttributeTypeRd__lF":{"name":"groupBy(_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderVA2A0aB6ObjectCRbzrlE7groupByyACyxq_Gs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GGSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"groupBy(_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderVA2A0aB6ObjectCRbzrlE7groupByyACyxq_Gs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GGSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"groupBy(_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore25FetchChainableBuilderTypeP06ObjectF0Qa":{"name":"ObjectType","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore25FetchChainableBuilderTypeP4fromAA4FromVy06ObjectF0QzGvp":{"name":"from","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore25FetchChainableBuilderTypeP12fetchClausesSayAA0C6Clause_pGvp":{"name":"fetchClauses","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV5whereyACyxGAA5WhereVyxGF":{"name":"where(_:)","abstract":"

    Adds a Where clause to the FetchChainBuilder

    ","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV5where6format_ACyxGSS_ypdtF":{"name":"where(format:_:)","abstract":"

    Adds a Where clause to the FetchChainBuilder

    ","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV5where6format13argumentArrayACyxGSS_SayypGSgtF":{"name":"where(format:argumentArray:)","abstract":"

    Adds a Where clause to the FetchChainBuilder

    ","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV7orderByyACyxGAA05OrderG0VyxGF":{"name":"orderBy(_:)","abstract":"

    Adds an OrderBy clause to the FetchChainBuilder

    ","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV7orderByyACyxGAA05OrderG0V7SortKeyVyx_G_AJdtF":{"name":"orderBy(_:_:)","abstract":"

    Adds an OrderBy clause to the FetchChainBuilder

    ","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV7orderByyACyxGSayAA05OrderG0V7SortKeyVyx_GGF":{"name":"orderBy(_:)","abstract":"

    Adds an OrderBy clause to the FetchChainBuilder

    ","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV5tweakyACyxGySo14NSFetchRequestCySo0gH6Result_pGcF":{"name":"tweak(_:)","abstract":"

    Adds a Tweak clause to the FetchChainBuilder with a closure where the NSFetchRequest may be configured

    ","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV9appendingyACyxGAA0C6Clause_pF":{"name":"appending(_:)","abstract":"

    Appends a FetchClause to the FetchChainBuilder

    ","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV9appending10contentsOfACyxGqd___tSTRd__AA0C6Clause_p7ElementRtd__lF":{"name":"appending(contentsOf:)","abstract":"

    Appends a series of FetchClauses to the FetchChainBuilder

    ","parent_name":"FetchChainBuilder"},"Structs/VersionLock.html#/s:9CoreStore11VersionLockV11HashElementa":{"name":"HashElement","abstract":"

    The value type for the dictionary initializer, which is UInt64

    ","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:9CoreStore11VersionLockV18hashesByEntityNameSDySS10Foundation4DataVGvp":{"name":"hashesByEntityName","abstract":"

    The Data hash for each entity name.

    ","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:9CoreStore11VersionLockVyACSDySSSays6UInt64VGGcfc":{"name":"init(_:)","abstract":"

    Initializes a VersionLock with the version hash for each entity name.

    ","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:s30ExpressibleByDictionaryLiteralP3KeyQa":{"name":"Key","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:s30ExpressibleByDictionaryLiteralP5ValueQa":{"name":"Value","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:s30ExpressibleByDictionaryLiteralP010dictionaryD0x3KeyQz_5ValueQztd_tcfc":{"name":"init(dictionaryLiteral:)","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"VersionLock"},"Structs/Where/Expression.html#/s:9CoreStore5WhereV10ExpressionV5Traita":{"name":"Trait","abstract":"

    Currently supports SingleTarget and CollectionTarget.

    ","parent_name":"Expression"},"Structs/Where/Expression.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"Expression"},"Structs/Where/Expression.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"Expression"},"Structs/Where/Expression.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"Expression"},"Structs/Where/Expression.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"Expression"},"Structs/Where/Expression.html#/s:9CoreStore5WhereV10ExpressionVAASo15NSManagedObjectCRbzAC16CollectionTargetOyx_GRsd__AA39AllowedObjectiveCCollectionKeyPathValueRd_0_rlE5countAEyx_AJSiGyF":{"name":"count()","abstract":"

    Creates a Where.Expression clause for COUNT

    ","parent_name":"Expression"},"Structs/Where/Expression.html#/s:9CoreStore5WhereV10ExpressionVAASo15NSManagedObjectCRbzAC16CollectionTargetOyx_GRsd__AA29AllowedObjectiveCKeyPathValueRd_0_rlE3anyAEyx_AJqd_0_GyF":{"name":"any()","abstract":"

    Creates a Where.Expression clause for ANY

    ","parent_name":"Expression"},"Structs/Where/Expression.html#/s:9CoreStore5WhereV10ExpressionVAASo15NSManagedObjectCRbzAC16CollectionTargetOyx_GRsd__AA29AllowedObjectiveCKeyPathValueRd_0_rlE3allAEyx_AJqd_0_GyF":{"name":"all()","abstract":"

    Creates a Where.Expression clause for ALL

    ","parent_name":"Expression"},"Structs/Where/Expression.html#/s:9CoreStore5WhereV10ExpressionVAASo15NSManagedObjectCRbzAC16CollectionTargetOyx_GRsd__AA29AllowedObjectiveCKeyPathValueRd_0_rlE4noneAEyx_AJqd_0_GyF":{"name":"none()","abstract":"

    Creates a Where.Expression clause for NONE

    ","parent_name":"Expression"},"Structs/Where/Expression.html#/s:9CoreStore5WhereV10ExpressionVA2A0aB6ObjectCRbzAC16CollectionTargetOyx_GRsd__rlE5countAEyx_AJSiGyF":{"name":"count()","abstract":"

    Creates a Where.Expression clause for COUNT

    ","parent_name":"Expression"},"Structs/Where/Expression.html#/s:9CoreStore5WhereV10ExpressionVA2A0aB6ObjectCRbzAC16CollectionTargetOyx_GRsd__rlE3anyAEyx_AJqd_0_GyF":{"name":"any()","abstract":"

    Creates a Where.Expression clause for ANY

    ","parent_name":"Expression"},"Structs/Where/Expression.html#/s:9CoreStore5WhereV10ExpressionVA2A0aB6ObjectCRbzAC16CollectionTargetOyx_GRsd__rlE3allAEyx_AJqd_0_GyF":{"name":"all()","abstract":"

    Creates a Where.Expression clause for ALL

    ","parent_name":"Expression"},"Structs/Where/Expression.html#/s:9CoreStore5WhereV10ExpressionVA2A0aB6ObjectCRbzAC16CollectionTargetOyx_GRsd__rlE4noneAEyx_AJqd_0_GyF":{"name":"none()","abstract":"

    Creates a Where.Expression clause for NONE

    ","parent_name":"Expression"},"Structs/Where.html#/s:9CoreStore5WhereV2aaoiyACyxGAE_AEtFZ":{"name":"&&(_:_:)","abstract":"

    Combines two Where predicates together using AND operator

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV2oooiyACyxGAE_AEtFZ":{"name":"||(_:_:)","abstract":"

    Combines two Where predicates together using OR operator

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV1nopyACyxGAEFZ":{"name":"!(_:)","abstract":"

    Inverts the predicate of a Where clause using NOT operator

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV3aaqoiyACyxGAE_AESgtFZ":{"name":"&&?(_:_:)","abstract":"

    Combines two Where predicates together using AND operator.

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV3aaqoiyACyxGAESg_AEtFZ":{"name":"&&?(_:_:)","abstract":"

    Combines two Where predicates together using AND operator.

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV3ooqoiyACyxGAE_AESgtFZ":{"name":"||?(_:_:)","abstract":"

    Combines two Where predicates together using OR operator.

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV3ooqoiyACyxGAESg_AEtFZ":{"name":"||?(_:_:)","abstract":"

    Combines two Where predicates together using OR operator.

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVACyxGycfc":{"name":"init()","abstract":"

    Initializes a Where clause with a predicate that always evaluates to true

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVyACyxGADcfc":{"name":"init(_:)","abstract":"

    Initializes a Where clause with an existing Where clause.

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVyACyxGSbcfc":{"name":"init(_:)","abstract":"

    Initializes a Where clause with a predicate that always evaluates to the specified boolean value

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVyACyxGSS_ypdtcfc":{"name":"init(_:_:)","abstract":"

    Initializes a Where clause with a predicate using the specified string format and arguments

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_13argumentArrayACyxGSS_SayypGSgtcfc":{"name":"init(_:argumentArray:)","abstract":"

    Initializes a Where clause with a predicate using the specified string format and arguments

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_9isEqualToACyxGSS_ytSgtcfc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality to nil

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_9isEqualToACyxGSS_qd__SgtcAA22QueryableAttributeTypeRd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_9isEqualToACyxGSS_qd__SgtcAA13DynamicObjectRd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_9isEqualToACyxGSS_So17NSManagedObjectIDCtcfc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_10isMemberOfACyxGSS_qd__tcSTRd__AA22QueryableAttributeType7ElementRpd__lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_10isMemberOfACyxGSS_qd__tcSTRd__AA13DynamicObject7ElementRpd__lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_10isMemberOfACyxGSS_qd__tcSTRd__So17NSManagedObjectIDC7ElementRcd__lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore14AnyWhereClauseP9predicateSo11NSPredicateCvp":{"name":"predicate","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore14AnyWhereClausePyxSo11NSPredicateCcfc":{"name":"init(_:)","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore15WhereClauseTypeP06ObjectE0Qa":{"name":"ObjectType","parent_name":"Where"},"Structs/Where.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"Where"},"Structs/Where.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"Where"},"Structs/Where.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"Where"},"Structs/Where/Expression.html":{"name":"Expression","abstract":"

    Type-safe keyPath chain usable in query/fetch expressions.

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV12SingleTargetO":{"name":"SingleTarget","abstract":"

    Used only for Where.Expression type constraints. Specifies that this Where.Expression type pertains to an attribute property expression.

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV16CollectionTargetO":{"name":"CollectionTarget","abstract":"

    Used only for Where.Expression type constraints. Specifies that this Where.Expression type pertains to a to-many relationship expression.

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxqd__G_ytSgtcAA22QueryableAttributeTypeRd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality to nil

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxqd__G_ytSgtcAA07DynamicE0Rd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality to nil

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxqd__G_qd__SgtcAA22QueryableAttributeTypeRd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxqd__G_qd__SgtcAA07DynamicE0Rd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxqd__G_So0dE2IDCtcAA07DynamicE0Rd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_10isMemberOfACyxGs7KeyPathCyxqd__G_qd_0_tcAA22QueryableAttributeTypeRd__7ElementQyd_0_Rsd__STRd_0_r0_lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_10isMemberOfACyxGs7KeyPathCyxqd__G_qd_0_tcAA07DynamicE0Rd__7ElementQyd_0_Rsd__STRd_0_r0_lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_10isMemberOfACyxGs7KeyPathCyxqd__G_qd_0_tcAA07DynamicE0Rd__STRd_0_So0dE2IDC7ElementRcd_0_r0_lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_ytSgtcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality to nil

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxAA21RelationshipContainerO0G3OneCyx_qd__GG_ytSgtcAERbd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality to nil

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_qd__SgtcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_qd__SgtcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxAA21RelationshipContainerO0G3OneCyx_qd__GG_qd__SgtcAERbd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxAA21RelationshipContainerO0G3OneCyx_qd__GG_So09NSManagedD2IDCtcAERbd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_10isMemberOfACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_qd_0_tcAA23ImportableAttributeTypeRd__7ElementQyd_0_Rsd__STRd_0_r0_lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_10isMemberOfACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_qd_0_tcAA23ImportableAttributeTypeRd__7ElementQyd_0_Rsd__STRd_0_r0_lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_10isMemberOfACyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_qd__GG_qd_0_tcAERbd__7ElementQyd_0_Rsd__STRd_0_r0_lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_10isMemberOfACyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_qd__GG_qd_0_tcAERbd__STRd_0_So09NSManagedD2IDC7ElementRcd_0_r0_lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlEyACyxGAFxXEcfc":{"name":"init(_:)","abstract":"

    Initializes a Where clause from a closure

    ","parent_name":"Where"},"Structs/Select.html#/s:9CoreStore6SelectVyACyxq_GAA0C4TermOyxG_AGdtcfc":{"name":"init(_:_:)","abstract":"

    Initializes a Select clause with a list of SelectTerms

    ","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore6SelectVyACyxq_GSayAA0C4TermOyxGGcfc":{"name":"init(_:)","abstract":"

    Initializes a Select clause with a list of SelectTerms

    ","parent_name":"Select"},"Structs/Select.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore12SelectClauseP10ObjectTypeQa":{"name":"ObjectType","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore12SelectClauseP10ReturnTypeQa":{"name":"ReturnType","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore12SelectClauseP11selectTermsSayAA0C4TermOy10ObjectTypeQzGGvp":{"name":"selectTerms","parent_name":"Select"},"Structs/Select.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"Select"},"Structs/Select.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore6SelectVAASo17NSManagedObjectIDCRb_rlEACyxq_Gycfc":{"name":"init()","abstract":"

    Initializes a Select that queries for NSManagedObjectID results

    ","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore6SelectVAASo15NSManagedObjectCRbzrlEyACyxq_Gs7KeyPathCyxq_Gcfc":{"name":"init(_:)","abstract":"

    Initializes a Select that queries the value of an attribute pertained by a keyPath

    ","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore6SelectVA2A0aB6ObjectCRbzAA23ImportableAttributeTypeR_rlEyACyxq_Gs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GGcfc":{"name":"init(_:)","abstract":"

    Initializes a Select that queries the value of an attribute pertained by a keyPath

    ","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore6SelectVA2A0aB6ObjectCRbzAA23ImportableAttributeTypeR_rlEyACyxq_Gs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GGcfc":{"name":"init(_:)","abstract":"

    Initializes a Select that queries the value of an attribute pertained by a keyPath

    ","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore6SelectVA2A0aB6ObjectCRbzAA23ImportableAttributeTypeR_So8NSCodingR_So9NSCopyingR_rlEyACyxq_Gs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_q_GGcfc":{"name":"init(_:)","abstract":"

    Initializes a Select that queries the value of an attribute pertained by a keyPath

    ","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore6SelectVA2A0aB6ObjectCRbzAA23ImportableAttributeTypeR_So8NSCodingR_So9NSCopyingR_rlEyACyxq_Gs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_q_GGcfc":{"name":"init(_:)","abstract":"

    Initializes a Select that queries the value of an attribute pertained by a keyPath

    ","parent_name":"Select"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVyACyxGSScfc":{"name":"init(_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVyACyxGSS_SSSgAEctcfc":{"name":"init(_:_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVAASo15NSManagedObjectCRbzrlEyACyxGs7KeyPathCyxqd__Gclufc":{"name":"init(_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVAASo15NSManagedObjectCRbzrlEyACyxGs7KeyPathCyxqd__G_SSSgAJctclufc":{"name":"init(_:_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GGcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GGcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GGcSo8NSCodingRd__So9NSCopyingRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GGcSo8NSCodingRd__So9NSCopyingRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_SSSgAOctcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_SSSgAOctcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GG_SSSgAOctcSo8NSCodingRd__So9NSCopyingRd__lufc":{"name":"init(_:_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GG_SSSgAOctcSo8NSCodingRd__So9NSCopyingRd__lufc":{"name":"init(_:_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"SectionBy"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV08completeD0xyF":{"name":"completeObject()","abstract":"

    Returns a the actual CoreStoreObject instance for the receiver.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV5value3forqd__AA14ValueContainerO8RequiredCyx_qd__GxXE_tAA23ImportableAttributeTypeRd__lF":{"name":"value(for:)","abstract":"

    Returns the value for the property identified by a given key.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV8setValue_3foryqd___AA0F9ContainerO8RequiredCyx_qd__GxXEtAA23ImportableAttributeTypeRd__lF":{"name":"setValue(_:for:)","abstract":"

    Sets the property of the receiver specified by a given key to a given value.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV14primitiveValue3forqd__AA0F9ContainerO8RequiredCyx_qd__GxXE_tAA23ImportableAttributeTypeRd__lF":{"name":"primitiveValue(for:)","abstract":"

    Returns the value for the specified property from the managed object’s private internal storage.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV17setPrimitiveValue_3foryqd___AA0G9ContainerO8RequiredCyx_qd__GxXEtAA23ImportableAttributeTypeRd__lF":{"name":"setPrimitiveValue(_:for:)","abstract":"

    Sets in the object’s private internal storage the value of a given property.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV5value3forqd__SgAA14ValueContainerO8OptionalCyx_qd__GxXE_tAA23ImportableAttributeTypeRd__lF":{"name":"value(for:)","abstract":"

    Returns the value for the property identified by a given key.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV8setValue_3foryqd__Sg_AA0F9ContainerO8OptionalCyx_qd__GxXEtAA23ImportableAttributeTypeRd__lF":{"name":"setValue(_:for:)","abstract":"

    Sets the property of the receiver specified by a given key to a given value.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV14primitiveValue3forqd__SgAA0F9ContainerO8OptionalCyx_qd__GxXE_tAA23ImportableAttributeTypeRd__lF":{"name":"primitiveValue(for:)","abstract":"

    Returns the value for the specified property from the managed object’s private internal storage.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV17setPrimitiveValue_3foryqd__Sg_AA0G9ContainerO8OptionalCyx_qd__GxXEtAA23ImportableAttributeTypeRd__lF":{"name":"setPrimitiveValue(_:for:)","abstract":"

    Sets in the object’s private internal storage the value of a given property.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV5value3forqd__AA22TransformableContainerO8RequiredCyx_qd__GxXE_tSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"value(for:)","abstract":"

    Returns the value for the property identified by a given key.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV8setValue_3foryqd___AA22TransformableContainerO8RequiredCyx_qd__GxXEtSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"setValue(_:for:)","abstract":"

    Sets the property of the receiver specified by a given key to a given value.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV14primitiveValue3forqd__AA22TransformableContainerO8RequiredCyx_qd__GxXE_tSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"primitiveValue(for:)","abstract":"

    Returns the value for the specified property from the managed object’s private internal storage.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV17setPrimitiveValue_3foryqd___AA22TransformableContainerO8RequiredCyx_qd__GxXEtSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"setPrimitiveValue(_:for:)","abstract":"

    Sets in the object’s private internal storage the value of a given property.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV5value3forqd__SgAA22TransformableContainerO8OptionalCyx_qd__GxXE_tSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"value(for:)","abstract":"

    Returns the value for the property identified by a given key.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV8setValue_3foryqd__Sg_AA22TransformableContainerO8OptionalCyx_qd__GxXEtSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"setValue(_:for:)","abstract":"

    Sets the property of the receiver specified by a given key to a given value.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV14primitiveValue3forqd__SgAA22TransformableContainerO8OptionalCyx_qd__GxXE_tSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"primitiveValue(for:)","abstract":"

    Returns the value for the specified property from the managed object’s private internal storage.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV17setPrimitiveValue_3foryqd__Sg_AA22TransformableContainerO8OptionalCyx_qd__GxXEtSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"setPrimitiveValue(_:for:)","abstract":"

    Sets in the object’s private internal storage the value of a given property.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"PartialObject"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV9ascendingyAEyx_GSSFZ":{"name":"ascending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in ascending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV10descendingyAEyx_GSSFZ":{"name":"descending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in descending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV9ascendingyAEyx_Gs0F4PathCyxqd__GSo15NSManagedObjectCRbzlFZ":{"name":"ascending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in ascending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV10descendingyAEyx_Gs0F4PathCyxqd__GSo15NSManagedObjectCRbzlFZ":{"name":"descending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in descending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV9ascendingyAEyx_Gs0F4PathCyxAA14ValueContainerO8RequiredCyx_qd__GGAA0aB6ObjectCRbzAA23ImportableAttributeTypeRd__lFZ":{"name":"ascending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in ascending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV9ascendingyAEyx_Gs0F4PathCyxAA14ValueContainerO8OptionalCyx_qd__GGAA0aB6ObjectCRbzAA23ImportableAttributeTypeRd__lFZ":{"name":"ascending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in ascending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV9ascendingyAEyx_Gs0F4PathCyxAA22TransformableContainerO8RequiredCyx_qd__GGAA0aB6ObjectCRbzSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"ascending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in ascending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV9ascendingyAEyx_Gs0F4PathCyxAA22TransformableContainerO8OptionalCyx_qd__GGAA0aB6ObjectCRbzSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"ascending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in ascending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV10descendingyAEyx_Gs0F4PathCyxAA14ValueContainerO8RequiredCyx_qd__GGAA0aB6ObjectCRbzAA23ImportableAttributeTypeRd__lFZ":{"name":"descending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in descending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV10descendingyAEyx_Gs0F4PathCyxAA14ValueContainerO8OptionalCyx_qd__GGAA0aB6ObjectCRbzAA23ImportableAttributeTypeRd__lFZ":{"name":"descending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in descending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV10descendingyAEyx_Gs0F4PathCyxAA22TransformableContainerO8RequiredCyx_qd__GGAA0aB6ObjectCRbzSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"descending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in descending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV10descendingyAEyx_Gs0F4PathCyxAA22TransformableContainerO8OptionalCyx_qd__GGAA0aB6ObjectCRbzSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"descending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in descending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyVA2A0aB6ObjectCRbzrlE9ascendingyAEyx_Gqd__xXEAA07DynamicF4PathRd__lFZ":{"name":"ascending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in ascending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyVA2A0aB6ObjectCRbzrlE10descendingyAEyx_Gqd__xXEAA07DynamicF4PathRd__lFZ":{"name":"descending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in descending order

    ","parent_name":"SortKey"},"Structs/OrderBy.html#/s:9CoreStore7OrderByV1poiyACyxGAE_AEtFZ":{"name":"+(_:_:)","abstract":"

    Combines two OrderBy sort descriptors together

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore7OrderByV2peoiyyACyxGz_AEtFZ":{"name":"+=(_:_:)","abstract":"

    Combines two OrderBy sort descriptors together and stores the result to the left operand

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore7OrderByVACyxGycfc":{"name":"init()","abstract":"

    Initializes a OrderBy clause with an empty list of sort descriptors

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore7OrderByVyACyxGSo16NSSortDescriptorCcfc":{"name":"init(_:)","abstract":"

    Initializes a OrderBy clause with a single sort descriptor

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore7OrderByVyACyxGSaySo16NSSortDescriptorCGcfc":{"name":"init(_:)","abstract":"

    Initializes a OrderBy clause with a list of sort descriptors

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore7OrderByVyACyxGSayAC7SortKeyVyx_GGcfc":{"name":"init(_:)","abstract":"

    Initializes a OrderBy clause with a series of SortKeys

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore7OrderByVyACyxGAC7SortKeyVyx_G_AGdtcfc":{"name":"init(_:_:)","abstract":"

    Initializes a OrderBy clause with a series of SortKeys

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore13OrderByClauseP10ObjectTypeQa":{"name":"ObjectType","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore13OrderByClauseP15sortDescriptorsSaySo16NSSortDescriptorCGvp":{"name":"sortDescriptors","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"OrderBy"},"Structs/OrderBy/SortKey.html":{"name":"SortKey","abstract":"

    The SortKey is passed to the OrderBy clause to indicate the sort keys and their sort direction.

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"OrderBy"},"Structs/MigrationChain.html#/s:9CoreStore14MigrationChainVACycfc":{"name":"init()","abstract":"

    Initializes the MigrationChain with empty values, which instructs the DataStack to use the .xcdatamodel’s current version as the final version, and to disable progressive migrations.

    ","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:9CoreStore14MigrationChainVyACSScfc":{"name":"init(_:)","abstract":"

    Initializes the MigrationChain with a single model version, which instructs the DataStack to use the the specified version as the final version, and to disable progressive migrations.

    ","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:9CoreStore14MigrationChainVyACxcSlRzSS7ElementRtzlufc":{"name":"init(_:)","abstract":"

    Initializes the MigrationChain with a linear order of versions, which becomes the order of the DataStack‘s progressive migrations.

    ","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:9CoreStore14MigrationChainVyACSaySS_SStGcfc":{"name":"init(_:)","abstract":"

    Initializes the MigrationChain with a version tree, which becomes the order of the DataStack‘s progressive migrations.

    ","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:9CoreStore14MigrationChainVyACSDyS2SGcfc":{"name":"init(_:)","abstract":"

    Initializes the MigrationChain with a version tree, which becomes the order of the DataStack‘s progressive migrations.

    ","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:s23ExpressibleByNilLiteralP03nilD0xyt_tcfc":{"name":"init(nilLiteral:)","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:s26ExpressibleByStringLiteralP06stringD0x0cD4TypeQz_tcfc":{"name":"init(stringLiteral:)","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:s43ExpressibleByExtendedGraphemeClusterLiteralP08extendeddeF0x0cdeF4TypeQz_tcfc":{"name":"init(extendedGraphemeClusterLiteral:)","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:s33ExpressibleByUnicodeScalarLiteralP07unicodedE0x0cdE4TypeQz_tcfc":{"name":"init(unicodeScalarLiteral:)","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:s30ExpressibleByDictionaryLiteralP010dictionaryD0x3KeyQz_5ValueQztd_tcfc":{"name":"init(dictionaryLiteral:)","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:s25ExpressibleByArrayLiteralP05arrayD0x0cD7ElementQzd_tcfc":{"name":"init(arrayLiteral:)","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MigrationChain"},"Structs/LocalStorageOptions.html#/s:9CoreStore19LocalStorageOptionsV4noneACvpZ":{"name":"none","abstract":"

    Tells the DataStack that the store should not be migrated or recreated, and should simply fail on model mismatch

    ","parent_name":"LocalStorageOptions"},"Structs/LocalStorageOptions.html#/s:9CoreStore19LocalStorageOptionsV08recreateB15OnModelMismatchACvpZ":{"name":"recreateStoreOnModelMismatch","abstract":"

    Tells the DataStack to delete and recreate the store on model mismatch, otherwise exceptions will be thrown on failure instead

    ","parent_name":"LocalStorageOptions"},"Structs/LocalStorageOptions.html#/s:9CoreStore19LocalStorageOptionsV27preventProgressiveMigrationACvpZ":{"name":"preventProgressiveMigration","abstract":"

    Tells the DataStack to prevent progressive migrations for the store

    ","parent_name":"LocalStorageOptions"},"Structs/LocalStorageOptions.html#/s:9CoreStore19LocalStorageOptionsV36allowSynchronousLightweightMigrationACvpZ":{"name":"allowSynchronousLightweightMigration","abstract":"

    Tells the DataStack to allow lightweight migration for the store when added synchronously

    ","parent_name":"LocalStorageOptions"},"Structs/LocalStorageOptions.html#/s:s9OptionSetP8rawValuex03RawD0Qz_tcfc":{"name":"init(rawValue:)","parent_name":"LocalStorageOptions"},"Structs/LocalStorageOptions.html#/s:SY8rawValue03RawB0Qzvp":{"name":"rawValue","parent_name":"LocalStorageOptions"},"Structs/LocalStorageOptions.html#/s:s23ExpressibleByNilLiteralP03nilD0xyt_tcfc":{"name":"init(nilLiteral:)","parent_name":"LocalStorageOptions"},"Structs/LocalStorageOptions.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"LocalStorageOptions"},"Structs/Into.html#/s:9CoreStore4IntoV11entityClassxmvp":{"name":"entityClass","abstract":"

    The associated NSManagedObject or CoreStoreObject entity class

    ","parent_name":"Into"},"Structs/Into.html#/s:9CoreStore4IntoV13configurationSSSgvp":{"name":"configuration","abstract":"

    The NSPersistentStore configuration name to associate objects from.","parent_name":"Into"},"Structs/Into.html#/s:9CoreStore4IntoVACyxGycfc":{"name":"init()","abstract":"

    Initializes an Into clause.

    ","parent_name":"Into"},"Structs/Into.html#/s:9CoreStore4IntoVyACyxGxmcfc":{"name":"init(_:)","abstract":"

    Initializes an Into clause with the specified entity type. This is useful for querying a subclass while binding the generic type with a base class.

    ","parent_name":"Into"},"Structs/Into.html#/s:9CoreStore4IntoVyACyxGSSSgcfc":{"name":"init(_:)","abstract":"

    Initializes an Into clause with the specified configuration.

    ","parent_name":"Into"},"Structs/Into.html#/s:9CoreStore4IntoVyACyxGxm_SSSgtcfc":{"name":"init(_:_:)","abstract":"

    Initializes an Into clause with the specified entity type and configuration. This is useful for querying a subclass while binding the generic type with a base class.

    ","parent_name":"Into"},"Structs/Into.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"Into"},"Structs/Into.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"Into"},"Structs/Into.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"Into"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVACyxGycfc":{"name":"init()","abstract":"

    Initializes a GroupBy clause with an empty list of key path strings

    ","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVyACyxGSS_SSdtcfc":{"name":"init(_:_:)","abstract":"

    Initializes a GroupBy clause with a list of key path strings

    ","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVyACyxGSaySSGcfc":{"name":"init(_:)","abstract":"

    Initializes a GroupBy clause with a list of key path strings

    ","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore13GroupByClauseP10ObjectTypeQa":{"name":"ObjectType","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore13GroupByClauseP8keyPathsSaySSGvp":{"name":"keyPaths","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVAASo15NSManagedObjectCRbzrlEyACyxGs7KeyPathCyxqd__Gclufc":{"name":"init(_:)","abstract":"

    Initializes a GroupBy clause with a key path

    ","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GGcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a GroupBy clause with a key path

    ","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GGcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a GroupBy clause with a key path

    ","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GGcSo8NSCodingRd__So9NSCopyingRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a GroupBy clause with a key path

    ","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GGcSo8NSCodingRd__So9NSCopyingRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a GroupBy clause with a key path

    ","parent_name":"GroupBy"},"Structs/From.html#/s:9CoreStore4FromV11entityClassxmvp":{"name":"entityClass","abstract":"

    The associated NSManagedObject or CoreStoreObject entity class

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV14configurationsSaySSSgGSgvp":{"name":"configurations","abstract":"

    The NSPersistentStore configuration names to associate objects from.","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVACyxGycfc":{"name":"init()","abstract":"

    Initializes a From clause.

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVyACyxGxmcfc":{"name":"init(_:)","abstract":"

    Initializes a From clause with the specified entity type.

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVyACyxGSSSg_AEdtcfc":{"name":"init(_:_:)","abstract":"

    Initializes a From clause with the specified configurations.

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVyACyxGSaySSSgGcfc":{"name":"init(_:)","abstract":"

    Initializes a From clause with the specified configurations.

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVyACyxGxm_SSSgAEdtcfc":{"name":"init(_:_:_:)","abstract":"

    Initializes a From clause with the specified configurations.

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVyACyxGxm_SaySSSgGtcfc":{"name":"init(_:_:)","abstract":"

    Initializes a From clause with the specified configurations.

    ","parent_name":"From"},"Structs/From.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV5whereyAA17FetchChainBuilderVyxGAA5WhereVyxGF":{"name":"where(_:)","abstract":"

    Creates a FetchChainBuilder that starts with the specified Where clause

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV5where6format_AA17FetchChainBuilderVyxGSS_ypdtF":{"name":"where(format:_:)","abstract":"

    Creates a FetchChainBuilder with a predicate using the specified string format and arguments

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV5where6format13argumentArrayAA17FetchChainBuilderVyxGSS_SayypGSgtF":{"name":"where(format:argumentArray:)","abstract":"

    Creates a FetchChainBuilder with a predicate using the specified string format and arguments

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV7orderByyAA17FetchChainBuilderVyxGAA05OrderE0VyxGF":{"name":"orderBy(_:)","abstract":"

    Creates a FetchChainBuilder that starts with the specified OrderBy clause.

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV7orderByyAA17FetchChainBuilderVyxGAA05OrderE0V7SortKeyVyx_G_ALdtF":{"name":"orderBy(_:_:)","abstract":"

    Creates a FetchChainBuilder with a series of SortKeys

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV7orderByyAA17FetchChainBuilderVyxGSayAA05OrderE0V7SortKeyVyx_GGF":{"name":"orderBy(_:)","abstract":"

    Creates a FetchChainBuilder with a series of SortKeys

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV5tweakyAA17FetchChainBuilderVyxGySo14NSFetchRequestCySo0hI6Result_pGcF":{"name":"tweak(_:)","abstract":"

    Creates a FetchChainBuilder with a closure where the NSFetchRequest may be configured

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV9appendingyAA17FetchChainBuilderVyxGAA0E6Clause_pF":{"name":"appending(_:)","abstract":"

    Creates a FetchChainBuilder and immediately appending a FetchClause

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV9appending10contentsOfAA17FetchChainBuilderVyxGqd___tSTRd__AA0G6Clause_p7ElementRtd__lF":{"name":"appending(contentsOf:)","abstract":"

    Creates a FetchChainBuilder and immediately appending a series of FetchClauses

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV6selectyAA17QueryChainBuilderVyxqd__GAA6SelectVyxqd__GAA0H10ResultTypeRd__lF":{"name":"select(_:)","abstract":"

    Creates a QueryChainBuilder that starts with the specified Select clause

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV6selectyAA17QueryChainBuilderVyxqd__Gqd__m_AA10SelectTermOyxGAJdtAA0H10ResultTypeRd__lF":{"name":"select(_:_:_:)","abstract":"

    Creates a QueryChainBuilder that starts with a Select clause created from the specified SelectTerms

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV6selectyAA17QueryChainBuilderVyxqd__Gqd__m_SayAA10SelectTermOyxGGtAA0H10ResultTypeRd__lF":{"name":"select(_:_:)","abstract":"

    Creates a QueryChainBuilder that starts with a Select clause created from the specified SelectTerms

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV9sectionByyAA26SectionMonitorChainBuilderVyxGAA0fE0VyxGF":{"name":"sectionBy(_:)","abstract":"

    Creates a SectionMonitorChainBuilder that starts with the SectionBy to use to group ListMonitor objects into sections

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV9sectionByyAA26SectionMonitorChainBuilderVyxGSSF":{"name":"sectionBy(_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV9sectionByyAA26SectionMonitorChainBuilderVyxGSS_SSSgAHctF":{"name":"sectionBy(_:_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVAASo15NSManagedObjectCRbzrlE6selectyAA17QueryChainBuilderVyxqd__Gs7KeyPathCyxqd__GAA16SelectResultTypeRd__lF":{"name":"select(_:)","abstract":"

    Creates a QueryChainBuilder that starts with a Select clause created from the specified key path

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVAASo15NSManagedObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxqd__GlF":{"name":"sectionBy(_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVAASo15NSManagedObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxqd__G_SSSgAMctlF":{"name":"sectionBy(_:_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE5whereyAA17FetchChainBuilderVyxGqd__xXEAA14AnyWhereClauseRd__lF":{"name":"where(_:)","abstract":"

    Creates a FetchChainBuilder that starts with the specified Where clause

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE6selectyAA17QueryChainBuilderVyxqd__Gs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GGAA23ImportableAttributeTypeRd__lF":{"name":"select(_:)","abstract":"

    Creates a QueryChainBuilder that starts with a Select clause created from the specified key path

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE6selectyAA17QueryChainBuilderVyxqd__Gs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GGAA23ImportableAttributeTypeRd__lF":{"name":"select(_:)","abstract":"

    Creates a QueryChainBuilder that starts with a Select clause created from the specified key path

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE6selectyAA17QueryChainBuilderVyxqd__Gs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GGAA16SelectResultTypeRd__So8NSCodingRd__So9NSCopyingRd__lF":{"name":"select(_:)","abstract":"

    Creates a QueryChainBuilder that starts with a Select clause created from the specified key path

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE6selectyAA17QueryChainBuilderVyxqd__Gs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GGAA16SelectResultTypeRd__So8NSCodingRd__So9NSCopyingRd__lF":{"name":"select(_:)","abstract":"

    Creates a QueryChainBuilder that starts with a Select clause created from the specified key path

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GGAA23ImportableAttributeTypeRd__lF":{"name":"sectionBy(_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GGAA23ImportableAttributeTypeRd__lF":{"name":"sectionBy(_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GGSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"sectionBy(_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GGSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"sectionBy(_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_SSSgARctAA23ImportableAttributeTypeRd__lF":{"name":"sectionBy(_:_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_SSSgARctAA23ImportableAttributeTypeRd__lF":{"name":"sectionBy(_:_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GG_SSSgARctSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"sectionBy(_:_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GG_SSSgARctSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"sectionBy(_:_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"From"},"Structs/CloudStorageOptions.html#/s:9CoreStore19CloudStorageOptionsV4noneACvpZ":{"name":"none","abstract":"

    Tells the DataStack that the store should not be migrated or recreated, and should simply fail on model mismatch

    ","parent_name":"CloudStorageOptions"},"Structs/CloudStorageOptions.html#/s:9CoreStore19CloudStorageOptionsV013recreateLocalB15OnModelMismatchACvpZ":{"name":"recreateLocalStoreOnModelMismatch","abstract":"

    Tells the DataStack to delete and recreate the local store from the cloud store on model mismatch, otherwise exceptions will be thrown on failure instead

    ","parent_name":"CloudStorageOptions"},"Structs/CloudStorageOptions.html#/s:9CoreStore19CloudStorageOptionsV36allowSynchronousLightweightMigrationACvpZ":{"name":"allowSynchronousLightweightMigration","abstract":"

    Tells the DataStack to allow lightweight migration for the store when added synchronously

    ","parent_name":"CloudStorageOptions"},"Structs/CloudStorageOptions.html#/s:s9OptionSetP8rawValuex03RawD0Qz_tcfc":{"name":"init(rawValue:)","parent_name":"CloudStorageOptions"},"Structs/CloudStorageOptions.html#/s:SY8rawValue03RawB0Qzvp":{"name":"rawValue","parent_name":"CloudStorageOptions"},"Structs/CloudStorageOptions.html#/s:s23ExpressibleByNilLiteralP03nilD0xyt_tcfc":{"name":"init(nilLiteral:)","parent_name":"CloudStorageOptions"},"Structs/CloudStorageOptions.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"CloudStorageOptions"},"Structs/Tweak.html#/s:9CoreStore5TweakV7closureyySo14NSFetchRequestCySo0eF6Result_pGcvp":{"name":"closure","abstract":"

    The block to customize the NSFetchRequest

    ","parent_name":"Tweak"},"Structs/Tweak.html#/s:9CoreStore5TweakVyACySo14NSFetchRequestCySo0dE6Result_pGccfc":{"name":"init(_:)","abstract":"

    Initializes a Tweak clause with a closure where the NSFetchRequest may be configured.

    ","parent_name":"Tweak"},"Structs/Tweak.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"Tweak"},"Structs/Tweak.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"Tweak"},"Structs/Tweak.html":{"name":"Tweak","abstract":"

    The Tweak clause allows fine-tuning the NSFetchRequest for a fetch or query."},"Structs/CloudStorageOptions.html":{"name":"CloudStorageOptions","abstract":"

    The CloudStorageOptions provides settings that tells the DataStack how to setup the persistent store for LocalStorage implementers.

    "},"Structs/From.html":{"name":"From","abstract":"

    A From clause specifies the source entity and source persistent store for fetch and query methods. A common usage is to just indicate the entity:

    "},"Structs/GroupBy.html":{"name":"GroupBy","abstract":"

    The GroupBy clause specifies that the result of a query be grouped accoording to the specified key path.

    "},"Structs/Into.html":{"name":"Into","abstract":"

    An Into clause contains the destination entity and destination persistent store for a create(...) method. A common usage is to just indicate the entity:

    "},"Structs/LocalStorageOptions.html":{"name":"LocalStorageOptions","abstract":"

    The LocalStorageOptions provides settings that tells the DataStack how to setup the persistent store for LocalStorage implementers.

    "},"Structs/MigrationChain.html":{"name":"MigrationChain","abstract":"

    A MigrationChain indicates the sequence of model versions to be used as the order for progressive migrations. This is typically passed to the SchemaHistory or the DataStack initializer and will be applied to all stores added to the DataStack with addStorage(...) and its variants.

    "},"Structs/OrderBy.html":{"name":"OrderBy","abstract":"

    The OrderBy clause specifies the sort order for results for a fetch or a query.

    "},"Structs/PartialObject.html":{"name":"PartialObject","abstract":"

    A PartialObject is only used when overriding getters and setters for CoreStoreObject properties. Custom getters and setters are implemented as a closure that overrides the default property getter/setter. The closure receives a PartialObject<O>, which acts as a fast, type-safe KVC interface for CoreStoreObject. The reason a CoreStoreObject instance is not passed directly is because the Core Data runtime is not aware of CoreStoreObject properties’ static typing, and so loading those info everytime KVO invokes this accessor method incurs a heavy performance hit (especially in KVO-heavy operations such as ListMonitor observing.) When accessing the property value from PartialObject<O>, make sure to use PartialObject<O>.persistentValue(for:) instead of PartialObject<O>.value(for:), which would unintentionally execute the same closure again recursively.

    "},"Structs/SectionBy.html":{"name":"SectionBy","abstract":"

    The SectionBy clause indicates the key path to use to group the ListMonitor objects into sections. An optional closure can also be provided to transform the value into an appropriate section name:

    "},"Structs/Select.html":{"name":"Select","abstract":"

    The Select clause indicates the attribute / aggregate value to be queried. The generic type is a SelectResultType, and will be used as the return type for the query.

    "},"Structs/Where.html":{"name":"Where","abstract":"

    The Where clause specifies the conditions for a fetch or a query.

    "},"Structs/VersionLock.html":{"name":"VersionLock","abstract":"

    The VersionLock contains the version hashes for entities. This is then passed to the CoreStoreSchema, which contains all entities for the store. An assertion will be raised if any Entity doesn’t match the version hash.

    "},"Structs/FetchChainBuilder.html":{"name":"FetchChainBuilder","abstract":"

    The fetch builder type used for fetches. A FetchChainBuilder is created from a From clause.

    "},"Structs/QueryChainBuilder.html":{"name":"QueryChainBuilder","abstract":"

    The fetch builder type used for a queries. A QueryChainBuilder is created from a From clause and then a select(...) chain.

    "},"Structs/SectionMonitorChainBuilder.html":{"name":"SectionMonitorChainBuilder","abstract":"

    The fetch builder type used for a sectioned ListMonitor. A SectionMonitorChainBuilder is created from a From clause and then a sectionBy(...) chain.

    "},"Protocols/WhereClauseType.html#/s:9CoreStore15WhereClauseTypeP06ObjectE0Qa":{"name":"ObjectType","abstract":"

    The DynamicObject type associated with the clause

    ","parent_name":"WhereClauseType"},"Protocols/WhereClauseType.html#/s:9CoreStore15WhereClauseTypePAAE2aaoiyAA0C0Vy06ObjectE0QzGx_qd__tAaBRd__lFZ":{"name":"&&(_:_:)","abstract":"

    Combines two Where predicates together using AND operator.

    ","parent_name":"WhereClauseType"},"Protocols/WhereClauseType.html#/s:9CoreStore15WhereClauseTypePAAE2aaoiyAA0C0Vy06ObjectE0QzGqd___xtAaBRd__lFZ":{"name":"&&(_:_:)","abstract":"

    Combines two Where predicates together using AND operator.

    ","parent_name":"WhereClauseType"},"Protocols/WhereClauseType.html#/s:9CoreStore15WhereClauseTypePAAE2oooiyAA0C0Vy06ObjectE0QzGx_qd__tAaBRd__lFZ":{"name":"||(_:_:)","abstract":"

    Combines two Where predicates together using OR operator.

    ","parent_name":"WhereClauseType"},"Protocols/WhereClauseType.html#/s:9CoreStore15WhereClauseTypePAAE2oooiyAA0C0Vy06ObjectE0QzGqd___xtAaBRd__lFZ":{"name":"||(_:_:)","abstract":"

    Combines two Where predicates together using OR operator.

    ","parent_name":"WhereClauseType"},"Protocols/AnyWhereClause.html#/s:9CoreStore14AnyWhereClauseP9predicateSo11NSPredicateCvp":{"name":"predicate","abstract":"

    The NSPredicate for the fetch or query

    ","parent_name":"AnyWhereClause"},"Protocols/AnyWhereClause.html#/s:9CoreStore14AnyWhereClausePyxSo11NSPredicateCcfc":{"name":"init(_:)","abstract":"

    Initializes a Where clause with an NSPredicate

    ","parent_name":"AnyWhereClause"},"Protocols/CloudStorage.html#/s:9CoreStore12CloudStorageP12cacheFileURL10Foundation0G0Vvp":{"name":"cacheFileURL","abstract":"

    The NSURL that points to the store file

    ","parent_name":"CloudStorage"},"Protocols/CloudStorage.html#/s:9CoreStore12CloudStorageP05cloudD7OptionsAA0cdF0Vvp":{"name":"cloudStorageOptions","abstract":"

    Options that tell the DataStack how to setup the persistent store

    ","parent_name":"CloudStorage"},"Protocols/CloudStorage.html#/s:9CoreStore12CloudStorageP10dictionary10forOptionsSDys11AnyHashableVypGSgAA0cdG0V_tF":{"name":"dictionary(forOptions:)","abstract":"

    The options dictionary for the specified CloudStorageOptions

    ","parent_name":"CloudStorage"},"Protocols/CloudStorage.html#/s:9CoreStore12CloudStorageP08cs_eraseD7AndWait10soureModelySo015NSManagedObjectJ0C_tKF":{"name":"cs_eraseStorageAndWait(soureModel:)","abstract":"

    Called by the DataStack to perform actual deletion of the store file from disk. Do not call directly! The sourceModel argument is a hint for the existing store’s model version. Implementers can use the sourceModel to perform necessary store operations. (Cloud stores for example, can set the NSPersistentStoreRemoveUbiquitousMetadataOption option before deleting)

    ","parent_name":"CloudStorage"},"Protocols/LocalStorage.html#/s:9CoreStore12LocalStorageP7fileURL10Foundation0F0Vvp":{"name":"fileURL","abstract":"

    The NSURL that points to the store file

    ","parent_name":"LocalStorage"},"Protocols/LocalStorage.html#/s:9CoreStore12LocalStorageP25migrationMappingProvidersSayAA06SchemaF8Provider_pGvp":{"name":"migrationMappingProviders","abstract":"

    An array of SchemaMappingProviders that provide the complete mapping models for custom migrations.

    ","parent_name":"LocalStorage"},"Protocols/LocalStorage.html#/s:9CoreStore12LocalStorageP05localD7OptionsAA0cdF0Vvp":{"name":"localStorageOptions","abstract":"

    Options that tell the DataStack how to setup the persistent store

    ","parent_name":"LocalStorage"},"Protocols/LocalStorage.html#/s:9CoreStore12LocalStorageP10dictionary10forOptionsSDys11AnyHashableVypGSgAA0cdG0V_tF":{"name":"dictionary(forOptions:)","abstract":"

    The options dictionary for the specified LocalStorageOptions

    ","parent_name":"LocalStorage"},"Protocols/LocalStorage.html#/s:9CoreStore12LocalStorageP011cs_finalizeD7AndWait14soureModelHintySo015NSManagedObjectJ0C_tKF":{"name":"cs_finalizeStorageAndWait(soureModelHint:)","abstract":"

    Called by the DataStack to perform checkpoint operations on the storage. (SQLite stores for example, can convert the database’s WAL journaling mode to DELETE to force a checkpoint)

    ","parent_name":"LocalStorage"},"Protocols/LocalStorage.html#/s:9CoreStore12LocalStorageP08cs_eraseD7AndWait8metadata14soureModelHintySDySSypG_So015NSManagedObjectK0CSgtKF":{"name":"cs_eraseStorageAndWait(metadata:soureModelHint:)","abstract":"

    Called by the DataStack to perform actual deletion of the store file from disk. Do not call directly! The sourceModel argument is a hint for the existing store’s model version. Implementers can use the sourceModel to perform necessary store operations. (SQLite stores for example, can convert WAL journaling mode to DELETE before deleting)

    ","parent_name":"LocalStorage"},"Protocols/StorageInterface.html#/s:9CoreStore16StorageInterfaceP9storeTypeSSvpZ":{"name":"storeType","abstract":"

    The string identifier for the NSPersistentStore‘s type property. This is the same string CoreStore will use to create the NSPersistentStore from the NSPersistentStoreCoordinator’s addPersistentStoreWithType(...) method.

    ","parent_name":"StorageInterface"},"Protocols/StorageInterface.html#/s:9CoreStore16StorageInterfaceP13configurationSSSgvp":{"name":"configuration","abstract":"

    The configuration name in the model file

    ","parent_name":"StorageInterface"},"Protocols/StorageInterface.html#/s:9CoreStore16StorageInterfaceP12storeOptionsSDys11AnyHashableVypGSgvp":{"name":"storeOptions","abstract":"

    The options dictionary for the NSPersistentStore

    ","parent_name":"StorageInterface"},"Protocols/StorageInterface.html#/s:9CoreStore16StorageInterfaceP20cs_didAddToDataStackyyAA0iJ0CF":{"name":"cs_didAddToDataStack(_:)","abstract":"

    Do not call directly. Used by the DataStack internally.

    ","parent_name":"StorageInterface"},"Protocols/StorageInterface.html#/s:9CoreStore16StorageInterfaceP25cs_didRemoveFromDataStackyyAA0iJ0CF":{"name":"cs_didRemoveFromDataStack(_:)","abstract":"

    Do not call directly. Used by the DataStack internally.

    ","parent_name":"StorageInterface"},"Protocols/SelectClause.html#/s:9CoreStore12SelectClauseP10ObjectTypeQa":{"name":"ObjectType","abstract":"

    The DynamicObject type associated with the clause

    ","parent_name":"SelectClause"},"Protocols/SelectClause.html#/s:9CoreStore12SelectClauseP10ReturnTypeQa":{"name":"ReturnType","abstract":"

    The SelectResultType type associated with the clause

    ","parent_name":"SelectClause"},"Protocols/SelectClause.html#/s:9CoreStore12SelectClauseP11selectTermsSayAA0C4TermOy10ObjectTypeQzGGvp":{"name":"selectTerms","abstract":"

    The SelectTerms for the query

    ","parent_name":"SelectClause"},"Protocols/SectionMonitorBuilderType.html#/s:9CoreStore25SectionMonitorBuilderTypeP06ObjectF0Qa":{"name":"ObjectType","abstract":"

    The DynamicObject type for the ListMonitor

    ","parent_name":"SectionMonitorBuilderType"},"Protocols/SectionMonitorBuilderType.html#/s:9CoreStore25SectionMonitorBuilderTypeP4fromAA4FromVy06ObjectF0QzGvp":{"name":"from","abstract":"

    The From clause specifies the source entity and source persistent store for the ListMonitor

    ","parent_name":"SectionMonitorBuilderType"},"Protocols/SectionMonitorBuilderType.html#/s:9CoreStore25SectionMonitorBuilderTypeP9sectionByAA0cH0Vy06ObjectF0QzGvp":{"name":"sectionBy","abstract":"

    The SectionBy clause to be used for the ListMonitor

    ","parent_name":"SectionMonitorBuilderType"},"Protocols/SectionMonitorBuilderType.html#/s:9CoreStore25SectionMonitorBuilderTypeP12fetchClausesSayAA11FetchClause_pGvp":{"name":"fetchClauses","abstract":"

    The FetchClauses to be used for the ListMonitor

    ","parent_name":"SectionMonitorBuilderType"},"Protocols/SchemaMappingProvider.html#/s:9CoreStore21SchemaMappingProviderP09cs_createD5Model4from2to7storageSo09NSMappingH0C07mappingH0_AA13MigrationTypeO09migrationO0tAA07DynamicC0_p_AaN_pAA12LocalStorage_ptKF":{"name":"cs_createMappingModel(from:to:storage:)","abstract":"

    Do not call directly.

    ","parent_name":"SchemaMappingProvider"},"Protocols/QueryableSource.html#/s:9CoreStore15QueryableSourceP10queryValueyqd_0_SgAA4FromVyqd__G_AA6SelectVyqd__qd_0_GAA11QueryClause_pdtKAA13DynamicObjectRd__AA0C13AttributeTypeRd_0_r0_lF":{"name":"queryValue(_:_:_:)","abstract":"

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"QueryableSource"},"Protocols/QueryableSource.html#/s:9CoreStore15QueryableSourceP10queryValueyqd_0_SgAA4FromVyqd__G_AA6SelectVyqd__qd_0_GSayAA11QueryClause_pGtKAA13DynamicObjectRd__AA0C13AttributeTypeRd_0_r0_lF":{"name":"queryValue(_:_:_:)","abstract":"

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"QueryableSource"},"Protocols/QueryableSource.html#/s:9CoreStore15QueryableSourceP10queryValuey10ResultTypeQyd__Sgqd__KAA021QueryChainableBuilderH0Rd__AA0c9AttributeH0AFRQlF":{"name":"queryValue(_:)","abstract":"

    Queries a property value or aggregate as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"QueryableSource"},"Protocols/QueryableSource.html#/s:9CoreStore15QueryableSourceP15queryAttributesySaySDySSypGGAA4FromVyqd__G_AA6SelectVyqd__So12NSDictionaryCGAA11QueryClause_pdtKAA13DynamicObjectRd__lF":{"name":"queryAttributes(_:_:_:)","abstract":"

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"QueryableSource"},"Protocols/QueryableSource.html#/s:9CoreStore15QueryableSourceP15queryAttributesySaySDySSypGGAA4FromVyqd__G_AA6SelectVyqd__So12NSDictionaryCGSayAA11QueryClause_pGtKAA13DynamicObjectRd__lF":{"name":"queryAttributes(_:_:_:)","abstract":"

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"QueryableSource"},"Protocols/QueryableSource.html#/s:9CoreStore15QueryableSourceP15queryAttributesySaySDySSypGGqd__KAA25QueryChainableBuilderTypeRd__So12NSDictionaryC06ResultJ0Rtd__lF":{"name":"queryAttributes(_:)","abstract":"

    Queries a dictionary of attribute values or as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"QueryableSource"},"Protocols/QueryableSource.html#/s:9CoreStore15QueryableSourceP13unsafeContextSo015NSManagedObjectF0CyF":{"name":"unsafeContext()","abstract":"

    The internal NSManagedObjectContext managed by this QueryableSource. Using this context directly should typically be avoided, and is provided by CoreStore only for extremely specialized cases.

    ","parent_name":"QueryableSource"},"Protocols/QueryableAttributeType.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","abstract":"

    The CoreDataNativeType for this type when used in Select clauses.

    ","parent_name":"QueryableAttributeType"},"Protocols/QueryableAttributeType.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","abstract":"

    The NSAttributeType for this type when used in Select clauses.

    ","parent_name":"QueryableAttributeType"},"Protocols/QueryableAttributeType.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","abstract":"

    Creates an instance of this type from its QueryableNativeType value.

    ","parent_name":"QueryableAttributeType"},"Protocols/QueryableAttributeType.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","abstract":"

    Creates QueryableNativeType value from this instance.

    ","parent_name":"QueryableAttributeType"},"Protocols/QueryChainableBuilderType.html#/s:9CoreStore25QueryChainableBuilderTypeP06ObjectF0Qa":{"name":"ObjectType","abstract":"

    The DynamicObject type for the query

    ","parent_name":"QueryChainableBuilderType"},"Protocols/QueryChainableBuilderType.html#/s:9CoreStore25QueryChainableBuilderTypeP06ResultF0Qa":{"name":"ResultType","abstract":"

    The SelectResultType type for the query

    ","parent_name":"QueryChainableBuilderType"},"Protocols/QueryChainableBuilderType.html#/s:9CoreStore25QueryChainableBuilderTypeP4fromAA4FromVy06ObjectF0QzGvp":{"name":"from","abstract":"

    The From clause specifies the source entity and source persistent store for the query

    ","parent_name":"QueryChainableBuilderType"},"Protocols/QueryChainableBuilderType.html#/s:9CoreStore25QueryChainableBuilderTypeP6selectAA6SelectVy06ObjectF0Qz06ResultF0QzGvp":{"name":"select","abstract":"

    The Select clause to be used for the query

    ","parent_name":"QueryChainableBuilderType"},"Protocols/QueryChainableBuilderType.html#/s:9CoreStore25QueryChainableBuilderTypeP12queryClausesSayAA0C6Clause_pGvp":{"name":"queryClauses","abstract":"

    The QueryClauses to be used for the query

    ","parent_name":"QueryChainableBuilderType"},"Protocols/OrderByClause.html#/s:9CoreStore13OrderByClauseP10ObjectTypeQa":{"name":"ObjectType","abstract":"

    The DynamicObject type associated with the clause

    ","parent_name":"OrderByClause"},"Protocols/OrderByClause.html#/s:9CoreStore13OrderByClauseP15sortDescriptorsSaySo16NSSortDescriptorCGvp":{"name":"sortDescriptors","abstract":"

    The NSSortDescriptor array for the fetch or query

    ","parent_name":"OrderByClause"},"Protocols/ObjectObserver.html#/s:9CoreStore14ObjectObserverP0C10EntityTypeQa":{"name":"ObjectEntityType","abstract":"

    The DynamicObject type for the observed object

    ","parent_name":"ObjectObserver"},"Protocols/ObjectObserver.html#/s:9CoreStore14ObjectObserverP13objectMonitor_010willUpdateC0yAA0cF0Cy0C10EntityTypeQzG_AItF":{"name":"objectMonitor(_:willUpdateObject:)","abstract":"

    Handles processing just before a change to the observed object occurs. (Optional)","parent_name":"ObjectObserver"},"Protocols/ObjectObserver.html#/s:9CoreStore14ObjectObserverP13objectMonitor_09didUpdateC021changedPersistentKeysyAA0cF0Cy0C10EntityTypeQzG_AJShySSGtF":{"name":"objectMonitor(_:didUpdateObject:changedPersistentKeys:)","abstract":"

    Handles processing right after a change to the observed object occurs. (Optional)","parent_name":"ObjectObserver"},"Protocols/ObjectObserver.html#/s:9CoreStore14ObjectObserverP13objectMonitor_09didDeleteC0yAA0cF0Cy0C10EntityTypeQzG_AItF":{"name":"objectMonitor(_:didDeleteObject:)","abstract":"

    Handles processing right after object is deleted. (Optional)","parent_name":"ObjectObserver"},"Protocols/ListSectionObserver.html#/s:9CoreStore19ListSectionObserverP11listMonitor_09didInsertD002toD5IndexyAA0cG0Cy0C10EntityTypeQzG_So016NSFetchedResultsD4Info_pSitF":{"name":"listMonitor(_:didInsertSection:toSectionIndex:)","abstract":"

    Notifies that a section was inserted at the specified index. (Optional)","parent_name":"ListSectionObserver"},"Protocols/ListSectionObserver.html#/s:9CoreStore19ListSectionObserverP11listMonitor_09didDeleteD004fromD5IndexyAA0cG0Cy0C10EntityTypeQzG_So016NSFetchedResultsD4Info_pSitF":{"name":"listMonitor(_:didDeleteSection:fromSectionIndex:)","abstract":"

    Notifies that a section was inserted at the specified index. (Optional)","parent_name":"ListSectionObserver"},"Protocols/ListObjectObserver.html#/s:9CoreStore18ListObjectObserverP11listMonitor_09didInsertD011toIndexPathyAA0cG0Cy0C10EntityTypeQzG_AJ10Foundation0kL0VtF":{"name":"listMonitor(_:didInsertObject:toIndexPath:)","abstract":"

    Notifies that an object was inserted to the specified NSIndexPath in the list. (Optional)","parent_name":"ListObjectObserver"},"Protocols/ListObjectObserver.html#/s:9CoreStore18ListObjectObserverP11listMonitor_09didDeleteD013fromIndexPathyAA0cG0Cy0C10EntityTypeQzG_AJ10Foundation0kL0VtF":{"name":"listMonitor(_:didDeleteObject:fromIndexPath:)","abstract":"

    Notifies that an object was deleted from the specified NSIndexPath in the list. (Optional)","parent_name":"ListObjectObserver"},"Protocols/ListObjectObserver.html#/s:9CoreStore18ListObjectObserverP11listMonitor_09didUpdateD011atIndexPathyAA0cG0Cy0C10EntityTypeQzG_AJ10Foundation0kL0VtF":{"name":"listMonitor(_:didUpdateObject:atIndexPath:)","abstract":"

    Notifies that an object at the specified NSIndexPath was updated. (Optional)","parent_name":"ListObjectObserver"},"Protocols/ListObjectObserver.html#/s:9CoreStore18ListObjectObserverP11listMonitor_07didMoveD013fromIndexPath02tokL0yAA0cG0Cy0C10EntityTypeQzG_AK10Foundation0kL0VAOtF":{"name":"listMonitor(_:didMoveObject:fromIndexPath:toIndexPath:)","abstract":"

    Notifies that an object’s index changed. (Optional)","parent_name":"ListObjectObserver"},"Protocols/ListObserver.html#/s:9CoreStore12ListObserverP0C10EntityTypeQa":{"name":"ListEntityType","abstract":"

    The NSManagedObject type for the observed list

    ","parent_name":"ListObserver"},"Protocols/ListObserver.html#/s:9CoreStore12ListObserverP21listMonitorWillChangeyyAA0cF0Cy0C10EntityTypeQzGF":{"name":"listMonitorWillChange(_:)","abstract":"

    Handles processing just before a change to the observed list occurs. (Optional)","parent_name":"ListObserver"},"Protocols/ListObserver.html#/s:9CoreStore12ListObserverP20listMonitorDidChangeyyAA0cF0Cy0C10EntityTypeQzGF":{"name":"listMonitorDidChange(_:)","abstract":"

    Handles processing right after a change to the observed list occurs. (Required)

    ","parent_name":"ListObserver"},"Protocols/ListObserver.html#/s:9CoreStore12ListObserverP22listMonitorWillRefetchyyAA0cF0Cy0C10EntityTypeQzGF":{"name":"listMonitorWillRefetch(_:)","abstract":"

    This method is broadcast from within the ListMonitor‘s refetch(...) method to let observers prepare for the internal NSFetchedResultsController’s pending change to its predicate, sort descriptors, etc. (Optional)

    ","parent_name":"ListObserver"},"Protocols/ListObserver.html#/s:9CoreStore12ListObserverP21listMonitorDidRefetchyyAA0cF0Cy0C10EntityTypeQzGF":{"name":"listMonitorDidRefetch(_:)","abstract":"

    After the ListMonitor‘s refetch(...) method is called, this method is broadcast after the NSFetchedResultsController’s last controllerDidChangeContent(_:) notification completes. (Required)

    ","parent_name":"ListObserver"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP0D6IDTypeQa":{"name":"UniqueIDType","abstract":"

    The data type for the entity’s unique ID attribute

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP15uniqueIDKeyPathSSvpZ":{"name":"uniqueIDKeyPath","abstract":"

    The keyPath to the entity’s unique ID attribute

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP13uniqueIDValue0D6IDTypeQzvp":{"name":"uniqueIDValue","abstract":"

    The object’s unique ID value. The default implementation returns the value of the attribute pertained to by uniqueIDKeyPath

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP12shouldInsert4from2inSb12ImportSourceQz_AA19BaseDataTransactionCtFZ":{"name":"shouldInsert(from:in:)","abstract":"

    Return true if an object should be created from source. Return false to ignore and skip source. The default implementation returns the value returned by the shouldUpdate(from:in:) implementation.

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP12shouldUpdate4from2inSb12ImportSourceQz_AA19BaseDataTransactionCtFZ":{"name":"shouldUpdate(from:in:)","abstract":"

    Return true if an object should be updated from source. Return false to ignore and skip source. The default implementation returns true.

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP8uniqueID4from2in0D6IDTypeQzSg12ImportSourceQz_AA19BaseDataTransactionCtKFZ":{"name":"uniqueID(from:in:)","abstract":"

    Return the unique ID as extracted from source. This method is called before shouldInsert(from:in:) or shouldUpdate(from:in:). Return nil to skip importing from source. Note that throwing from this method will cause subsequent imports that are part of the same importUniqueObjects(:sourceArray:) call to be cancelled.

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP9didInsert4from2iny12ImportSourceQz_AA19BaseDataTransactionCtKF":{"name":"didInsert(from:in:)","abstract":"

    Implements the actual importing of data from source. This method is called just after the object is created and assigned its unique ID as returned from uniqueID(from:in:). Implementers should pull values from source and assign them to the receiver’s attributes. Note that throwing from this method will cause subsequent imports that are part of the same importUniqueObjects(:sourceArray:) call to be cancelled. The default implementation simply calls update(from:in:).

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP6update4from2iny12ImportSourceQz_AA19BaseDataTransactionCtKF":{"name":"update(from:in:)","abstract":"

    Implements the actual importing of data from source. This method is called just after the existing object is fetched using its unique ID. Implementers should pull values from source and assign them to the receiver’s attributes. Note that throwing from this method will cause subsequent imports that are part of the same importUniqueObjects(:sourceArray:) call to be cancelled.

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableObject.html#/s:9CoreStore16ImportableObjectP12ImportSourceQa":{"name":"ImportSource","abstract":"

    The data type for the import source. This is most commonly an json type, NSDictionary, or another external source such as NSUserDefaults.

    ","parent_name":"ImportableObject"},"Protocols/ImportableObject.html#/s:9CoreStore16ImportableObjectP12shouldInsert4from2inSb12ImportSourceQz_AA19BaseDataTransactionCtFZ":{"name":"shouldInsert(from:in:)","abstract":"

    Return true if an object should be created from source. Return false to ignore and skip source. The default implementation returns true.

    ","parent_name":"ImportableObject"},"Protocols/ImportableObject.html#/s:9CoreStore16ImportableObjectP9didInsert4from2iny12ImportSourceQz_AA19BaseDataTransactionCtKF":{"name":"didInsert(from:in:)","abstract":"

    Implements the actual importing of data from source. Implementers should pull values from source and assign them to the receiver’s attributes. Note that throwing from this method will cause subsequent imports that are part of the same importObjects(:sourceArray:) call to be cancelled.

    ","parent_name":"ImportableObject"},"Protocols/GroupByClause.html#/s:9CoreStore13GroupByClauseP10ObjectTypeQa":{"name":"ObjectType","abstract":"

    The DynamicObject type associated with the clause

    ","parent_name":"GroupByClause"},"Protocols/GroupByClause.html#/s:9CoreStore13GroupByClauseP8keyPathsSaySSGvp":{"name":"keyPaths","abstract":"

    The list of key path strings to group results with

    ","parent_name":"GroupByClause"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13fetchExistingyqd__Sgqd__AA13DynamicObjectRd__lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instance in the FetchableSource‘s context from a reference created from another managed object context.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13fetchExistingyqd__SgSo17NSManagedObjectIDCAA07DynamicH0Rd__lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instance in the FetchableSource‘s context from an NSManagedObjectID.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13fetchExistingySayqd__Gqd_0_AA13DynamicObjectRd__7ElementQyd_0_Rsd__STRd_0_r0_lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instances in the FetchableSource‘s context from references created from another managed object context.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13fetchExistingySayqd__Gqd_0_AA13DynamicObjectRd__STRd_0_So09NSManagedH2IDC7ElementRtd_0_r0_lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instances in the FetchableSource‘s context from a list of NSManagedObjectID.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP8fetchOneyqd__SgAA4FromVyqd__G_AA11FetchClause_pdtKAA13DynamicObjectRd__lF":{"name":"fetchOne(_:_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP8fetchOneyqd__SgAA4FromVyqd__G_SayAA11FetchClause_pGtKAA13DynamicObjectRd__lF":{"name":"fetchOne(_:_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP8fetchOney10ObjectTypeQyd__Sgqd__KAA021FetchChainableBuilderH0Rd__lF":{"name":"fetchOne(_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP8fetchAllySayqd__GAA4FromVyqd__G_AA11FetchClause_pdtKAA13DynamicObjectRd__lF":{"name":"fetchAll(_:_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP8fetchAllySayqd__GAA4FromVyqd__G_SayAA11FetchClause_pGtKAA13DynamicObjectRd__lF":{"name":"fetchAll(_:_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP8fetchAllySay10ObjectTypeQyd__Gqd__KAA021FetchChainableBuilderH0Rd__lF":{"name":"fetchAll(_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP10fetchCountySiAA4FromVyqd__G_AA11FetchClause_pdtKAA13DynamicObjectRd__lF":{"name":"fetchCount(_:_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP10fetchCountySiAA4FromVyqd__G_SayAA11FetchClause_pGtKAA13DynamicObjectRd__lF":{"name":"fetchCount(_:_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP10fetchCountySiqd__KAA25FetchChainableBuilderTypeRd__lF":{"name":"fetchCount(_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13fetchObjectIDySo09NSManagedfG0CSgAA4FromVyqd__G_AA11FetchClause_pdtKAA07DynamicF0Rd__lF":{"name":"fetchObjectID(_:_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13fetchObjectIDySo09NSManagedfG0CSgAA4FromVyqd__G_SayAA11FetchClause_pGtKAA07DynamicF0Rd__lF":{"name":"fetchObjectID(_:_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13fetchObjectIDySo09NSManagedfG0CSgqd__KAA25FetchChainableBuilderTypeRd__lF":{"name":"fetchObjectID(_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP14fetchObjectIDsySaySo09NSManagedF2IDCGAA4FromVyqd__G_AA11FetchClause_pdtKAA07DynamicF0Rd__lF":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP14fetchObjectIDsySaySo09NSManagedF2IDCGAA4FromVyqd__G_SayAA11FetchClause_pGtKAA07DynamicF0Rd__lF":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP14fetchObjectIDsySaySo09NSManagedF2IDCGqd__KAA25FetchChainableBuilderTypeRd__lF":{"name":"fetchObjectIDs(_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13unsafeContextSo015NSManagedObjectF0CyF":{"name":"unsafeContext()","abstract":"

    The internal NSManagedObjectContext managed by this FetchableSource. Using this context directly should typically be avoided, and is provided by CoreStore only for extremely specialized cases.

    ","parent_name":"FetchableSource"},"Protocols/FetchChainableBuilderType.html#/s:9CoreStore25FetchChainableBuilderTypeP06ObjectF0Qa":{"name":"ObjectType","abstract":"

    The DynamicObject type for the fetch

    ","parent_name":"FetchChainableBuilderType"},"Protocols/FetchChainableBuilderType.html#/s:9CoreStore25FetchChainableBuilderTypeP4fromAA4FromVy06ObjectF0QzGvp":{"name":"from","abstract":"

    The From clause specifies the source entity and source persistent store for the fetch

    ","parent_name":"FetchChainableBuilderType"},"Protocols/FetchChainableBuilderType.html#/s:9CoreStore25FetchChainableBuilderTypeP12fetchClausesSayAA0C6Clause_pGvp":{"name":"fetchClauses","abstract":"

    The FetchClauses to be used for the fetch

    ","parent_name":"FetchChainableBuilderType"},"Protocols/DynamicSchema.html#/s:9CoreStore13DynamicSchemaP12modelVersionSSvp":{"name":"modelVersion","abstract":"

    The version string for this model schema.

    ","parent_name":"DynamicSchema"},"Protocols/DynamicSchema.html#/s:9CoreStore13DynamicSchemaP8rawModelSo015NSManagedObjectF0CyF":{"name":"rawModel()","abstract":"

    Do not call this directly. The NSManagedObjectModel for this schema may be created lazily and using this method directly may affect the integrity of the model.

    ","parent_name":"DynamicSchema"},"Protocols/DynamicSchema.html#/s:9CoreStore13DynamicSchemaPAAE05printabD0SSyF":{"name":"printCoreStoreSchema()","abstract":"

    Prints the DynamicSchema as their corresponding CoreStoreObject Swift declarations. This is useful for converting current XcodeDataModelSchema-based models into the new CoreStoreSchema framework. Additional adjustments may need to be done to the generated source code; for example: Transformable concrete types need to be provided, as well as default values.

    ","parent_name":"DynamicSchema"},"Protocols/DynamicKeyPath.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","abstract":"

    The DynamicObject type

    ","parent_name":"DynamicKeyPath"},"Protocols/DynamicKeyPath.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","abstract":"

    The Value type

    ","parent_name":"DynamicKeyPath"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectP14cs_forceCreate17entityDescription4into8assignToxSo08NSEntityI0C_So09NSManagedD7ContextCSo012NSPersistentB0CtFZ":{"name":"cs_forceCreate(entityDescription:into:assignTo:)","abstract":"

    Used internally by CoreStore. Do not call directly.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectP10cs_fromRaw6objectxSo09NSManagedD0C_tFZ":{"name":"cs_fromRaw(object:)","abstract":"

    Used internally by CoreStore. Do not call directly.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectP10cs_matches6objectSbSo09NSManagedD0C_tFZ":{"name":"cs_matches(object:)","abstract":"

    Used internally by CoreStore. Do not call directly.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectP5cs_idSo09NSManagedD2IDCyF":{"name":"cs_id()","abstract":"

    Used internally by CoreStore. Do not call directly.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectP8cs_toRawSo09NSManagedD0CyF":{"name":"cs_toRaw()","abstract":"

    Used internally by CoreStore. Do not call directly.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectPA2A0abD0CRbzrlE07partialD0AA07PartialD0VyxGyF":{"name":"partialObject()","abstract":"

    Returns the PartialObject instance for the object, which acts as a fast, type-safe KVC interface for CoreStoreObject.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectPA2A0abD0CRbzrlE12Relationshipa":{"name":"Relationship","abstract":"

    The containing type for relationships. Relationships can be any CoreStoreObject subclass.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectPA2A0abD0CRbzrlE13Transformablea":{"name":"Transformable","abstract":"

    The containing type for transformable properties. Transformable properties support types that conforms to NSCoding & NSCopying.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectPA2A0abD0CRbzrlE5Valuea":{"name":"Value","abstract":"

    The containing type for value propertiess. Value properties support any type that conforms to ImportableAttributeType.

    ","parent_name":"DynamicObject"},"Protocols/CoreStoreObjectKeyValueObservation.html#/s:9CoreStore0aB25ObjectKeyValueObservationP10invalidateyyF":{"name":"invalidate()","abstract":"

    invalidate() will be called automatically when an CoreStoreObjectKeyValueObservation is deinited.

    ","parent_name":"CoreStoreObjectKeyValueObservation"},"Protocols/CoreStoreLogger.html#/s:9CoreStore0aB6LoggerP3log5level7message8fileName10lineNumber08functionH0yAA8LogLevelO_SSs12StaticStringVSiAMtF":{"name":"log(level:message:fileName:lineNumber:functionName:)","abstract":"

    Handles log messages sent by the CoreStore framework.

    ","parent_name":"CoreStoreLogger"},"Protocols/CoreStoreLogger.html#/s:9CoreStore0aB6LoggerP3log5error7message8fileName10lineNumber08functionH0yAA0aB5ErrorO_SSs12StaticStringVSiAMtF":{"name":"log(error:message:fileName:lineNumber:functionName:)","abstract":"

    Handles errors sent by the CoreStore framework.

    ","parent_name":"CoreStoreLogger"},"Protocols/CoreStoreLogger.html#/s:9CoreStore0aB6LoggerP6assert_7message8fileName10lineNumber08functionG0ySbyXK_SSyXKs12StaticStringVSiAJtF":{"name":"assert(_:message:fileName:lineNumber:functionName:)","abstract":"

    Handles assertions made throughout the CoreStore framework.

    ","parent_name":"CoreStoreLogger"},"Protocols/CoreStoreLogger.html#/s:9CoreStore0aB6LoggerP5abort_8fileName10lineNumber08functionF0ySS_s12StaticStringVSiAItF":{"name":"abort(_:fileName:lineNumber:functionName:)","abstract":"

    Handles fatal errors made throughout the CoreStore framework. The app wil terminate after this method is called.

    ","parent_name":"CoreStoreLogger"},"Protocols/CoreStoreSwiftType.html#/s:9CoreStore0aB9SwiftTypeP14ObjectiveCTypeQa":{"name":"ObjectiveCType","abstract":"

    The corresponding Objective-C type

    ","parent_name":"CoreStoreSwiftType"},"Protocols/CoreStoreSwiftType.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","abstract":"

    The bridged Objective-C instance

    ","parent_name":"CoreStoreSwiftType"},"Protocols/CoreStoreObjectiveCType.html#/s:9CoreStore0aB14ObjectiveCTypeP9SwiftTypeQa":{"name":"SwiftType","abstract":"

    The corresponding Swift type

    ","parent_name":"CoreStoreObjectiveCType"},"Protocols/CoreStoreObjectiveCType.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","abstract":"

    The bridged Swift instance

    ","parent_name":"CoreStoreObjectiveCType"},"Protocols/CoreStoreObjectiveCType.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","abstract":"

    Initializes this instance with the Swift instance to bridge from

    ","parent_name":"CoreStoreObjectiveCType"},"Protocols/CSLocalStorage.html#/c:@M@CoreStore@objc(pl)CSLocalStorage(py)fileURL":{"name":"fileURL","abstract":"

    The NSURL that points to the store file

    ","parent_name":"CSLocalStorage"},"Protocols/CSLocalStorage.html#/c:@M@CoreStore@objc(pl)CSLocalStorage(py)migrationMappingProviders":{"name":"migrationMappingProviders","abstract":"

    An array of SchemaMappingProviders that provides the complete mapping models for custom migrations. This is currently only supported for Swift code.

    ","parent_name":"CSLocalStorage"},"Protocols/CSLocalStorage.html#/c:@M@CoreStore@objc(pl)CSLocalStorage(py)localStorageOptions":{"name":"localStorageOptions","abstract":"

    Options that tell the CSDataStack how to setup the persistent store

    ","parent_name":"CSLocalStorage"},"Protocols/CSLocalStorage.html#/c:@M@CoreStore@objc(pl)CSLocalStorage(im)cs_eraseStorageAndWaitWithMetadata:soureModelHint:error:":{"name":"cs_eraseStorageAndWait(metadata:soureModelHint:error:)","abstract":"

    Called by the CSDataStack to perform actual deletion of the store file from disk. Do not call directly! The sourceModel argument is a hint for the existing store’s model version. Implementers can use the sourceModel to perform necessary store operations. (SQLite stores for example, can convert WAL journaling mode to DELETE before deleting)

    ","parent_name":"CSLocalStorage"},"Protocols/CSStorageInterface.html#/c:@M@CoreStore@objc(pl)CSStorageInterface(cpy)storeType":{"name":"storeType","abstract":"

    The string identifier for the NSPersistentStore‘s type property. This is the same string CoreStore will use to create the NSPersistentStore from the NSPersistentStoreCoordinator’s addPersistentStoreWithType(...) method.

    ","parent_name":"CSStorageInterface"},"Protocols/CSStorageInterface.html#/c:@M@CoreStore@objc(pl)CSStorageInterface(py)configuration":{"name":"configuration","abstract":"

    The configuration name in the model file

    ","parent_name":"CSStorageInterface"},"Protocols/CSStorageInterface.html#/c:@M@CoreStore@objc(pl)CSStorageInterface(py)storeOptions":{"name":"storeOptions","abstract":"

    The options dictionary for the NSPersistentStore

    ","parent_name":"CSStorageInterface"},"Protocols/CSObjectObserver.html#/c:@M@CoreStore@objc(pl)CSObjectObserver(im)objectMonitor:willUpdateObject:":{"name":"objectMonitor(_:willUpdateObject:)","abstract":"

    Handles processing just before a change to the observed object occurs

    ","parent_name":"CSObjectObserver"},"Protocols/CSObjectObserver.html#/c:@M@CoreStore@objc(pl)CSObjectObserver(im)objectMonitor:didUpdateObject:changedPersistentKeys:":{"name":"objectMonitor(_:didUpdateObject:changedPersistentKeys:)","abstract":"

    Handles processing right after a change to the observed object occurs

    ","parent_name":"CSObjectObserver"},"Protocols/CSObjectObserver.html#/c:@M@CoreStore@objc(pl)CSObjectObserver(im)objectMonitor:didDeleteObject:":{"name":"objectMonitor(_:didDeleteObject:)","abstract":"

    Handles processing right after object is deleted

    ","parent_name":"CSObjectObserver"},"Protocols/CSListSectionObserver.html#/c:@M@CoreStore@objc(pl)CSListSectionObserver(im)listMonitor:didInsertSection:toSectionIndex:":{"name":"listMonitor(_:didInsertSection:toSectionIndex:)","abstract":"

    Notifies that a section was inserted at the specified index

    ","parent_name":"CSListSectionObserver"},"Protocols/CSListSectionObserver.html#/c:@M@CoreStore@objc(pl)CSListSectionObserver(im)listMonitor:didDeleteSection:fromSectionIndex:":{"name":"listMonitor(_:didDeleteSection:fromSectionIndex:)","abstract":"

    Notifies that a section was inserted at the specified index

    ","parent_name":"CSListSectionObserver"},"Protocols/CSListObjectObserver.html#/c:@M@CoreStore@objc(pl)CSListObjectObserver(im)listMonitor:didInsertObject:toIndexPath:":{"name":"listMonitor(_:didInsertObject:toIndexPath:)","abstract":"

    Notifies that an object was inserted to the specified NSIndexPath in the list

    ","parent_name":"CSListObjectObserver"},"Protocols/CSListObjectObserver.html#/c:@M@CoreStore@objc(pl)CSListObjectObserver(im)listMonitor:didDeleteObject:fromIndexPath:":{"name":"listMonitor(_:didDeleteObject:fromIndexPath:)","abstract":"

    Notifies that an object was deleted from the specified NSIndexPath in the list

    ","parent_name":"CSListObjectObserver"},"Protocols/CSListObjectObserver.html#/c:@M@CoreStore@objc(pl)CSListObjectObserver(im)listMonitor:didUpdateObject:atIndexPath:":{"name":"listMonitor(_:didUpdateObject:atIndexPath:)","abstract":"

    Notifies that an object at the specified NSIndexPath was updated

    ","parent_name":"CSListObjectObserver"},"Protocols/CSListObjectObserver.html#/c:@M@CoreStore@objc(pl)CSListObjectObserver(im)listMonitor:didMoveObject:fromIndexPath:toIndexPath:":{"name":"listMonitor(_:didMoveObject:fromIndexPath:toIndexPath:)","abstract":"

    Notifies that an object’s index changed

    ","parent_name":"CSListObjectObserver"},"Protocols/CSListObserver.html#/c:@M@CoreStore@objc(pl)CSListObserver(im)listMonitorWillChange:":{"name":"listMonitorWillChange(_:)","abstract":"

    Handles processing just before a change to the observed list occurs

    ","parent_name":"CSListObserver"},"Protocols/CSListObserver.html#/c:@M@CoreStore@objc(pl)CSListObserver(im)listMonitorDidChange:":{"name":"listMonitorDidChange(_:)","abstract":"

    Handles processing right after a change to the observed list occurs

    ","parent_name":"CSListObserver"},"Protocols/CSListObserver.html#/c:@M@CoreStore@objc(pl)CSListObserver(im)listMonitorWillRefetch:":{"name":"listMonitorWillRefetch(_:)","abstract":"

    This method is broadcast from within the CSListMonitor‘s -refetchWithFetchClauses: method to let observers prepare for the internal NSFetchedResultsController’s pending change to its predicate, sort descriptors, etc. Note that the actual refetch will happen after the NSFetchedResultsController’s last -controllerDidChangeContent: notification completes.

    ","parent_name":"CSListObserver"},"Protocols/CSListObserver.html#/c:@M@CoreStore@objc(pl)CSListObserver(im)listMonitorDidRefetch:":{"name":"listMonitorDidRefetch(_:)","abstract":"

    After the CSListMonitor‘s -refetchWithFetchClauses: method is called, this method is broadcast after the NSFetchedResultsController’s last -controllerDidChangeContent: notification completes.

    ","parent_name":"CSListObserver"},"Protocols/CSDynamicSchema.html#/c:@M@CoreStore@objc(pl)CSDynamicSchema(py)modelVersion":{"name":"modelVersion","abstract":"

    The version string for this model schema.

    ","parent_name":"CSDynamicSchema"},"Protocols/CSDynamicSchema.html#/c:@M@CoreStore@objc(pl)CSDynamicSchema(im)rawModel":{"name":"rawModel()","abstract":"

    Do not call this directly. The NSManagedObjectModel for this schema may be created lazily and using this method directly may affect the integrity of the model.

    ","parent_name":"CSDynamicSchema"},"Protocols.html#/c:@M@CoreStore@objc(pl)CSFetchClause":{"name":"CSFetchClause","abstract":"

    The CSFetchClause implement clauses used to configure NSFetchRequests.

    "},"Protocols.html#/c:@M@CoreStore@objc(pl)CSQueryClause":{"name":"CSQueryClause","abstract":"

    The CSQueryClause implement clauses used to configure NSFetchRequests.

    "},"Protocols.html#/c:@M@CoreStore@objc(pl)CSDeleteClause":{"name":"CSDeleteClause","abstract":"

    The CSDeleteClause implement clauses used to configure NSFetchRequests.

    "},"Protocols/CSDynamicSchema.html":{"name":"CSDynamicSchema","abstract":"

    The CSDynamicSchema serves as the Objective-C bridging type for DynamicSchema.

    "},"Protocols/CSListObserver.html":{"name":"CSListObserver","abstract":"

    Implement the CSListObserver protocol to observe changes to a list of NSManagedObjects. CSListObservers may register themselves to a CSListMonitor‘s -addListObserver: method:

    "},"Protocols/CSListObjectObserver.html":{"name":"CSListObjectObserver","abstract":"

    Implement the CSListObjectObserver protocol to observe detailed changes to a list’s object. CSListObjectObservers may register themselves to a CSListMonitor‘s -addListObjectObserver(_:) method:

    "},"Protocols/CSListSectionObserver.html":{"name":"CSListSectionObserver","abstract":"

    Implement the CSListSectionObserver protocol to observe changes to a list’s section info. CSListSectionObservers may register themselves to a CSListMonitor‘s -addListSectionObserver: method:

    "},"Protocols/CSObjectObserver.html":{"name":"CSObjectObserver","abstract":"

    Implement the CSObjectObserver protocol to observe changes to a single NSManagedObject instance. CSObjectObservers may register themselves to a CSObjectMonitor‘s -addObjectObserver: method:

    "},"Protocols/CSStorageInterface.html":{"name":"CSStorageInterface","abstract":"

    The CSStorageInterface serves as the Objective-C bridging type for StorageInterface.

    "},"Protocols/CSLocalStorage.html":{"name":"CSLocalStorage","abstract":"

    The CSLocalStorage serves as the Objective-C bridging type for LocalStorage.

    "},"Protocols.html#/c:@M@CoreStore@objc(pl)CoreDataNativeType":{"name":"CoreDataNativeType","abstract":"

    Objective-C Foundation types that are natively supported by Core Data managed attributes all conform to CoreDataNativeType.

    "},"Protocols/CoreStoreObjectiveCType.html":{"name":"CoreStoreObjectiveCType","abstract":"

    CoreStoreObjectiveCTypes are Objective-C accessible classes that represent CoreStore’s Swift types.

    "},"Protocols/CoreStoreSwiftType.html":{"name":"CoreStoreSwiftType","abstract":"

    CoreStoreSwiftTypes are CoreStore’s Swift types that are bridgeable to Objective-C.

    "},"Protocols/CoreStoreLogger.html":{"name":"CoreStoreLogger","abstract":"

    Custom loggers should implement the CoreStoreLogger protocol and pass its instance to CoreStore.logger. Calls to log(...), assert(...), and abort(...) are not tied to a specific queue/thread, so it is the implementer’s job to handle thread-safety.

    "},"Protocols/CoreStoreObjectKeyValueObservation.html":{"name":"CoreStoreObjectKeyValueObservation","abstract":"

    Observation token for CoreStoreObject properties. Make sure to retain this instance to keep observing notifications.

    "},"Protocols/DynamicObject.html":{"name":"DynamicObject","abstract":"

    All CoreStore’s utilities are designed around DynamicObject instances. NSManagedObject and CoreStoreObject instances all conform to DynamicObject.

    "},"Protocols/DynamicKeyPath.html":{"name":"DynamicKeyPath","abstract":"

    Used only for utility methods.

    "},"Protocols/DynamicSchema.html":{"name":"DynamicSchema","abstract":"

    DynamicSchema are types that provide NSManagedObjectModel instances for a single model version. CoreStore currently supports the following concrete types:

    "},"Protocols/FetchChainableBuilderType.html":{"name":"FetchChainableBuilderType","abstract":"

    Utility protocol for FetchChainBuilder. Used in fetch methods that support chained fetch builders.

    "},"Protocols/FetchableSource.html":{"name":"FetchableSource","abstract":"

    Encapsulates containers which manages an internal NSManagedObjectContext, such as DataStacks and transactions, that can be used for fetching objects. CoreStore provides implementations for this protocol and should be used as a read-only abstraction.

    "},"Protocols/GroupByClause.html":{"name":"GroupByClause","abstract":"

    Abstracts the GroupBy clause for protocol utilities.

    "},"Protocols.html#/s:9CoreStore23ImportableAttributeTypeP":{"name":"ImportableAttributeType","abstract":"

    Types supported by CoreStore as NSManagedObject and CoreStoreObject property types."},"Protocols/ImportableObject.html":{"name":"ImportableObject","abstract":"

    NSManagedObject and CoreStoreObject subclasses that conform to the ImportableObject protocol can be imported from a specified ImportSource. This allows transactions to create and insert instances this way:

    "},"Protocols/ImportableUniqueObject.html":{"name":"ImportableUniqueObject","abstract":"

    NSManagedObject subclasses that conform to the ImportableUniqueObject protocol can be imported from a specified ImportSource. This allows transactions to either update existing objects or create new instances this way:

    "},"Protocols.html#/s:9CoreStore29AllowedObjectiveCKeyPathValueP":{"name":"AllowedObjectiveCKeyPathValue","abstract":"

    Used only for utility methods. Types allowed as Value generic type to KeyPath utilities.

    "},"Protocols.html#/s:9CoreStore37AllowedOptionalObjectiveCKeyPathValueP":{"name":"AllowedOptionalObjectiveCKeyPathValue","abstract":"

    Used only for utility methods. Types allowed as Value generic type to KeyPath utilities.

    "},"Protocols.html#/s:9CoreStore39AllowedObjectiveCCollectionKeyPathValueP":{"name":"AllowedObjectiveCCollectionKeyPathValue","abstract":"

    Used only for utility methods. Types allowed as Value generic type to KeyPath utilities.

    "},"Protocols.html#/s:9CoreStore07AllowedaB18ObjectKeyPathValueP":{"name":"AllowedCoreStoreObjectKeyPathValue","abstract":"

    Used only for utility methods. Types allowed as Value generic type to KeyPath utilities.

    "},"Protocols.html#/s:9CoreStore07AllowedaB28ObjectCollectionKeyPathValueP":{"name":"AllowedCoreStoreObjectCollectionKeyPathValue","abstract":"

    Used only for utility methods. Types allowed as Value generic type to KeyPath utilities.

    "},"Protocols/ListObserver.html":{"name":"ListObserver","abstract":"

    Implement the ListObserver protocol to observe changes to a list of NSManagedObjects. ListObservers may register themselves to a ListMonitor‘s addObserver(_:) method:

    "},"Protocols/ListObjectObserver.html":{"name":"ListObjectObserver","abstract":"

    Implement the ListObjectObserver protocol to observe detailed changes to a list’s object. ListObjectObservers may register themselves to a ListMonitor‘s addObserver(_:) method:

    "},"Protocols/ListSectionObserver.html":{"name":"ListSectionObserver","abstract":"

    Implement the ListSectionObserver protocol to observe changes to a list’s section info. ListSectionObservers may register themselves to a ListMonitor‘s addObserver(_:) method:

    "},"Protocols/ObjectObserver.html":{"name":"ObjectObserver","abstract":"

    Implement the ObjectObserver protocol to observe changes to a single DynamicObject instance. ObjectObservers may register themselves to a ObjectMonitor‘s addObserver(_:) method:

    "},"Protocols/OrderByClause.html":{"name":"OrderByClause","abstract":"

    Abstracts the OrderBy clause for protocol utilities.

    "},"Protocols/QueryChainableBuilderType.html":{"name":"QueryChainableBuilderType","abstract":"

    Utility protocol for QueryChainBuilder. Used in fetch methods that support chained query builders.

    "},"Protocols/QueryableAttributeType.html":{"name":"QueryableAttributeType","abstract":"

    Types supported by CoreStore for querying, especially as generic type for Select clauses."},"Protocols/QueryableSource.html":{"name":"QueryableSource","abstract":"

    Encapsulates containers which manages an internal NSManagedObjectContext, such as DataStacks and transactions, that can be used for querying values. CoreStore provides implementations for this protocol and should be used as a read-only abstraction.

    "},"Protocols/SchemaMappingProvider.html":{"name":"SchemaMappingProvider","abstract":"

    The SchemaMappingProvider provides migration mapping information between two DynamicSchema versions.

    "},"Protocols/SectionMonitorBuilderType.html":{"name":"SectionMonitorBuilderType","abstract":"

    Utility protocol for SectionMonitorChainBuilder. Used in methods that support chained fetch builders.

    "},"Protocols.html#/s:9CoreStore16SelectResultTypeP":{"name":"SelectResultType","abstract":"

    The SelectResultType protocol is implemented by return types supported by the Select clause.

    "},"Protocols.html#/s:9CoreStore26SelectAttributesResultTypeP":{"name":"SelectAttributesResultType","abstract":"

    The SelectAttributesResultType protocol is implemented by return types supported by the queryAttributes(...) methods.

    "},"Protocols/SelectClause.html":{"name":"SelectClause","abstract":"

    Abstracts the Select clause for protocol utilities.

    "},"Protocols/StorageInterface.html":{"name":"StorageInterface","abstract":"

    The StorageInterface represents the data store managed (or to be managed) by the DataStack. When added to the DataStack, the StorageInterface serves as the interface for the NSPersistentStore. This may be a database file, an in-memory store, etc.

    "},"Protocols/LocalStorage.html":{"name":"LocalStorage","abstract":"

    The LocalStorage represents StorageInterfaces that are backed by local files.

    "},"Protocols/CloudStorage.html":{"name":"CloudStorage","abstract":"

    The CloudStorage represents StorageInterfaces that are synchronized from a cloud-based store.

    "},"Protocols.html#/s:9CoreStore11FetchClauseP":{"name":"FetchClause","abstract":"

    The FetchClause implement clauses used to configure NSFetchRequests.

    "},"Protocols.html#/s:9CoreStore11QueryClauseP":{"name":"QueryClause","abstract":"

    The QueryClause implement clauses used to configure NSFetchRequests.

    "},"Protocols.html#/s:9CoreStore12DeleteClauseP":{"name":"DeleteClause","abstract":"

    The DeleteClause implement clauses used to configure NSFetchRequests.

    "},"Protocols/AnyWhereClause.html":{"name":"AnyWhereClause","abstract":"

    Type-erased Where clause for protocol utilities.

    "},"Protocols.html#/s:9CoreStore20WhereExpressionTraitP":{"name":"WhereExpressionTrait","abstract":"

    Used only for Where.Expression type constraints. Currently supports SingleTarget and CollectionTarget.

    "},"Protocols/WhereClauseType.html":{"name":"WhereClauseType","abstract":"

    Abstracts the Where clause for protocol utilities. Typically used only for utility method generic constraints.

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains the value of a property

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains the value of a property

    "},"Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":"<(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than a value

    "},"Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":">(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than a value

    "},"Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":"<=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than or equal to a value

    "},"Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":">=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than or equal to a value

    "},"Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":"<(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than a value

    "},"Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":">(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than a value

    "},"Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":"<=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than or equal to a value

    "},"Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":">=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than or equal to a value

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_7ElementQy0_Rs_STR0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains a value of a property

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_STR0_So0gH2IDC7ElementRt0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains a value of a property

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_7ElementQy0_Rs_STR0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains a value of a property

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_STR0_So0gH2IDC7ElementRt0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains a value of a property

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains the value of a property

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains the value of a property

    "},"Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF":{"name":"<(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than a value

    "},"Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF":{"name":">(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than a value

    "},"Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF":{"name":"<=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than or equal to a value

    "},"Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF":{"name":">=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than or equal to a value

    "},"Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":"<(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than a value

    "},"Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":">(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than a value

    "},"Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":"<=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than or equal to a value

    "},"Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":">=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than or equal to a value

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GGtAA0aB6ObjectCRbzAORb_7ElementQy0_Rs_STR0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains a value of a property

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD12SingleTargetOyx_Gq0_Gs7KeyPathCyxq_G_ALyq_q0_GtSo15NSManagedObjectCRbzAPRb_AA020AllowedObjectiveCKeyH5ValueR0_r1_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD12SingleTargetOyx_Gq0_Gs7KeyPathCyxq_SgG_ALyq_q0_GtSo15NSManagedObjectCRbzAQRb_AA020AllowedObjectiveCKeyH5ValueR0_r1_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD16CollectionTargetOyx_Gq0_Gs7KeyPathCyxq_G_ALyq_q0_GtSo15NSManagedObjectCRbzAPRb_AA027AllowedObjectiveCCollectiongH5ValueR0_r1_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD16CollectionTargetOyx_Gq0_Gs7KeyPathCyxq_SgG_ALyq_q0_GtSo15NSManagedObjectCRbzAQRb_AA027AllowedObjectiveCCollectiongH5ValueR0_r1_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_q0_q1_GAFyx_q0_q_G_s7KeyPathCyq_q1_GtSo15NSManagedObjectCRbzAMRb_AA0cD5TraitR0_AA020AllowedObjectiveCKeyF5ValueR1_r2_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_q0_q1_GAFyx_q0_q_SgG_s7KeyPathCyq_q1_GtSo15NSManagedObjectCRbzANRb_AA0cD5TraitR0_AA020AllowedObjectiveCKeyF5ValueR1_r2_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD16CollectionTargetOyx_Gq1_GAFyx_q0_q_G_s7KeyPathCyq_q1_GtSo15NSManagedObjectCRbzAPRb_AA0cD5TraitR0_AA027AllowedObjectiveCCollectiongH5ValueR1_r2_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD16CollectionTargetOyx_Gq1_GAFyx_q0_q_SgG_s7KeyPathCyq_q1_GtSo15NSManagedObjectCRbzAQRb_AA0cD5TraitR0_AA027AllowedObjectiveCCollectiongH5ValueR1_r2_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD16CollectionTargetOyx_Gq2_GAFyx_q0_q1_G_s7KeyPathCyq_q2_GtSo15NSManagedObjectCRbzAPRb_AA0cD5TraitR0_AA027AllowedObjectiveCCollectiongH5ValueR1_AA0lm4CKeyhO0R2_r3_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD12SingleTargetOyx_G9ValueTypeQy0_Gs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_ANyq_q0_GtAA0aB6ObjectCRbzAWRb_0oH0Qy0_Rs_AA07AllowedaboijG0R0_r1_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_q0_9ValueTypeQy1_GAFyx_q0_q_G_s7KeyPathCyq_q1_GtAA0aB6ObjectCRbzAORb_0iF0Qy1_Rs_AA0cD5TraitR0_AA07AllowedabighE0R1_r2_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_q0_9ValueTypeQy1_GAFyx_q0_q_SgG_s7KeyPathCyq_q1_GtAA0aB6ObjectCRbzAPRb_0iF0Qy1_Rs_AA0cD5TraitR0_AA07AllowedabighE0R1_r2_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD16CollectionTargetOyx_G9ValueTypeQy0_Gs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_ANyq_q0_GtAA0aB6ObjectCRbzAWRb_0oH0Qy0_Rs_AA07AllowedaboeijG0R0_r1_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD16CollectionTargetOyx_G9ValueTypeQy1_GAFyx_q0_q_G_s7KeyPathCyq_q1_GtAA0aB6ObjectCRbzARRb_0kH0Qy1_Rs_AA0cD5TraitR0_AA07AllowedabkeijG0R1_r2_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD16CollectionTargetOyx_G9ValueTypeQy1_GAFyx_q0_q_SgG_s7KeyPathCyq_q1_GtAA0aB6ObjectCRbzASRb_0kH0Qy1_Rs_AA0cD5TraitR0_AA07AllowedabkeijG0R1_r2_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD16CollectionTargetOyx_G9ValueTypeQy2_GAFyx_q0_q1_G_s7KeyPathCyq_q2_GtAA0aB6ObjectCRbz0kH0Qy1_RszARRb_ASQy2_Rs_AA0cD5TraitR0_AA07AllowedabkeijG0R1_AA0mabkijG0R2_r3_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_G_q0_tAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_r1_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if an expression is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_G_q0_tAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_r1_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if an expression is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq1__AD10ExpressionVyx_q_q0_GtAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_7ElementQy1_Rs0_STR1_r2_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains a value

    "},"Functions.html#/s:9CoreStore1loiyAA5WhereVyxGAD10ExpressionVyx_q_q0_G_q0_tAA13DynamicObjectRzAA0cD5TraitR_AA22QueryableAttributeTypeR0_SLR0_r1_lF":{"name":"<(_:_:)","abstract":"

    Creates a Where clause by comparing if an expression is less than a value

    "},"Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_G_q0_tAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_SLR0_r1_lF":{"name":"<=(_:_:)","abstract":"

    Creates a Where clause by comparing if an expression is less than or equal to a value

    "},"Functions.html#/s:9CoreStore1goiyAA5WhereVyxGAD10ExpressionVyx_q_q0_G_q0_tAA13DynamicObjectRzAA0cD5TraitR_AA22QueryableAttributeTypeR0_SLR0_r1_lF":{"name":">(_:_:)","abstract":"

    Creates a Where clause by comparing if an expression is greater than a value

    "},"Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_G_q0_tAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_SLR0_r1_lF":{"name":">=(_:_:)","abstract":"

    Creates a Where clause by comparing if an expression is greater than or equal to a value

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_SgG_q0_tAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_r1_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if an expression is equal to a value

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_SgG_AHtAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_r1_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if an expression is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_SgG_q0_tAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_r1_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if an expression is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_SgG_AHtAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_r1_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if an expression is equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq1__AD10ExpressionVyx_q_q0_SgGtAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_7ElementQy1_Rs0_STR1_r2_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains a value

    "},"Functions.html#/s:9CoreStore1loiyAA5WhereVyxGAD10ExpressionVyx_q_q0_SgG_q0_tAA13DynamicObjectRzAA0cD5TraitR_AA22QueryableAttributeTypeR0_SLR0_r1_lF":{"name":"<(_:_:)","abstract":"

    Creates a Where clause by comparing if an expression is less than a value

    "},"Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_SgG_AHtAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_SLR0_r1_lF":{"name":"<=(_:_:)","abstract":"

    Creates a Where clause by comparing if an expression is less than or equal to a value

    "},"Functions.html#/s:9CoreStore1goiyAA5WhereVyxGAD10ExpressionVyx_q_q0_SgG_q0_tAA13DynamicObjectRzAA0cD5TraitR_AA22QueryableAttributeTypeR0_SLR0_r1_lF":{"name":">(_:_:)","abstract":"

    Creates a Where clause by comparing if an expression is greater than a value

    "},"Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_SgG_AHtAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_SLR0_r1_lF":{"name":">=(_:_:)","abstract":"

    Creates a Where clause by comparing if an expression is greater than or equal to a value

    "},"Extensions/UUID.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"UUID"},"Extensions/UUID.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"UUID"},"Extensions/UUID.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"UUID"},"Extensions/UUID.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"UUID"},"Extensions/URL.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"URL"},"Extensions/URL.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"URL"},"Extensions/URL.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"URL"},"Extensions/URL.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"URL"},"Extensions/String.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"String"},"Extensions/String.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"String"},"Extensions/String.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"String"},"Extensions/String.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"String"},"Extensions/NSUUID.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSUUID"},"Extensions/NSUUID.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSUUID"},"Extensions/NSUUID.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSUUID"},"Extensions/NSUUID.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSUUID"},"Extensions/NSURL.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSURL"},"Extensions/NSURL.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSURL"},"Extensions/NSURL.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSURL"},"Extensions/NSURL.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSURL"},"Extensions/NSString.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSString"},"Extensions/NSString.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSString"},"Extensions/NSString.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSString"},"Extensions/NSString.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSString"},"Extensions/NSNumber.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSNumber"},"Extensions/NSNull.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSNull"},"Extensions/NSNull.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSNull"},"Extensions/NSNull.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSNull"},"Extensions/NSNull.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSNull"},"Extensions/NSManagedObjectID.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSManagedObjectID"},"Extensions/NSManagedObjectID.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSManagedObjectID"},"Extensions/NSManagedObjectID.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSManagedObjectID"},"Extensions/NSManagedObjectID.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSManagedObjectID"},"Extensions/NSDate.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSDate"},"Extensions/NSDate.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSDate"},"Extensions/NSDate.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSDate"},"Extensions/NSDate.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSDate"},"Extensions/NSData.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSData"},"Extensions/NSData.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSData"},"Extensions/NSData.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSData"},"Extensions/NSData.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSData"},"Extensions/Int64.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Int64"},"Extensions/Int64.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Int64"},"Extensions/Int64.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Int64"},"Extensions/Int64.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Int64"},"Extensions/Int32.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Int32"},"Extensions/Int32.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Int32"},"Extensions/Int32.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Int32"},"Extensions/Int32.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Int32"},"Extensions/Int16.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Int16"},"Extensions/Int16.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Int16"},"Extensions/Int16.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Int16"},"Extensions/Int16.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Int16"},"Extensions/Int8.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Int8"},"Extensions/Int8.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Int8"},"Extensions/Int8.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Int8"},"Extensions/Int8.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Int8"},"Extensions/Int.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Int"},"Extensions/Int.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Int"},"Extensions/Int.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Int"},"Extensions/Int.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Int"},"Extensions/Float.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Float"},"Extensions/Float.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Float"},"Extensions/Float.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Float"},"Extensions/Float.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Float"},"Extensions/Double.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Double"},"Extensions/Double.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Double"},"Extensions/Double.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Double"},"Extensions/Double.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Double"},"Extensions/Date.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Date"},"Extensions/Date.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Date"},"Extensions/Date.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Date"},"Extensions/Date.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Date"},"Extensions/Data.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Data"},"Extensions/Data.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Data"},"Extensions/Data.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Data"},"Extensions/Data.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Data"},"Extensions/CGFloat.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"CGFloat"},"Extensions/CGFloat.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"CGFloat"},"Extensions/CGFloat.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"CGFloat"},"Extensions/CGFloat.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"CGFloat"},"Extensions/Bool.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Bool"},"Extensions/Bool.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Bool"},"Extensions/Bool.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Bool"},"Extensions/Bool.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Bool"},"Extensions/Progress.html#/s:So10NSProgressC9CoreStoreE18setProgressHandleryyyABcSgF":{"name":"setProgressHandler(_:)","abstract":"

    Sets a closure that the Progress calls whenever its fractionCompleted changes. You can use this instead of setting up KVO.

    ","parent_name":"Progress"},"Extensions/Progress.html#/c:@CM@CoreStore@@objc(cs)NSProgress(im)cs_setProgressHandler:":{"name":"cs_setProgressHandler(_:)","abstract":"

    Sets a closure that the NSProgress calls whenever its fractionCompleted changes. You can use this instead of setting up KVO.

    ","parent_name":"Progress"},"Extensions/Sequence.html#/s:ST9CoreStoreAA13OrderByClause7ElementRpzrlE8combinedAA0cD0VyAC_10ObjectTypeQZGyF":{"name":"combined()","abstract":"

    Combines multiple OrderBy predicates together

    ","parent_name":"Sequence"},"Extensions/Sequence.html#/s:ST9CoreStoreAA15WhereClauseType7ElementRpzrlE13combinedByAndAA0C0VyAC_06ObjectE0QZGyF":{"name":"combinedByAnd()","abstract":"

    Combines multiple Where predicates together using AND operator

    ","parent_name":"Sequence"},"Extensions/Sequence.html#/s:ST9CoreStoreAA15WhereClauseType7ElementRpzrlE12combinedByOrAA0C0VyAC_06ObjectE0QZGyF":{"name":"combinedByOr()","abstract":"

    Combines multiple Where predicates together using OR operator

    ","parent_name":"Sequence"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13fetchExistingyqd__Sgqd__AA13DynamicObjectRd__lF":{"name":"fetchExisting(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13fetchExistingyqd__SgSo17NSManagedObjectIDCAA07DynamicH0Rd__lF":{"name":"fetchExisting(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13fetchExistingySayqd__Gqd_0_AA13DynamicObjectRd__7ElementQyd_0_Rsd__STRd_0_r0_lF":{"name":"fetchExisting(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13fetchExistingySayqd__Gqd_0_AA13DynamicObjectRd__STRd_0_So09NSManagedH2IDC7ElementRtd_0_r0_lF":{"name":"fetchExisting(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP8fetchOneyqd__SgAA4FromVyqd__G_AA11FetchClause_pdtKAA13DynamicObjectRd__lF":{"name":"fetchOne(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP8fetchOneyqd__SgAA4FromVyqd__G_SayAA11FetchClause_pGtKAA13DynamicObjectRd__lF":{"name":"fetchOne(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP8fetchOney10ObjectTypeQyd__Sgqd__KAA021FetchChainableBuilderH0Rd__lF":{"name":"fetchOne(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP8fetchAllySayqd__GAA4FromVyqd__G_AA11FetchClause_pdtKAA13DynamicObjectRd__lF":{"name":"fetchAll(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP8fetchAllySayqd__GAA4FromVyqd__G_SayAA11FetchClause_pGtKAA13DynamicObjectRd__lF":{"name":"fetchAll(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP8fetchAllySay10ObjectTypeQyd__Gqd__KAA021FetchChainableBuilderH0Rd__lF":{"name":"fetchAll(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP10fetchCountySiAA4FromVyqd__G_AA11FetchClause_pdtKAA13DynamicObjectRd__lF":{"name":"fetchCount(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP10fetchCountySiAA4FromVyqd__G_SayAA11FetchClause_pGtKAA13DynamicObjectRd__lF":{"name":"fetchCount(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP10fetchCountySiqd__KAA25FetchChainableBuilderTypeRd__lF":{"name":"fetchCount(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13fetchObjectIDySo09NSManagedfG0CSgAA4FromVyqd__G_AA11FetchClause_pdtKAA07DynamicF0Rd__lF":{"name":"fetchObjectID(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13fetchObjectIDySo09NSManagedfG0CSgAA4FromVyqd__G_SayAA11FetchClause_pGtKAA07DynamicF0Rd__lF":{"name":"fetchObjectID(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13fetchObjectIDySo09NSManagedfG0CSgqd__KAA25FetchChainableBuilderTypeRd__lF":{"name":"fetchObjectID(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP14fetchObjectIDsySaySo09NSManagedF2IDCGAA4FromVyqd__G_AA11FetchClause_pdtKAA07DynamicF0Rd__lF":{"name":"fetchObjectIDs(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP14fetchObjectIDsySaySo09NSManagedF2IDCGAA4FromVyqd__G_SayAA11FetchClause_pGtKAA07DynamicF0Rd__lF":{"name":"fetchObjectIDs(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP14fetchObjectIDsySaySo09NSManagedF2IDCGqd__KAA25FetchChainableBuilderTypeRd__lF":{"name":"fetchObjectIDs(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15QueryableSourceP10queryValueyqd_0_SgAA4FromVyqd__G_AA6SelectVyqd__qd_0_GAA11QueryClause_pdtKAA13DynamicObjectRd__AA0C13AttributeTypeRd_0_r0_lF":{"name":"queryValue(_:_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15QueryableSourceP10queryValueyqd_0_SgAA4FromVyqd__G_AA6SelectVyqd__qd_0_GSayAA11QueryClause_pGtKAA13DynamicObjectRd__AA0C13AttributeTypeRd_0_r0_lF":{"name":"queryValue(_:_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15QueryableSourceP10queryValuey10ResultTypeQyd__Sgqd__KAA021QueryChainableBuilderH0Rd__AA0c9AttributeH0AFRQlF":{"name":"queryValue(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15QueryableSourceP15queryAttributesySaySDySSypGGAA4FromVyqd__G_AA6SelectVyqd__So12NSDictionaryCGAA11QueryClause_pdtKAA13DynamicObjectRd__lF":{"name":"queryAttributes(_:_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15QueryableSourceP15queryAttributesySaySDySSypGGAA4FromVyqd__G_AA6SelectVyqd__So12NSDictionaryCGSayAA11QueryClause_pGtKAA13DynamicObjectRd__lF":{"name":"queryAttributes(_:_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15QueryableSourceP15queryAttributesySaySDySSypGGqd__KAA25QueryChainableBuilderTypeRd__So12NSDictionaryC06ResultJ0Rtd__lF":{"name":"queryAttributes(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13unsafeContextSo015NSManagedObjectF0CyF":{"name":"unsafeContext()","parent_name":"NSManagedObjectContext"},"Extensions/RawRepresentable.html#/s:SY9CoreStoreAA23ImportableAttributeType8RawValueRpzrlE022cs_fromQueryableNativeE0yxSgAC_0jkE0QZFZ":{"name":"cs_fromQueryableNativeType(_:)","abstract":"

    Creates an instance of this type from its QueryableNativeType value.

    ","parent_name":"RawRepresentable"},"Extensions/RawRepresentable.html#/s:SY9CoreStoreAA23ImportableAttributeType8RawValueRpzrlE020cs_toQueryableNativeE0AC_0jkE0QZyF":{"name":"cs_toQueryableNativeType()","abstract":"

    Creates QueryableNativeType value from this instance.

    ","parent_name":"RawRepresentable"},"Extensions/NSManagedObject.html#/s:9CoreStore13DynamicObjectP14cs_forceCreate17entityDescription4into8assignToxSo08NSEntityI0C_So09NSManagedD7ContextCSo012NSPersistentB0CtFZ":{"name":"cs_forceCreate(entityDescription:into:assignTo:)","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:9CoreStore13DynamicObjectP10cs_fromRaw6objectxSo09NSManagedD0C_tFZ":{"name":"cs_fromRaw(object:)","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:9CoreStore13DynamicObjectP10cs_matches6objectSbSo09NSManagedD0C_tFZ":{"name":"cs_matches(object:)","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:9CoreStore13DynamicObjectP5cs_idSo09NSManagedD2IDCyF":{"name":"cs_id()","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:9CoreStore13DynamicObjectP8cs_toRawSo09NSManagedD0CyF":{"name":"cs_toRaw()","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE11fetchSourceAC09FetchableF0_pSgyF":{"name":"fetchSource()","abstract":"

    Exposes a FetchableSource that can fetch sibling objects of this NSManagedObject instance. This may be the DataStack, a BaseDataTransaction, the NSManagedObjectContext itself, or nil if the obejct’s parent is already deallocated.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE11querySourceAC09QueryableF0_pSgyF":{"name":"querySource()","abstract":"

    Exposes a QueryableSource that can query attributes and aggregate values. This may be the DataStack, a BaseDataTransaction, the NSManagedObjectContext itself, or nil if the obejct’s parent is already deallocated.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE8getValue9forKvcKeyypSgSS_tF":{"name":"getValue(forKvcKey:)","abstract":"

    Provides a convenience wrapper for accessing primitiveValue(forKey:) with proper calls to willAccessValue(forKey:) and didAccessValue(forKey:). This is useful when implementing accessor methods for transient attributes.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE8getValue9forKvcKey06didGetF0xSS_xypSgKXEtKlF":{"name":"getValue(forKvcKey:didGetValue:)","abstract":"

    Provides a convenience wrapper for accessing primitiveValue(forKey:) with proper calls to willAccessValue(forKey:) and didAccessValue(forKey:). This is useful when implementing accessor methods for transient attributes.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE8getValue9forKvcKey07willGetF003didkF0xSS_yyKXExypSgKXEtKlF":{"name":"getValue(forKvcKey:willGetValue:didGetValue:)","abstract":"

    Provides a convenience wrapper for accessing primitiveValue(forKey:) with proper calls to willAccessValue(forKey:) and didAccessValue(forKey:). This is useful when implementing accessor methods for transient attributes.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE8setValue_9forKvcKeyyypSg_SStF":{"name":"setValue(_:forKvcKey:)","abstract":"

    Provides a convenience wrapper for setting setPrimitiveValue(_:forKey:) with proper calls to willChangeValue(forKey:) and didChangeValue(forKey:). This is useful when implementing mutator methods for transient attributes.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE8setValue_9forKvcKey06didSetF0yypSg_SSyyXEtF":{"name":"setValue(_:forKvcKey:didSetValue:)","abstract":"

    Provides a convenience wrapper for setting setPrimitiveValue(_:forKey:) with proper calls to willChangeValue(forKey:) and didChangeValue(forKey:).

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE8setValue_9forKvcKey07willSetF003didkF0yx_SSypSgxKXEyAHXEtKlF":{"name":"setValue(_:forKvcKey:willSetValue:didSetValue:)","abstract":"

    Provides a convenience wrapper for setting setPrimitiveValue(_:forKey:) with proper calls to willChangeValue(forKey:) and didChangeValue(forKey:). This is useful when implementing mutator methods for transient attributes.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE14refreshAsFaultyyF":{"name":"refreshAsFault()","abstract":"

    Re-faults the object to use the latest values from the persistent store

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE15refreshAndMergeyyF":{"name":"refreshAndMerge()","abstract":"

    Re-faults the object to use the latest values from the persistent store and merges previously pending changes back

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/c:@CM@CoreStore@@objc(cs)NSManagedObject(im)cs_accessValueForKVCKey:":{"name":"cs_accessValueForKVCKey(_:)","abstract":"

    Provides a convenience wrapper for accessing -primitiveValueForKey: with proper calls to -willAccessValueForKey: and -didAccessValueForKey:. This is useful when implementing accessor methods for transient attributes.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/c:@CM@CoreStore@@objc(cs)NSManagedObject(im)cs_setValue:forKVCKey:":{"name":"cs_setValue(_:forKVCKey:)","abstract":"

    Provides a convenience wrapper for setting -setPrimitiveValue: with proper calls to -willChangeValueForKey: and -didChangeValueForKey:. This is useful when implementing mutator methods for transient attributes.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/c:@CM@CoreStore@@objc(cs)NSManagedObject(im)cs_refreshAsFault":{"name":"cs_refreshAsFault()","abstract":"

    Re-faults the object to use the latest values from the persistent store

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE18cs_refreshAndMergeyyF":{"name":"cs_refreshAndMerge()","abstract":"

    Re-faults the object to use the latest values from the persistent store and merges previously pending changes back

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE21unsafeDataTransactionAC06UnsafefG0CSgvp":{"name":"unsafeDataTransaction","abstract":"

    Returns this object’s parent UnsafeDataTransaction instance if it was created from one. Returns nil if the parent transaction is either an AsynchronousDataTransaction or a SynchronousDataTransaction, or if the object is not managed by CoreStore.

    ","parent_name":"NSManagedObject"},"Extensions/KeyPath.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"KeyPath"},"Extensions/KeyPath.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"KeyPath"},"Extensions/KeyPath.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"KeyPath"},"Extensions/KeyPath.html#/s:s7KeyPathC9CoreStoreSo15NSManagedObjectCRbzAC027AllowedObjectiveCCollectionaB5ValueR_rlE5countAC5WhereV10ExpressionVyx_AI16CollectionTargetOyx_GSiGyF":{"name":"count()","abstract":"

    Creates a Where.Expression clause for COUNT

    ","parent_name":"KeyPath"},"Extensions/KeyPath.html#/s:s7KeyPathC9CoreStoreAC0cD6ObjectCRbzAC07Allowedcde10CollectionaB5ValueR_rlE5countAC5WhereV10ExpressionVyx_AI0G6TargetOyx_GSiGyF":{"name":"count()","abstract":"

    Creates a Where.Expression clause for COUNT

    ","parent_name":"KeyPath"},"Extensions/KeyPathString.html#/s:SS9CoreStoreE7keyPathSSs03KeyD0Cyxq_G_tcSo15NSManagedObjectCRbzAA020AllowedObjectiveCKeyD5ValueR_r0_lufc":{"name":"init(keyPath:)","abstract":"

    Extracts the keyPath string from the property.

    ","parent_name":"KeyPathString"},"Extensions/KeyPathString.html#/s:SS9CoreStoreE7keyPathSSs03KeyD0Cyxq_G_tcAA0aB6ObjectCRbzAA07DynamiceD0R_r0_lufc":{"name":"init(keyPath:)","abstract":"

    Extracts the keyPath string from the property.

    ","parent_name":"KeyPathString"},"Extensions/KeyPathString.html#/s:SS9CoreStoreE7keyPathSSAA5WhereV10ExpressionVyx_q_q0_G_tcAA13DynamicObjectRzAA0eF5TraitR_r1_lufc":{"name":"init(keyPath:)","abstract":"

    Extracts the keyPath string from the property.

    ","parent_name":"KeyPathString"},"Extensions/Selector.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"Selector"},"Extensions/Result.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"Result"},"Extensions/NSDeleteRule.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"NSDeleteRule"},"Extensions/NSAttributeType.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"NSAttributeType"},"Extensions/NSAttributeType.html":{"name":"NSAttributeType"},"Extensions/NSDeleteRule.html":{"name":"NSDeleteRule"},"Extensions/Result.html":{"name":"Result"},"Extensions/Selector.html":{"name":"Selector"},"Extensions/KeyPathString.html":{"name":"KeyPathString"},"Extensions/KeyPath.html":{"name":"KeyPath"},"Extensions/NSManagedObject.html":{"name":"NSManagedObject"},"Extensions/RawRepresentable.html":{"name":"RawRepresentable"},"Extensions/NSManagedObjectContext.html":{"name":"NSManagedObjectContext"},"Extensions/Sequence.html":{"name":"Sequence"},"Extensions/Progress.html":{"name":"Progress"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Extensions/Data.html":{"name":"Data"},"Extensions/Date.html":{"name":"Date"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Int.html":{"name":"Int"},"Extensions/Int8.html":{"name":"Int8"},"Extensions/Int16.html":{"name":"Int16"},"Extensions/Int32.html":{"name":"Int32"},"Extensions/Int64.html":{"name":"Int64"},"Extensions/NSData.html":{"name":"NSData"},"Extensions/NSDate.html":{"name":"NSDate"},"Extensions/NSManagedObjectID.html":{"name":"NSManagedObjectID"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSURL.html":{"name":"NSURL"},"Extensions/NSUUID.html":{"name":"NSUUID"},"Extensions/String.html":{"name":"String"},"Extensions/URL.html":{"name":"URL"},"Extensions/UUID.html":{"name":"UUID"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC_10deleteRule8minCount03maxK019versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AC06DeleteI0Oyx_GS2iSSSgyXAAPyXAShySSGyXAtcfc":{"name":"init(_:deleteRule:minCount:maxCount:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC_7inverse10deleteRule8minCount03maxL019versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AC0E3OneCyqd___xGqd__cAC06DeleteJ0Oyx_GS2iSSSgyXAATyXAShySSGyXAtcfc":{"name":"init(_:inverse:deleteRule:minCount:maxCount:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC_7inverse10deleteRule8minCount03maxL019versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AC0eF7OrderedCyqd___xGqd__cAC06DeleteJ0Oyx_GS2iSSSgyXAATyXAShySSGyXAtcfc":{"name":"init(_:inverse:deleteRule:minCount:maxCount:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC_7inverse10deleteRule8minCount03maxL019versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AEyqd___xGqd__cAC06DeleteJ0Oyx_GS2iSSSgyXAARyXAShySSGyXAtcfc":{"name":"init(_:inverse:deleteRule:minCount:maxCount:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC5valueShyqd__Gvp":{"name":"value","abstract":"

    The relationship unordered objects.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC7observe7options13changeHandlerAA0aB25ObjectKeyValueObservation_pSo05NSKeyN16ObservingOptionsV_yx_AA0ablG4DiffCyqd__GtctF":{"name":"observe(options:changeHandler:)","abstract":"

    Observes changes in the receiver value. When the returned CoreStoreObjectKeyValueObservation is deinited or invalidated, it will stop observing.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC5countSivp":{"name":"count","abstract":"

    The number of elements in the set.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC7isEmptySbvp":{"name":"isEmpty","abstract":"

    A Boolean value indicating whether the range contains no elements.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:ST8IteratorQa":{"name":"Iterator","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:ST12makeIterator0B0QzyF":{"name":"makeIterator()","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC2zeoiyyAEyx_qd__G_qd0__t7ElementQyd0__Rsd__STRd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a sequence of objects to the relationship. The operation

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC2zeoiyyAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a sequence of objects to the relationship. The operation

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC2zeoiyyAEyx_qd__G_AC0eF7OrderedCyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a sequence of objects to the relationship. The operation

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC3zeeoiySbAEyx_qd__G_Shyqd__GtFZ":{"name":".==(_:_:)","abstract":"

    Compares the if the relationship’s objects and a set of objects have the same elements.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC3zeeoiySbShyqd__G_AEyx_qd__GtFZ":{"name":".==(_:_:)","abstract":"

    Compares if a set of objects and a relationship’s objects have the same elements.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC3zeeoiySbAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".==(_:_:)","abstract":"

    Compares if a relationship’s objects and another relationship’s objects have the same elements.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC_8minCount03maxI010deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_S2iAC06DeleteL0Oyx_GSSSgyXAAPyXAShySSGyXAtcfc":{"name":"init(_:minCount:maxCount:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC_8minCount03maxI07inverse10deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_S2iAC0E3OneCyqd___xGqd__cAC06DeleteM0Oyx_GSSSgyXAATyXAShySSGyXAtcfc":{"name":"init(_:minCount:maxCount:inverse:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC_8minCount03maxI07inverse10deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_S2iAEyqd___xGqd__cAC06DeleteM0Oyx_GSSSgyXAARyXAShySSGyXAtcfc":{"name":"init(_:minCount:maxCount:inverse:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC_8minCount03maxI07inverse10deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_S2iAC0eF9UnorderedCyqd___xGqd__cAC06DeleteM0Oyx_GSSSgyXAATyXAShySSGyXAtcfc":{"name":"init(_:minCount:maxCount:inverse:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC5valueSayqd__Gvp":{"name":"value","abstract":"

    The relationship ordered objects.

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC7observe7options13changeHandlerAA0aB25ObjectKeyValueObservation_pSo05NSKeyN16ObservingOptionsV_yx_AA0ablG4DiffCyqd__GtctF":{"name":"observe(options:changeHandler:)","abstract":"

    Observes changes in the receiver value. When the returned CoreStoreObjectKeyValueObservation is deinited or invalidated, it will stop observing.

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:Sl8IteratorQa":{"name":"Iterator","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:Sl12makeIterator0B0QzyF":{"name":"makeIterator()","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:Sl5IndexQa":{"name":"Index","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:Sl10startIndex0B0Qzvp":{"name":"startIndex","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:Sl8endIndex0B0Qzvp":{"name":"endIndex","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:Sly7ElementQz5IndexQzcip":{"name":"subscript(_:)","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:Sk5index5after5IndexQzAD_tF":{"name":"index(after:)","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC2zeoiyyAEyx_qd__G_qd0__t7ElementQyd0__Rsd__STRd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a sequence of objects to the relationship. The operation

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC2zeoiyyAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a sequence of objects to the relationship. The operation

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC3zeeoiySbAEyx_qd__G_qd0__t7ElementQyd0__Rsd__SlRd0__lFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a relationship’s objects and a collection of objects

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC3zeeoiySbqd0___AEyx_qd__Gt7ElementQyd0__Rsd__SlRd0__lFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a collection of objects and a relationship’s objects

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC3zeeoiySbAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a relationship’s objects and a collection of objects

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC_10deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AC06DeleteH0Oyx_GSSSgyXAANyXAShySSGyXAtcfc":{"name":"init(_:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC_7inverse10deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AEyqd___xGqd__cAC06DeleteI0Oyx_GSSSgyXAAPyXAShySSGyXAtcfc":{"name":"init(_:inverse:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC_7inverse10deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AC0E11ManyOrderedCyqd___xGqd__cAC06DeleteI0Oyx_GSSSgyXAARyXAShySSGyXAtcfc":{"name":"init(_:inverse:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC_7inverse10deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AC0E13ManyUnorderedCyqd___xGqd__cAC06DeleteI0Oyx_GSSSgyXAARyXAShySSGyXAtcfc":{"name":"init(_:inverse:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC5valueqd__Sgvp":{"name":"value","abstract":"

    The relationship destination object.

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC7observe7options13changeHandlerAA0aB25ObjectKeyValueObservation_pSo05NSKeyM16ObservingOptionsV_yx_AA0abkK4DiffCyqd__GtctF":{"name":"observe(options:changeHandler:)","abstract":"

    Observes changes in the receiver value. When the returned CoreStoreObjectKeyValueObservation is deinited or invalidated, it will stop observing.

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC2eeoiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC2neoiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC2teoiyAA5WhereVyxGqd0___AEyx_qd__Gt7ElementQyd0__Rsd__STRd0__lFZ":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains the value of a property

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC2zeoiyyAEyx_qd__G_qd__SgtFZ":{"name":".=(_:_:)","abstract":"

    Assigns an object to the relationship. The operation

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC2zeoiyyAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns an object from another relationship. The operation

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC3zeeoiySbAEyx_qd__G_qd__SgtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a relationship’s object and another object

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC3zeeoiySbqd__Sg_AEyx_qd__GtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between an object and a relationship’s object

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC3zeeoiySbAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a relationship’s object and another relationship’s object

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html":{"name":"ToOne","abstract":"

    The containing type for to-one relationships. Any CoreStoreObject subclass can be a destination type. Inverse relationships should be declared from the destination type as well, using the inverse: argument for the relationship.

    ","parent_name":"RelationshipContainer"},"Enums/RelationshipContainer/ToManyOrdered.html":{"name":"ToManyOrdered","abstract":"

    The containing type for to-many ordered relationships. Any CoreStoreObject subclass can be a destination type. Inverse relationships should be declared from the destination type as well, using the inverse: argument for the relationship.

    ","parent_name":"RelationshipContainer"},"Enums/RelationshipContainer/ToManyUnordered.html":{"name":"ToManyUnordered","abstract":"

    The containing type for to-many unordered relationships. Any CoreStoreObject subclass can be a destination type. Inverse relationships should be declared from the destination type as well, using the inverse: argument for the relationship.

    ","parent_name":"RelationshipContainer"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore22TransformableContainerO8OptionalC_7initial11isTransient31allowsExternalBinaryDataStorage19versionHashModifier18renamingIdentifier12customGetter0S6Setter18affectedByKeyPathsAEyx_qd__GSS_qd__SgyXAS2bSSSgyXAAPyXAAoA13PartialObjectVyxGcSgyAS_AOtcSgShySSGyXAtcfc":{"name":"init(_:initial:isTransient:allowsExternalBinaryDataStorage:versionHashModifier:renamingIdentifier:customGetter:customSetter:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the property.

    ","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore22TransformableContainerO8OptionalC5valueqd__Sgvp":{"name":"value","abstract":"

    The property value.

    ","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore22TransformableContainerO8OptionalC7observe7options13changeHandlerAA0aB25ObjectKeyValueObservation_pSo05NSKeyL16ObservingOptionsV_yx_AA0abjC4DiffCyqd__GtctF":{"name":"observe(options:changeHandler:)","abstract":"

    Observes changes in the receiver value. When the returned CoreStoreObjectKeyValueObservation is deinited or invalidated, it will stop observing.

    ","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore22TransformableContainerO8OptionalC2zeoiyyAEyx_qd__G_qd__SgtFZ":{"name":".=(_:_:)","abstract":"

    Assigns an optional transformable value to the property. The operation

    ","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore22TransformableContainerO8OptionalC2zeoiyyAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns an optional transformable value from another property. The operation

    ","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore22TransformableContainerO8OptionalC2zeoiyyAEyx_qd__G_AC8RequiredCyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a transformable value from another property. The operation

    ","parent_name":"Optional"},"Enums/TransformableContainer/Required.html#/s:9CoreStore22TransformableContainerO8RequiredC_7initial11isTransient31allowsExternalBinaryDataStorage19versionHashModifier18renamingIdentifier12customGetter0S6Setter18affectedByKeyPathsAEyx_qd__GSS_qd__yXAS2bSSSgyXAAOyXAqd__AA13PartialObjectVyxGcSgyAR_qd__tcSgShySSGyXAtcfc":{"name":"init(_:initial:isTransient:allowsExternalBinaryDataStorage:versionHashModifier:renamingIdentifier:customGetter:customSetter:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the property.

    ","parent_name":"Required"},"Enums/TransformableContainer/Required.html#/s:9CoreStore22TransformableContainerO8RequiredC5valueqd__vp":{"name":"value","abstract":"

    The property value.

    ","parent_name":"Required"},"Enums/TransformableContainer/Required.html#/s:9CoreStore22TransformableContainerO8RequiredC7observe7options13changeHandlerAA0aB25ObjectKeyValueObservation_pSo05NSKeyL16ObservingOptionsV_yx_AA0abjC4DiffCyqd__GtctF":{"name":"observe(options:changeHandler:)","abstract":"

    Observes changes in the receiver value. When the returned CoreStoreObjectKeyValueObservation is deinited or invalidated, it will stop observing.

    ","parent_name":"Required"},"Enums/TransformableContainer/Required.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"Required"},"Enums/TransformableContainer/Required.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"Required"},"Enums/TransformableContainer/Required.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"Required"},"Enums/TransformableContainer/Required.html#/s:9CoreStore22TransformableContainerO8RequiredC2zeoiyyAEyx_qd__G_qd__tFZ":{"name":".=(_:_:)","abstract":"

    Assigns a transformable value to the property. The operation

    ","parent_name":"Required"},"Enums/TransformableContainer/Required.html#/s:9CoreStore22TransformableContainerO8RequiredC2zeoiyyAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a transformable value from another property. The operation

    ","parent_name":"Required"},"Enums/TransformableContainer/Required.html":{"name":"Required","abstract":"

    The containing type for transformable properties. Any type that conforms to NSCoding & NSCopying are supported.

    ","parent_name":"TransformableContainer"},"Enums/TransformableContainer/Optional.html":{"name":"Optional","abstract":"

    The containing type for optional transformable properties. Any type that conforms to NSCoding & NSCopying are supported.

    ","parent_name":"TransformableContainer"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC_7initial11isTransient19versionHashModifier18renamingIdentifier12customGetter0N6Setter18affectedByKeyPathsAEyx_qd__GSS_qd__SgyXASbSSSgyXAAOyXAAnA13PartialObjectVyxGcSgyAR_ANtcSgShySSGyXAtcfc":{"name":"init(_:initial:isTransient:versionHashModifier:renamingIdentifier:customGetter:customSetter:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the property.

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC5valueqd__Sgvp":{"name":"value","abstract":"

    The property value.

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC7observe7options13changeHandlerAA0ab9ObjectKeyC11Observation_pSo05NSKeyC16ObservingOptionsV_yx_AA0abjC4DiffCyqd__GtctF":{"name":"observe(options:changeHandler:)","abstract":"

    Observes changes in the receiver value. When the returned CoreStoreObjectKeyValueObservation is deinited or invalidated, it will stop observing.

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2eeoiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2neoiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC1loiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":"<(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than a value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC1goiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":">(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than a value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2leoiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":"<=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than or equal to a value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2geoiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":">=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than or equal to a value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2teoiyAA5WhereVyxGqd0___AEyx_qd__Gt7ElementQyd0__Rsd__STRd0__lFZ":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains the value of a property

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2zeoiyyAEyx_qd__G_qd__SgtFZ":{"name":".=(_:_:)","abstract":"

    Assigns an optional value to the property. The operation

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2zeoiyyAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns an optional value from another property. The operation

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2zeoiyyAEyx_qd__G_AC8RequiredCyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a value from another property. The operation

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC3zeeoiySbAEyx_qd__G_qd__SgtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a property’s value and another value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC3zeeoiySbqd__Sg_AEyx_qd__GtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a property’s value and another property’s value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC3zeeoiySbAEyx_qd__G_AGtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a property’s value and another property’s value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC3zeeoiySbAEyx_qd__G_AC8RequiredCyx_qd__GtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a property’s value and another property’s value

    ","parent_name":"Optional"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC_7initial11isTransient19versionHashModifier18renamingIdentifier12customGetter0N6Setter18affectedByKeyPathsAEyx_qd__GSS_qd__yXASbSSSgyXAANyXAqd__AA13PartialObjectVyxGcSgyAQ_qd__tcSgShySSGyXAtcfc":{"name":"init(_:initial:isTransient:versionHashModifier:renamingIdentifier:customGetter:customSetter:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the property.

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC5valueqd__vp":{"name":"value","abstract":"

    The property value.

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC7observe7options13changeHandlerAA0ab9ObjectKeyC11Observation_pSo05NSKeyC16ObservingOptionsV_yx_AA0abjC4DiffCyqd__GtctF":{"name":"observe(options:changeHandler:)","abstract":"

    Observes changes in the receiver value. When the returned CoreStoreObjectKeyValueObservation is deinited or invalidated, it will stop observing.

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC2eeoiyAA5WhereVyxGAEyx_qd__G_qd__tFZ":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC2neoiyAA5WhereVyxGAEyx_qd__G_qd__tFZ":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC1loiyAA5WhereVyxGAEyx_qd__G_qd__tFZ":{"name":"<(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than a value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC1goiyAA5WhereVyxGAEyx_qd__G_qd__tFZ":{"name":">(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than a value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC2leoiyAA5WhereVyxGAEyx_qd__G_qd__tFZ":{"name":"<=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than or equal to a value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC2geoiyAA5WhereVyxGAEyx_qd__G_qd__tFZ":{"name":">=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than or equal to a value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC2teoiyAA5WhereVyxGqd0___AEyx_qd__Gt7ElementQyd0__Rsd__STRd0__lFZ":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains the value of a property

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC2zeoiyyAEyx_qd__G_qd__tFZ":{"name":".=(_:_:)","abstract":"

    Assigns a value to the property. The operation

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC2zeoiyyAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a value from another property. The operation

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC3zeeoiySbAEyx_qd__G_qd__SgtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a property’s value and another value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC3zeeoiySbqd__Sg_AEyx_qd__GtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a value and a property’s value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC3zeeoiySbAEyx_qd__G_AGtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a property’s value and another property’s value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC3zeeoiySbAEyx_qd__G_AC8OptionalCyx_qd__GtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a property’s value and another property’s value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html":{"name":"Required","abstract":"

    The containing type for required value properties. Any type that conforms to ImportableAttributeType are supported.

    ","parent_name":"ValueContainer"},"Enums/ValueContainer/Optional.html":{"name":"Optional","abstract":"

    The containing type for optional value properties. Any type that conforms to ImportableAttributeType are supported.

    ","parent_name":"ValueContainer"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO07unknownC0yA2CmF":{"name":"unknownError","abstract":"

    A failure occured because of an unknown error.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO27differentStorageExistsAtURLyA2CmF":{"name":"differentStorageExistsAtURL","abstract":"

    The NSPersistentStore could note be initialized because another store existed at the specified NSURL.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO20mappingModelNotFoundyA2CmF":{"name":"mappingModelNotFound","abstract":"

    An NSMappingModel could not be found for a specific source and destination model versions.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO28progressiveMigrationRequiredyA2CmF":{"name":"progressiveMigrationRequired","abstract":"

    Progressive migrations are disabled for a store, but an NSMappingModel could not be found for a specific source and destination model versions.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO29asynchronousMigrationRequiredyA2CmF":{"name":"asynchronousMigrationRequired","abstract":"

    The LocalStorage was configured with .allowSynchronousLightweightMigration, but the model can only be migrated asynchronously.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO08internalC0yA2CmF":{"name":"internalError","abstract":"

    An internal SDK call failed with the specified NSError userInfo key.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO04userC0yA2CmF":{"name":"userError","abstract":"

    The transaction was terminated by a user-thrown Error specified by Error userInfo key.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO13userCancelledyA2CmF":{"name":"userCancelled","abstract":"

    The transaction was cancelled by the user.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO010persistentB8NotFoundyA2CmF":{"name":"persistentStoreNotFound","abstract":"

    Attempted to perform a fetch but could not find any related persistent store.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStore.html#/s:9CoreStoreAAO12defaultStackAA04DataD0CvpZ":{"name":"defaultStack","abstract":"

    The default DataStack instance to be used. If defaultStack is not set before the first time accessed, a default-configured DataStack will be created.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO6loggerAA0aB6Logger_pvpZ":{"name":"logger","abstract":"

    The CoreStoreLogger instance to be used. The default logger is an instance of a DefaultLogger.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10addStorage_10completionyx_ys6ResultOyxAA0aB5ErrorOGctAA0D9InterfaceRzlFZ":{"name":"addStorage(_:completion:)","abstract":"

    Asynchronously adds a StorageInterface to the defaultStack. Migrations are also initiated by default.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10addStorage_10completionSo10NSProgressCSgx_ys6ResultOyxAA0aB5ErrorOGctAA05LocalD0RzlFZ":{"name":"addStorage(_:completion:)","abstract":"

    Asynchronously adds a LocalStorage to the defaultStack. Migrations are also initiated by default.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10addStorage_10completionyx_ys6ResultOyxAA0aB5ErrorOGctAA05CloudD0RzlFZ":{"name":"addStorage(_:completion:)","abstract":"

    Asynchronously adds a CloudStorage to the defaultStack. Migrations are also initiated by default.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO22upgradeStorageIfNeeded_10completionSo10NSProgressCSgx_ys6ResultOySayAA13MigrationTypeOGAA0aB5ErrorOGctKAA05LocalD0RzlFZ":{"name":"upgradeStorageIfNeeded(_:completion:)","abstract":"

    Migrates a local storage to match the defaultStack‘s managed object model version. This method does NOT add the migrated store to the data stack.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO28requiredMigrationsForStorageySayAA13MigrationTypeOGxKAA05LocalF0RzlFZ":{"name":"requiredMigrationsForStorage(_:)","abstract":"

    Checks the migration steps required for the storage to match the defaultStack‘s managed object model version.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13monitorObjectyAA0D7MonitorCyxGxAA07DynamicD0RzlFZ":{"name":"monitorObject(_:)","abstract":"

    Using the defaultStack, creates an ObjectMonitor for the specified DynamicObject. Multiple ObjectObservers may then register themselves to be notified when changes are made to the DynamicObject.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO11monitorListyAA0D7MonitorCyxGAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlFZ":{"name":"monitorList(_:_:)","abstract":"

    Using the defaultStack, creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO11monitorListyAA0D7MonitorCyxGAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlFZ":{"name":"monitorList(_:_:)","abstract":"

    Using the defaultStack, creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO11monitorListyAA0D7MonitorCy10ObjectTypeQzGxAA021FetchChainableBuilderG0RzlFZ":{"name":"monitorList(_:)","abstract":"

    Creates a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO11monitorList20createAsynchronously__yyAA0D7MonitorCyxGc_AA4FromVyxGAA11FetchClause_pdtAA13DynamicObjectRzlFZ":{"name":"monitorList(createAsynchronously:_:_:)","abstract":"

    Using the defaultStack, asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO11monitorList20createAsynchronously__yyAA0D7MonitorCyxGc_AA4FromVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlFZ":{"name":"monitorList(createAsynchronously:_:_:)","abstract":"

    Using the defaultStack, asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO11monitorList20createAsynchronously_yyAA0D7MonitorCy10ObjectTypeQzGc_xtAA021FetchChainableBuilderI0RzlFZ":{"name":"monitorList(createAsynchronously:_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO20monitorSectionedListyAA0E7MonitorCyxGAA4FromVyxG_AA9SectionByVyxGAA11FetchClause_pdtAA13DynamicObjectRzlFZ":{"name":"monitorSectionedList(_:_:_:)","abstract":"

    Using the defaultStack, creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO20monitorSectionedListyAA0E7MonitorCyxGAA4FromVyxG_AA9SectionByVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlFZ":{"name":"monitorSectionedList(_:_:_:)","abstract":"

    Using the defaultStack, creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO20monitorSectionedListyAA0E7MonitorCy10ObjectTypeQzGxAA07Sectionf7BuilderH0RzlFZ":{"name":"monitorSectionedList(_:)","abstract":"

    Creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified SectionMonitorBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO20monitorSectionedList20createAsynchronously___yyAA0E7MonitorCyxGc_AA4FromVyxGAA9SectionByVyxGAA11FetchClause_pdtAA13DynamicObjectRzlFZ":{"name":"monitorSectionedList(createAsynchronously:_:_:_:)","abstract":"

    Using the defaultStack, asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO20monitorSectionedList20createAsynchronously___yyAA0E7MonitorCyxGc_AA4FromVyxGAA9SectionByVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlFZ":{"name":"monitorSectionedList(createAsynchronously:_:_:_:)","abstract":"

    Using the defaultStack, asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO20monitorSectionedList20createAsynchronously_yyAA0E7MonitorCy10ObjectTypeQzGc_xtAA07Sectionh7BuilderJ0RzlFZ":{"name":"monitorSectionedList(createAsynchronously:_:)","abstract":"

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified SectionMonitorBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13fetchExistingyxSgxAA13DynamicObjectRzlFZ":{"name":"fetchExisting(_:)","abstract":"

    Using the defaultStack, fetches the DynamicObject instance in the DataStack‘s context from a reference created from a transaction or from a different managed object context.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13fetchExistingyxSgSo17NSManagedObjectIDCAA07DynamicF0RzlFZ":{"name":"fetchExisting(_:)","abstract":"

    Using the defaultStack, fetches the DynamicObject instance in the DataStack‘s context from an NSManagedObjectID.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13fetchExistingySayxGq_AA13DynamicObjectRz7ElementQy_RszSTR_r0_lFZ":{"name":"fetchExisting(_:)","abstract":"

    Using the defaultStack, fetches the DynamicObject instances in the DataStack‘s context from references created from a transaction or from a different managed object context.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13fetchExistingySayxGq_AA13DynamicObjectRzSTR_So09NSManagedF2IDC7ElementRt_r0_lFZ":{"name":"fetchExisting(_:)","abstract":"

    Using the defaultStack, fetches the DynamicObject instances in the DataStack‘s context from a list of NSManagedObjectID.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO8fetchOneyxSgAA4FromVyxG_AA11FetchClause_pdtKAA13DynamicObjectRzlFZ":{"name":"fetchOne(_:_:)","abstract":"

    Using the defaultStack, fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO8fetchOneyxSgAA4FromVyxG_SayAA11FetchClause_pGtKAA13DynamicObjectRzlFZ":{"name":"fetchOne(_:_:)","abstract":"

    Using the defaultStack, fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO8fetchOney10ObjectTypeQzSgxKAA021FetchChainableBuilderF0RzlFZ":{"name":"fetchOne(_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO8fetchAllySayxGAA4FromVyxG_AA11FetchClause_pdtKAA13DynamicObjectRzlFZ":{"name":"fetchAll(_:_:)","abstract":"

    Using the defaultStack, fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO8fetchAllySayxGAA4FromVyxG_SayAA11FetchClause_pGtKAA13DynamicObjectRzlFZ":{"name":"fetchAll(_:_:)","abstract":"

    Using the defaultStack, fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO8fetchAllySay10ObjectTypeQzGxKAA021FetchChainableBuilderF0RzlFZ":{"name":"fetchAll(_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10fetchCountySiAA4FromVyxG_AA11FetchClause_pdtKAA13DynamicObjectRzlFZ":{"name":"fetchCount(_:_:)","abstract":"

    Using the defaultStack, fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10fetchCountySiAA4FromVyxG_SayAA11FetchClause_pGtKAA13DynamicObjectRzlFZ":{"name":"fetchCount(_:_:)","abstract":"

    Using the defaultStack, fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10fetchCountySixKAA25FetchChainableBuilderTypeRzlFZ":{"name":"fetchCount(_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13fetchObjectIDySo09NSManageddE0CSgAA4FromVyxG_AA11FetchClause_pdtKAA07DynamicD0RzlFZ":{"name":"fetchObjectID(_:_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13fetchObjectIDySo09NSManageddE0CSgAA4FromVyxG_SayAA11FetchClause_pGtKAA07DynamicD0RzlFZ":{"name":"fetchObjectID(_:_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13fetchObjectIDySo09NSManageddE0CSgxKAA25FetchChainableBuilderTypeRzlFZ":{"name":"fetchObjectID(_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO14fetchObjectIDsySaySo09NSManagedD2IDCGAA4FromVyxG_AA11FetchClause_pdtKAA07DynamicD0RzlFZ":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO14fetchObjectIDsySaySo09NSManagedD2IDCGAA4FromVyxG_SayAA11FetchClause_pGtKAA07DynamicD0RzlFZ":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO14fetchObjectIDsySaySo09NSManagedD2IDCGxKAA25FetchChainableBuilderTypeRzlFZ":{"name":"fetchObjectIDs(_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10queryValueyq_SgAA4FromVyxG_AA6SelectVyxq_GAA11QueryClause_pdtKAA13DynamicObjectRzAA22QueryableAttributeTypeR_r0_lFZ":{"name":"queryValue(_:_:_:)","abstract":"

    Using the defaultStack, queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10queryValueyq_SgAA4FromVyxG_AA6SelectVyxq_GSayAA11QueryClause_pGtKAA13DynamicObjectRzAA22QueryableAttributeTypeR_r0_lFZ":{"name":"queryValue(_:_:_:)","abstract":"

    Using the defaultStack, queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10queryValuey10ResultTypeQzSgxKAA021QueryChainableBuilderF0RzAA018QueryableAttributeF0AERQlFZ":{"name":"queryValue(_:)","abstract":"

    Queries a property value or aggregate as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO15queryAttributesySaySDySSypGGAA4FromVyxG_AA6SelectVyxSo12NSDictionaryCGAA11QueryClause_pdtKAA13DynamicObjectRzlFZ":{"name":"queryAttributes(_:_:_:)","abstract":"

    Using the defaultStack, queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO15queryAttributesySaySDySSypGGAA4FromVyxG_AA6SelectVyxSo12NSDictionaryCGSayAA11QueryClause_pGtKAA13DynamicObjectRzlFZ":{"name":"queryAttributes(_:_:_:)","abstract":"

    Using the defaultStack, queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO15queryAttributesySaySDySSypGGxKAA25QueryChainableBuilderTypeRzSo12NSDictionaryC06ResultH0RtzlFZ":{"name":"queryAttributes(_:)","abstract":"

    Queries a dictionary of attribute values or as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO12modelVersionSSvpZ":{"name":"modelVersion","abstract":"

    Returns the defaultStack‘s model version. The version string is the same as the name of a version-specific .xcdatamodeld file or CoreStoreSchema.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17entityTypesByName3forSDySSSo15NSManagedObjectCmGAFm_tFZ":{"name":"entityTypesByName(for:)","abstract":"

    Returns the entity name-to-class type mapping from the defaultStack‘s model.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17entityTypesByName3forSDySSAA0aB6ObjectCmGAFm_tFZ":{"name":"entityTypesByName(for:)","abstract":"

    Returns the entity name-to-class type mapping from the defaultStack‘s model.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17entityDescription3forSo08NSEntityD0CSgSo15NSManagedObjectCm_tFZ":{"name":"entityDescription(for:)","abstract":"

    Returns the NSEntityDescription for the specified NSManagedObject subclass from defaultStack‘s model.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17entityDescription3forSo08NSEntityD0CSgAA0aB6ObjectCm_tFZ":{"name":"entityDescription(for:)","abstract":"

    Returns the NSEntityDescription for the specified CoreStoreObject subclass from defaultStack‘s model.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17addStorageAndWaitAA06SQLiteB0CyKFZ":{"name":"addStorageAndWait()","abstract":"

    Creates an SQLiteStore with default parameters and adds it to the defaultStack. This method blocks until completion.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17addStorageAndWaityxxKAA0D9InterfaceRzlFZ":{"name":"addStorageAndWait(_:)","abstract":"

    Adds a StorageInterface to the defaultStack and blocks until completion.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17addStorageAndWaityxxKAA05LocalD0RzlFZ":{"name":"addStorageAndWait(_:)","abstract":"

    Adds a LocalStorage to the defaultStack and blocks until completion.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17addStorageAndWaityxxKAA05CloudD0RzlFZ":{"name":"addStorageAndWait(_:)","abstract":"

    Adds a CloudStorage to the defaultStack and blocks until completion.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO7perform12asynchronous10completionyxAA27AsynchronousDataTransactionCKc_ys6ResultOyxAA0aB5ErrorOGctlFZ":{"name":"perform(asynchronous:completion:)","abstract":"

    Using the defaultStack, performs a transaction asynchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the wrapped as .success(T) in the completion‘s Result<T>. Any errors thrown from inside the task will be reported as .failure(CoreStoreError). To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO7perform12asynchronous7success7failureyxAA27AsynchronousDataTransactionCKc_yxcyAA0aB5ErrorOctlFZ":{"name":"perform(asynchronous:success:failure:)","abstract":"

    Using the defaultStack, performs a transaction asynchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the argument of the success closure. Any errors thrown from inside the task will be wrapped in a CoreStoreError and reported in the failure closure. To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO7perform11synchronous19waitForAllObserversxxAA26SynchronousDataTransactionCKXE_SbtKlFZ":{"name":"perform(synchronous:waitForAllObservers:)","abstract":"

    Using the defaultStack, performs a transaction synchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the return value of perform(synchronous:). Any errors thrown from inside the task will be thrown from perform(synchronous:). To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO11beginUnsafe12supportsUndoAA0D15DataTransactionCSb_tFZ":{"name":"beginUnsafe(supportsUndo:)","abstract":"

    Using the defaultStack, begins a non-contiguous transaction where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO25refreshAndMergeAllObjectsyyFZ":{"name":"refreshAndMergeAllObjects()","abstract":"

    Refreshes all registered objects NSManagedObjects or CoreStoreObjects in the defaultStack.

    ","parent_name":"CoreStore"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermO9attributeyACyxGSSFZ":{"name":"attribute(_:)","abstract":"

    Provides a SelectTerm to a Select clause for querying an entity attribute. A shorter way to do the same is to assign from the string keypath directly:

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermO7average_2asACyxGSS_SSSgtFZ":{"name":"average(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the average value of an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermO5count_2asACyxGSS_SSSgtFZ":{"name":"count(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for a count query.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermO7maximum_2asACyxGSS_SSSgtFZ":{"name":"maximum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the maximum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermO7minimum_2asACyxGSS_SSSgtFZ":{"name":"minimum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the minimum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermO3sum_2asACyxGSS_SSSgtFZ":{"name":"sum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the sum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermO8objectID2asACyxGSSSg_tFZ":{"name":"objectID(as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the NSManagedObjectID.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:s26ExpressibleByStringLiteralP06stringD0x0cD4TypeQz_tcfc":{"name":"init(stringLiteral:)","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:s33ExpressibleByUnicodeScalarLiteralP07unicodedE0x0cdE4TypeQz_tcfc":{"name":"init(unicodeScalarLiteral:)","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:s43ExpressibleByExtendedGraphemeClusterLiteralP08extendeddeF0x0cdeF4TypeQz_tcfc":{"name":"init(extendedGraphemeClusterLiteral:)","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOAASo15NSManagedObjectCRbzrlE9attributeyACyxGs7KeyPathCyxqd__GlFZ":{"name":"attribute(_:)","abstract":"

    Provides a SelectTerm to a Select clause for querying an entity attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOAASo15NSManagedObjectCRbzrlE7average_2asACyxGs7KeyPathCyxqd__G_SSSgtlFZ":{"name":"average(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the average value of an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOAASo15NSManagedObjectCRbzrlE5count_2asACyxGs7KeyPathCyxqd__G_SSSgtlFZ":{"name":"count(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for a count query.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOAASo15NSManagedObjectCRbzrlE7maximum_2asACyxGs7KeyPathCyxqd__G_SSSgtlFZ":{"name":"maximum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the maximum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOAASo15NSManagedObjectCRbzrlE7minimum_2asACyxGs7KeyPathCyxqd__G_SSSgtlFZ":{"name":"minimum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the minimum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOAASo15NSManagedObjectCRbzrlE3sum_2asACyxGs7KeyPathCyxqd__G_SSSgtlFZ":{"name":"sum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the sum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE9attributeyACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GGAA23ImportableAttributeTypeRd__lFZ":{"name":"attribute(_:)","abstract":"

    Provides a SelectTerm to a Select clause for querying an entity attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE9attributeyACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GGAA23ImportableAttributeTypeRd__lFZ":{"name":"attribute(_:)","abstract":"

    Provides a SelectTerm to a Select clause for querying an entity attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE9attributeyACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GGSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"attribute(_:)","abstract":"

    Provides a SelectTerm to a Select clause for querying an entity attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE9attributeyACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GGSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"attribute(_:)","abstract":"

    Provides a SelectTerm to a Select clause for querying an entity attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7average_2asACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"average(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the average value of an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7average_2asACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"average(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the average value of an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7average_2asACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"average(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the average value of an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7average_2asACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"average(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the average value of an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE5count_2asACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"count(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for a count query.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE5count_2asACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"count(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for a count query.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE5count_2asACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"count(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for a count query.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE5count_2asACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"count(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for a count query.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7maximum_2asACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"maximum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the maximum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7maximum_2asACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"maximum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the maximum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7maximum_2asACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"maximum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the maximum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7maximum_2asACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"maximum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the maximum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7minimum_2asACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"minimum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the minimum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7minimum_2asACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"minimum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the minimum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7minimum_2asACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"minimum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the minimum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7minimum_2asACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"minimum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the minimum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE3sum_2asACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"sum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the sum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE3sum_2asACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"sum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the sum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE3sum_2asACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"sum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the sum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE3sum_2asACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"sum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the sum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/CSLocalStorageOptions.html#/c:@M@CoreStore@E@CSLocalStorageOptions@CSLocalStorageOptionsNone":{"name":"none","abstract":"

    Tells the DataStack that the store should not be migrated or recreated, and should simply fail on model mismatch

    ","parent_name":"CSLocalStorageOptions"},"Enums/CSLocalStorageOptions.html#/c:@M@CoreStore@E@CSLocalStorageOptions@CSLocalStorageOptionsRecreateStoreOnModelMismatch":{"name":"recreateStoreOnModelMismatch","abstract":"

    Tells the DataStack to delete and recreate the store on model mismatch, otherwise exceptions will be thrown on failure instead

    ","parent_name":"CSLocalStorageOptions"},"Enums/CSLocalStorageOptions.html#/c:@M@CoreStore@E@CSLocalStorageOptions@CSLocalStorageOptionsPreventProgressiveMigration":{"name":"preventProgressiveMigration","abstract":"

    Tells the DataStack to prevent progressive migrations for the store

    ","parent_name":"CSLocalStorageOptions"},"Enums/CSLocalStorageOptions.html#/c:@M@CoreStore@E@CSLocalStorageOptions@CSLocalStorageOptionsAllowSynchronousLightweightMigration":{"name":"allowSynchronousLightweightMigration","abstract":"

    Tells the DataStack to allow lightweight migration for the store when added synchronously

    ","parent_name":"CSLocalStorageOptions"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO4noneyACSS_tcACmF":{"name":"none(version:)","abstract":"

    Indicates that the persistent store matches the latest model version and no migration is needed

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO11lightweightyACSS_SStcACmF":{"name":"lightweight(sourceVersion:destinationVersion:)","abstract":"

    Indicates that the persistent store does not match the latest model version but Core Data can infer the mapping model, so a lightweight migration is needed

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO11heavyweightyACSS_SStcACmF":{"name":"heavyweight(sourceVersion:destinationVersion:)","abstract":"

    Indicates that the persistent store does not match the latest model version and Core Data could not infer a mapping model, so a custom migration is needed

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO13sourceVersionSSvp":{"name":"sourceVersion","abstract":"

    Returns the source model version for the migration type. If no migration is required, sourceVersion will be equal to the destinationVersion.

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO18destinationVersionSSvp":{"name":"destinationVersion","abstract":"

    Returns the destination model version for the migration type. If no migration is required, destinationVersion will be equal to the sourceVersion.

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO013isLightweightC0Sbvp":{"name":"isLightweightMigration","abstract":"

    Returns true if the MigrationType is a lightweight migration. Used as syntactic sugar.

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO013isHeavyweightC0Sbvp":{"name":"isHeavyweightMigration","abstract":"

    Returns true if the MigrationType is a heavyweight migration. Used as syntactic sugar.

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO03hasC0Sbvp":{"name":"hasMigration","abstract":"

    Returns true if the MigrationType is either a lightweight or a heavyweight migration. Returns false if no migrations specified.

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MigrationType"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO7unknownyA2CmF":{"name":"unknown","abstract":"

    A failure occured because of an unknown error.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO27differentStorageExistsAtURLyAC10Foundation0H0V_tcACmF":{"name":"differentStorageExistsAtURL(existingPersistentStoreURL:)","abstract":"

    The NSPersistentStore could not be initialized because another store existed at the specified NSURL.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO20mappingModelNotFoundyAC10Foundation3URLV_So015NSManagedObjectE0CSStcACmF":{"name":"mappingModelNotFound(localStoreURL:targetModel:targetModelVersion:)","abstract":"

    An NSMappingModel could not be found for a specific source and destination model versions.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO28progressiveMigrationRequiredyAC10Foundation3URLV_tcACmF":{"name":"progressiveMigrationRequired(localStoreURL:)","abstract":"

    Progressive migrations are disabled for a store, but an NSMappingModel could not be found for a specific source and destination model versions.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO29asynchronousMigrationRequiredyAC10Foundation3URLV_So7NSErrorCtcACmF":{"name":"asynchronousMigrationRequired(localStoreURL:NSError:)","abstract":"

    The LocalStorage was configured with .allowSynchronousLightweightMigration, but the model can only be migrated asynchronously.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO08internalC0yACSo7NSErrorC_tcACmF":{"name":"internalError(NSError:)","abstract":"

    An internal SDK call failed with the specified NSError.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO04userC0yACs0C0_p_tcACmF":{"name":"userError(error:)","abstract":"

    The transaction was terminated by a user-thrown Error.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO13userCancelledyA2CmF":{"name":"userCancelled","abstract":"

    The transaction was cancelled by the user.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO010persistentB8NotFoundyAcA13DynamicObject_pXp_tcACmF":{"name":"persistentStoreNotFound(entity:)","abstract":"

    Attempted to perform a fetch but could not find any related persistent store.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:10Foundation13CustomNSErrorP11errorDomainSSvpZ":{"name":"errorDomain","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:10Foundation13CustomNSErrorP9errorCodeSivp":{"name":"errorCode","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:10Foundation13CustomNSErrorP13errorUserInfoSDySSypGvp":{"name":"errorUserInfo","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:10Foundation26_ObjectiveCBridgeableErrorP15_bridgedNSErrorxSgSo0F0Ch_tcfc":{"name":"init(_bridgedNSError:)","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"CoreStoreError"},"Enums/CSErrorCode.html#/c:@M@CoreStore@E@CSErrorCode@CSErrorCodeUnknownError":{"name":"unknownError","abstract":"

    A failure occured because of an unknown error.

    ","parent_name":"CSErrorCode"},"Enums/CSErrorCode.html#/c:@M@CoreStore@E@CSErrorCode@CSErrorCodeDifferentStorageExistsAtURL":{"name":"differentStorageExistsAtURL","abstract":"

    The NSPersistentStore could note be initialized because another store existed at the specified NSURL.

    ","parent_name":"CSErrorCode"},"Enums/CSErrorCode.html#/c:@M@CoreStore@E@CSErrorCode@CSErrorCodeMappingModelNotFound":{"name":"mappingModelNotFound","abstract":"

    An NSMappingModel could not be found for a specific source and destination model versions.

    ","parent_name":"CSErrorCode"},"Enums/CSErrorCode.html#/c:@M@CoreStore@E@CSErrorCode@CSErrorCodeProgressiveMigrationRequired":{"name":"progressiveMigrationRequired","abstract":"

    Progressive migrations are disabled for a store, but an NSMappingModel could not be found for a specific source and destination model versions.

    ","parent_name":"CSErrorCode"},"Enums/CSErrorCode.html#/c:@M@CoreStore@E@CSErrorCode@CSErrorCodeInternalError":{"name":"internalError","abstract":"

    An internal SDK call failed with the specified NSError userInfo key.

    ","parent_name":"CSErrorCode"},"Enums/CSErrorCode.html#/c:@M@CoreStore@E@CSErrorCode@CSErrorCodeUserError":{"name":"userError","abstract":"

    The transaction was terminated by a user-thrown error with the specified Error userInfo key.

    ","parent_name":"CSErrorCode"},"Enums/CSErrorCode.html#/c:@M@CoreStore@E@CSErrorCode@CSErrorCodeUserCancelled":{"name":"userCancelled","abstract":"

    The transaction was cancelled by the user.

    ","parent_name":"CSErrorCode"},"Enums/CSErrorCode.html":{"name":"CSErrorCode","abstract":"

    The NSError error codes for CSError.Domain.

    "},"Enums/CoreStoreError.html":{"name":"CoreStoreError","abstract":"

    All errors thrown from CoreStore are expressed in CoreStoreError enum values.

    "},"Enums/MigrationType.html":{"name":"MigrationType","abstract":"

    The MigrationType specifies the type of migration required for a store.

    "},"Enums/CSLocalStorageOptions.html":{"name":"CSLocalStorageOptions","abstract":"

    The CSLocalStorageOptions provides settings that tells the CSDataStack how to setup the persistent store for CSLocalStorage implementers.

    "},"Enums/SelectTerm.html":{"name":"SelectTerm","abstract":"

    The SelectTerm is passed to the Select clause to indicate the attributes/aggregate keys to be queried.

    "},"Enums/CoreStore.html":{"name":"CoreStore","abstract":"

    CoreStore is the main entry point for all other APIs.

    "},"Enums/CoreStoreErrorCode.html":{"name":"CoreStoreErrorCode","abstract":"

    The NSError error codes for CoreStoreErrorDomain.

    "},"Enums.html#/s:9CoreStore8LogLevelO":{"name":"LogLevel","abstract":"

    The LogLevel indicates the severity of a log message.

    "},"Enums/ValueContainer.html":{"name":"ValueContainer","abstract":"

    The containing type for value properties. Use the DynamicObject.Value typealias instead for shorter syntax.

    "},"Enums/TransformableContainer.html":{"name":"TransformableContainer","abstract":"

    The containing type for transformable properties. Use the DynamicObject.Transformable typealias instead for shorter syntax.

    "},"Enums/RelationshipContainer.html":{"name":"RelationshipContainer","abstract":"

    The containing type for relationships. Use the DynamicObject.Relationship typealias instead for shorter syntax.

    "},"Global Variables.html#/s:9CoreStore0aB11ErrorDomainSSvp":{"name":"CoreStoreErrorDomain","abstract":"

    The NSError error domain string for CSError.

    "},"Classes/XcodeSchemaMappingProvider.html#/s:9CoreStore26XcodeSchemaMappingProviderC13sourceVersionSSvp":{"name":"sourceVersion","abstract":"

    The source model version for the mapping.

    ","parent_name":"XcodeSchemaMappingProvider"},"Classes/XcodeSchemaMappingProvider.html#/s:9CoreStore26XcodeSchemaMappingProviderC18destinationVersionSSvp":{"name":"destinationVersion","abstract":"

    The destination model version for the mapping.

    ","parent_name":"XcodeSchemaMappingProvider"},"Classes/XcodeSchemaMappingProvider.html#/s:9CoreStore26XcodeSchemaMappingProviderC18mappingModelBundleSo8NSBundleCvp":{"name":"mappingModelBundle","abstract":"

    The Bundle that contains the xcmappingmodel file.

    ","parent_name":"XcodeSchemaMappingProvider"},"Classes/XcodeSchemaMappingProvider.html#/s:9CoreStore26XcodeSchemaMappingProviderC4from2to18mappingModelBundleACSS_SSSo8NSBundleCtcfc":{"name":"init(from:to:mappingModelBundle:)","abstract":"

    Creates an XcodeSchemaMappingProvider

    ","parent_name":"XcodeSchemaMappingProvider"},"Classes/XcodeSchemaMappingProvider.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"XcodeSchemaMappingProvider"},"Classes/XcodeSchemaMappingProvider.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"XcodeSchemaMappingProvider"},"Classes/XcodeSchemaMappingProvider.html#/s:9CoreStore21SchemaMappingProviderP09cs_createD5Model4from2to7storageSo09NSMappingH0C07mappingH0_AA13MigrationTypeO09migrationO0tAA07DynamicC0_p_AaN_pAA12LocalStorage_ptKF":{"name":"cs_createMappingModel(from:to:storage:)","parent_name":"XcodeSchemaMappingProvider"},"Classes/UserInfo.html#/s:9CoreStore8UserInfoCyypSgSVcip":{"name":"subscript(_:)","abstract":"

    Allows external libraries to store custom data. App code should rarely have a need for this.

    ","parent_name":"UserInfo"},"Classes/UserInfo.html#/s:9CoreStore8UserInfoC_8lazyInitypSV_ypyXEtcip":{"name":"subscript(_:lazyInit:)","abstract":"

    Allows external libraries to store custom data in the DataStack. App code should rarely have a need for this.

    ","parent_name":"UserInfo"},"Classes/InferredSchemaMappingProvider.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"InferredSchemaMappingProvider"},"Classes/InferredSchemaMappingProvider.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"InferredSchemaMappingProvider"},"Classes/InferredSchemaMappingProvider.html#/s:9CoreStore21SchemaMappingProviderP09cs_createD5Model4from2to7storageSo09NSMappingH0C07mappingH0_AA13MigrationTypeO09migrationO0tAA07DynamicC0_p_AaN_pAA12LocalStorage_ptKF":{"name":"cs_createMappingModel(from:to:storage:)","parent_name":"InferredSchemaMappingProvider"},"Classes/DynamicEntity.html#/s:9CoreStore13DynamicEntityC4typeAA0C6Object_pXpvp":{"name":"type","abstract":"

    Do not use directly.

    ","parent_name":"DynamicEntity"},"Classes/DynamicEntity.html#/s:9CoreStore13DynamicEntityC10entityNameSSvp":{"name":"entityName","abstract":"

    Do not use directly.

    ","parent_name":"DynamicEntity"},"Classes/DynamicEntity.html#/s:9CoreStore13DynamicEntityC10isAbstractSbvp":{"name":"isAbstract","abstract":"

    Do not use directly.

    ","parent_name":"DynamicEntity"},"Classes/DynamicEntity.html#/s:9CoreStore13DynamicEntityC19versionHashModifierSSSgvp":{"name":"versionHashModifier","abstract":"

    Do not use directly.

    ","parent_name":"DynamicEntity"},"Classes/DynamicEntity.html#/s:9CoreStore13DynamicEntityC7indexesSaySaySSGGvp":{"name":"indexes","abstract":"

    Do not use directly.

    ","parent_name":"DynamicEntity"},"Classes/DynamicEntity.html#/s:9CoreStore13DynamicEntityC17uniqueConstraintsSaySaySSGGvp":{"name":"uniqueConstraints","abstract":"

    Do not use directly.

    ","parent_name":"DynamicEntity"},"Classes/DynamicEntity.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"DynamicEntity"},"Classes/DynamicEntity.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"DynamicEntity"},"Classes/DefaultLogger.html#/s:9CoreStore13DefaultLoggerCACycfc":{"name":"init()","abstract":"

    Creates a DefaultLogger.

    ","parent_name":"DefaultLogger"},"Classes/DefaultLogger.html#/s:9CoreStore13DefaultLoggerC3log5level7message8fileName10lineNumber08functionI0yAA8LogLevelO_SSs12StaticStringVSiAMtF":{"name":"log(level:message:fileName:lineNumber:functionName:)","abstract":"

    Handles log messages sent by the CoreStore framework.

    ","parent_name":"DefaultLogger"},"Classes/DefaultLogger.html#/s:9CoreStore13DefaultLoggerC3log5error7message8fileName10lineNumber08functionI0yAA0aB5ErrorO_SSs12StaticStringVSiAMtF":{"name":"log(error:message:fileName:lineNumber:functionName:)","abstract":"

    Handles errors sent by the CoreStore framework.

    ","parent_name":"DefaultLogger"},"Classes/DefaultLogger.html#/s:9CoreStore13DefaultLoggerC6assert_7message8fileName10lineNumber08functionH0ySbyXK_SSyXKs12StaticStringVSiAJtF":{"name":"assert(_:message:fileName:lineNumber:functionName:)","abstract":"

    Handles assertions made throughout the CoreStore framework.

    ","parent_name":"DefaultLogger"},"Classes/DefaultLogger.html#/s:9CoreStore13DefaultLoggerC5abort_8fileName10lineNumber08functionG0ySS_s12StaticStringVSiAItF":{"name":"abort(_:fileName:lineNumber:functionName:)","abstract":"

    Handles fatal errors made throughout the CoreStore framework.

    ","parent_name":"DefaultLogger"},"Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html#/s:9CoreStore27CustomSchemaMappingProviderC23UnsafeDestinationObjectCyypSgSScip":{"name":"subscript(_:)","abstract":"

    Accesses or mutates the property value via its keyPath.

    ","parent_name":"UnsafeDestinationObject"},"Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html#/s:9CoreStore27CustomSchemaMappingProviderC23UnsafeDestinationObjectCyypSgSo22NSAttributeDescriptionCcip":{"name":"subscript(_:)","abstract":"

    Accesses or mutates the property value via its NSAttributeDescription, which can be accessed from the enumerateAttributes(_:) method.

    ","parent_name":"UnsafeDestinationObject"},"Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html#/s:9CoreStore27CustomSchemaMappingProviderC23UnsafeDestinationObjectC19enumerateAttributesyyySo22NSAttributeDescriptionC_AHSgtXEF":{"name":"enumerateAttributes(_:)","abstract":"

    Enumerates the all NSAttributeDescriptions. The attribute argument can be used as the subscript key to access and mutate the property. The sourceAttribute can be used to access properties from the source UnsafeSourceObject.

    ","parent_name":"UnsafeDestinationObject"},"Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html#/s:9CoreStore27CustomSchemaMappingProviderC18UnsafeSourceObjectCyypSgSScip":{"name":"subscript(_:)","abstract":"

    Accesses the property value via its keyPath.

    ","parent_name":"UnsafeSourceObject"},"Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html#/s:9CoreStore27CustomSchemaMappingProviderC18UnsafeSourceObjectCyypSgSo22NSAttributeDescriptionCcip":{"name":"subscript(_:)","abstract":"

    Accesses the property value via its NSAttributeDescription, which can be accessed from the enumerateAttributes(_:) method.

    ","parent_name":"UnsafeSourceObject"},"Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html#/s:9CoreStore27CustomSchemaMappingProviderC18UnsafeSourceObjectC19enumerateAttributesyyySo22NSAttributeDescriptionCXEF":{"name":"enumerateAttributes(_:)","abstract":"

    Enumerates the all NSAttributeDescriptions. The attribute argument can be used as the subscript key to access the property.

    ","parent_name":"UnsafeSourceObject"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:9CoreStore27CustomSchemaMappingProviderC0cE0O12deleteEntityyAESS_tcAEmF":{"name":"deleteEntity(sourceEntity:)","abstract":"

    The sourceEntity is meant to be removed from the source DynamicSchema and should not be migrated to the destination DynamicSchema.

    ","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:9CoreStore27CustomSchemaMappingProviderC0cE0O12insertEntityyAESS_tcAEmF":{"name":"insertEntity(destinationEntity:)","abstract":"

    The destinationEntity is newly added to the destination DynamicSchema and has no mapping from the source DynamicSchema.

    ","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:9CoreStore27CustomSchemaMappingProviderC0cE0O10copyEntityyAESS_SStcAEmF":{"name":"copyEntity(sourceEntity:destinationEntity:)","abstract":"

    The DynamicSchemas entity has no changes and can be copied directly from sourceEntity to destinationEntity.

    ","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:9CoreStore27CustomSchemaMappingProviderC0cE0O15transformEntityyAESS_SSyAC18UnsafeSourceObjectC_AC0i11DestinationK0CyXEtKctcAEmF":{"name":"transformEntity(sourceEntity:destinationEntity:transformer:)","abstract":"

    The DynamicSchemas entity needs transformations from sourceEntity to destinationEntity. The transformer closure will be used to apply the changes. The CustomMapping.inferredTransformation method can be used directly as the transformer if the changes can be inferred (i.e. lightweight).

    ","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:9CoreStore27CustomSchemaMappingProviderC0cE0O11Transformera":{"name":"Transformer","abstract":"

    The closure type for CustomMapping.transformEntity.

    ","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:9CoreStore27CustomSchemaMappingProviderC0cE0O22inferredTransformationyyAC18UnsafeSourceObjectC_AC0i11DestinationK0CyXEtKFZ":{"name":"inferredTransformation(_:_:)","abstract":"

    The CustomMapping.inferredTransformation method can be used directly as the transformer if the changes can be inferred (i.e. lightweight).

    ","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider.html#/s:9CoreStore27CustomSchemaMappingProviderC13sourceVersionSSvp":{"name":"sourceVersion","abstract":"

    The source model version for the mapping.

    ","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider.html#/s:9CoreStore27CustomSchemaMappingProviderC18destinationVersionSSvp":{"name":"destinationVersion","abstract":"

    The destination model version for the mapping.

    ","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider.html#/s:9CoreStore27CustomSchemaMappingProviderC4from2to14entityMappingsACSS_SSShyAC0cE0OGtcfc":{"name":"init(from:to:entityMappings:)","abstract":"

    Creates a CustomSchemaMappingProvider

    ","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider/CustomMapping.html":{"name":"CustomMapping","abstract":"

    Provides the type of mapping for an entity. Mappings of entities with no CustomMapping provided will be automatically calculated if possible. Any conflicts or ambiguity will raise an assertion.

    ","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html":{"name":"UnsafeSourceObject","abstract":"

    The read-only proxy object used for the source object in a mapping’s Transformer closure. Properties can be accessed either by keyPath string or by NSAttributeDescription.

    ","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html":{"name":"UnsafeDestinationObject","abstract":"

    The read-write proxy object used for the destination object that can be created in a mapping’s Transformer closure. Properties can be accessed and mutated either through keyPath string or by NSAttributeDescription.

    ","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider.html#/s:9CoreStore21SchemaMappingProviderP09cs_createD5Model4from2to7storageSo09NSMappingH0C07mappingH0_AA13MigrationTypeO09migrationO0tAA07DynamicC0_p_AaN_pAA12LocalStorage_ptKF":{"name":"cs_createMappingModel(from:to:storage:)","parent_name":"CustomSchemaMappingProvider"},"Classes/CoreStoreObjectOrderedDiff.html#/s:9CoreStore0aB17ObjectOrderedDiffC4kindSo16NSKeyValueChangeVvp":{"name":"kind","abstract":"

    Indicates the kind of change. See the comments for NSObject.observeValue(forKeyPath:of:change:context:) for more information.

    ","parent_name":"CoreStoreObjectOrderedDiff"},"Classes/CoreStoreObjectOrderedDiff.html#/s:9CoreStore0aB17ObjectOrderedDiffC8newValueSayxGvp":{"name":"newValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectOrderedDiff"},"Classes/CoreStoreObjectOrderedDiff.html#/s:9CoreStore0aB17ObjectOrderedDiffC8oldValueSayxGvp":{"name":"oldValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectOrderedDiff"},"Classes/CoreStoreObjectOrderedDiff.html#/s:9CoreStore0aB17ObjectOrderedDiffC7indexes10Foundation8IndexSetVvp":{"name":"indexes","abstract":"

    indexes will be nil unless the observed KeyPath refers to an ordered to-many property

    ","parent_name":"CoreStoreObjectOrderedDiff"},"Classes/CoreStoreObjectOrderedDiff.html#/s:9CoreStore0aB17ObjectOrderedDiffC7isPriorSbvp":{"name":"isPrior","abstract":"

    ‘isPrior’ will be true if this change observation is being sent before the change happens, due to .prior being passed to observe()

    ","parent_name":"CoreStoreObjectOrderedDiff"},"Classes/CoreStoreObjectUnorderedDiff.html#/s:9CoreStore0aB19ObjectUnorderedDiffC4kindSo16NSKeyValueChangeVvp":{"name":"kind","abstract":"

    Indicates the kind of change. See the comments for NSObject.observeValue(forKeyPath:of:change:context:) for more information.

    ","parent_name":"CoreStoreObjectUnorderedDiff"},"Classes/CoreStoreObjectUnorderedDiff.html#/s:9CoreStore0aB19ObjectUnorderedDiffC8newValueShyxGvp":{"name":"newValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectUnorderedDiff"},"Classes/CoreStoreObjectUnorderedDiff.html#/s:9CoreStore0aB19ObjectUnorderedDiffC8oldValueShyxGvp":{"name":"oldValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectUnorderedDiff"},"Classes/CoreStoreObjectUnorderedDiff.html#/s:9CoreStore0aB19ObjectUnorderedDiffC7isPriorSbvp":{"name":"isPrior","abstract":"

    ‘isPrior’ will be true if this change observation is being sent before the change happens, due to .prior being passed to observe()

    ","parent_name":"CoreStoreObjectUnorderedDiff"},"Classes/CoreStoreObjectObjectDiff.html#/s:9CoreStore0ab6ObjectC4DiffC4kindSo16NSKeyValueChangeVvp":{"name":"kind","abstract":"

    Indicates the kind of change. See the comments for NSObject.observeValue(forKeyPath:of:change:context:) for more information.

    ","parent_name":"CoreStoreObjectObjectDiff"},"Classes/CoreStoreObjectObjectDiff.html#/s:9CoreStore0ab6ObjectC4DiffC8newValuexSgvp":{"name":"newValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectObjectDiff"},"Classes/CoreStoreObjectObjectDiff.html#/s:9CoreStore0ab6ObjectC4DiffC8oldValuexSgvp":{"name":"oldValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectObjectDiff"},"Classes/CoreStoreObjectObjectDiff.html#/s:9CoreStore0ab6ObjectC4DiffC7isPriorSbvp":{"name":"isPrior","abstract":"

    ‘isPrior’ will be true if this change observation is being sent before the change happens, due to .prior being passed to observe()

    ","parent_name":"CoreStoreObjectObjectDiff"},"Classes/CoreStoreObjectTransformableDiff.html#/s:9CoreStore0aB23ObjectTransformableDiffC4kindSo16NSKeyValueChangeVvp":{"name":"kind","abstract":"

    Indicates the kind of change. See the comments for NSObject.observeValue(forKeyPath:of:change:context:) for more information.

    ","parent_name":"CoreStoreObjectTransformableDiff"},"Classes/CoreStoreObjectTransformableDiff.html#/s:9CoreStore0aB23ObjectTransformableDiffC8newValuexSgvp":{"name":"newValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectTransformableDiff"},"Classes/CoreStoreObjectTransformableDiff.html#/s:9CoreStore0aB23ObjectTransformableDiffC8oldValuexSgvp":{"name":"oldValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectTransformableDiff"},"Classes/CoreStoreObjectTransformableDiff.html#/s:9CoreStore0aB23ObjectTransformableDiffC7isPriorSbvp":{"name":"isPrior","abstract":"

    ‘isPrior’ will be true if this change observation is being sent before the change happens, due to .prior being passed to observe()

    ","parent_name":"CoreStoreObjectTransformableDiff"},"Classes/CoreStoreObjectValueDiff.html#/s:9CoreStore0aB15ObjectValueDiffC4kindSo05NSKeyD6ChangeVvp":{"name":"kind","abstract":"

    Indicates the kind of change. See the comments for NSObject.observeValue(forKeyPath:of:change:context:) for more information.

    ","parent_name":"CoreStoreObjectValueDiff"},"Classes/CoreStoreObjectValueDiff.html#/s:9CoreStore0aB15ObjectValueDiffC03newD0xSgvp":{"name":"newValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). newValue will be nil if isPrior is true.

    ","parent_name":"CoreStoreObjectValueDiff"},"Classes/CoreStoreObjectValueDiff.html#/s:9CoreStore0aB15ObjectValueDiffC03oldD0xSgvp":{"name":"oldValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe().

    ","parent_name":"CoreStoreObjectValueDiff"},"Classes/CoreStoreObjectValueDiff.html#/s:9CoreStore0aB15ObjectValueDiffC7isPriorSbvp":{"name":"isPrior","abstract":"

    ‘isPrior’ will be true if this change observation is being sent before the change happens, due to .prior being passed to observe()

    ","parent_name":"CoreStoreObjectValueDiff"},"Classes/SchemaHistory.html#/s:9CoreStore13SchemaHistoryC19currentModelVersionSSvp":{"name":"currentModelVersion","abstract":"

    The version string for the current model version. The DataStack will try to migrate all StorageInterfaces added to itself to this version, following the version steps provided by the migrationChain.

    ","parent_name":"SchemaHistory"},"Classes/SchemaHistory.html#/s:9CoreStore13SchemaHistoryC07currentC0AA07DynamicC0_pvp":{"name":"currentSchema","abstract":"

    The schema for the current model version. The DataStack will try to migrate all StorageInterfaces added to itself to this version, following the version steps provided by the migrationChain.

    ","parent_name":"SchemaHistory"},"Classes/SchemaHistory.html#/s:9CoreStore13SchemaHistoryC14migrationChainAA09MigrationF0Vvp":{"name":"migrationChain","abstract":"

    The version string for the current model version. The DataStack will try to migrate all StorageInterfaces added to itself to this version, following the version steps provided by the migrationChain.

    ","parent_name":"SchemaHistory"},"Classes/SchemaHistory.html#/s:9CoreStore13SchemaHistoryC_14migrationChainACSayAA014XcodeDataModelC0CG03allC0_SS07currentI7Versiont_AA09MigrationF0Vtcfc":{"name":"init(_:migrationChain:)","abstract":"

    Convenience initializer for a SchemaHistory created from a single xcdatamodeld file.

    ","parent_name":"SchemaHistory"},"Classes/SchemaHistory.html#/s:9CoreStore13SchemaHistoryC__14migrationChain24exactCurrentModelVersionAcA07DynamicC0_p_AaF_pdAA09MigrationF0VSSSgtcfc":{"name":"init(_:_:migrationChain:exactCurrentModelVersion:)","abstract":"

    Initializes a SchemaHistory with a list of DynamicSchema and a MigrationChain to describe the order of progressive migrations.

    ","parent_name":"SchemaHistory"},"Classes/SchemaHistory.html#/s:9CoreStore13SchemaHistoryC03allC014migrationChain24exactCurrentModelVersionACSayAA07DynamicC0_pG_AA09MigrationG0VSSSgtcfc":{"name":"init(allSchema:migrationChain:exactCurrentModelVersion:)","abstract":"

    Initializes a SchemaHistory with a list of DynamicSchema and a MigrationChain to describe the order of progressive migrations.

    ","parent_name":"SchemaHistory"},"Classes/SchemaHistory.html#/s:s25ExpressibleByArrayLiteralP05arrayD0x0cD7ElementQzd_tcfc":{"name":"init(arrayLiteral:)","parent_name":"SchemaHistory"},"Classes/SchemaHistory.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"SchemaHistory"},"Classes/ObjectMonitor.html#/s:9CoreStore13ObjectMonitorC0C4Typea":{"name":"ObjectType","abstract":"

    The type for the object contained by the ObjectMonitor

    ","parent_name":"ObjectMonitor"},"Classes/ObjectMonitor.html#/s:9CoreStore13ObjectMonitorC6objectxSgvp":{"name":"object","abstract":"

    Returns the DynamicObject instance being observed, or nil if the object was already deleted.

    ","parent_name":"ObjectMonitor"},"Classes/ObjectMonitor.html#/s:9CoreStore13ObjectMonitorC02isC7DeletedSbvp":{"name":"isObjectDeleted","abstract":"

    Returns true if the DynamicObject instance being observed still exists, or false if the object was already deleted.

    ","parent_name":"ObjectMonitor"},"Classes/ObjectMonitor.html#/s:9CoreStore13ObjectMonitorC11addObserveryyqd__0C10EntityTypeQyd__RszAA0cF0Rd__lF":{"name":"addObserver(_:)","abstract":"

    Registers an ObjectObserver to be notified when changes to the receiver’s object are made.

    ","parent_name":"ObjectMonitor"},"Classes/ObjectMonitor.html#/s:9CoreStore13ObjectMonitorC14removeObserveryyqd__0C10EntityTypeQyd__RszAA0cF0Rd__lF":{"name":"removeObserver(_:)","abstract":"

    Unregisters an ObjectObserver from receiving notifications for changes to the receiver’s object.

    ","parent_name":"ObjectMonitor"},"Classes/ObjectMonitor.html#/s:9CoreStore13ObjectMonitorC8userInfoAA04UserF0Cvp":{"name":"userInfo","abstract":"

    Allow external libraries to store custom data in the ObjectMonitor. App code should rarely have a need for this.

    ","parent_name":"ObjectMonitor"},"Classes/ObjectMonitor.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"ObjectMonitor"},"Classes/ObjectMonitor.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"ObjectMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC10ObjectTypea":{"name":"ObjectType","abstract":"

    The type for the objects contained bye the ListMonitor

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCyxSicip":{"name":"subscript(_:)","abstract":"

    Returns the object at the given index within the first section. This subscript indexer is typically used for ListMonitors created with monitorList(_:).

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC9safeIndexxSgSi_tcip":{"name":"subscript(safeIndex:)","abstract":"

    Returns the object at the given index, or nil if out of bounds. This subscript indexer is typically used for ListMonitors created with monitorList(_:).

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCyxSi_Sitcip":{"name":"subscript(_:_:)","abstract":"

    Returns the object at the given sectionIndex and itemIndex. This subscript indexer is typically used for ListMonitors created with monitorSectionedList(_:).

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC16safeSectionIndex0e4ItemG0xSgSi_Sitcip":{"name":"subscript(safeSectionIndex:safeItemIndex:)","abstract":"

    Returns the object at the given section and item index, or nil if out of bounds. This subscript indexer is typically used for ListMonitors created with monitorSectionedList(_:).

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCyx10Foundation9IndexPathVcip":{"name":"subscript(_:)","abstract":"

    Returns the object at the given IndexPath. This subscript indexer is typically used for ListMonitors created with monitorSectionedList(_:).

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC13safeIndexPathxSg10Foundation0fG0V_tcip":{"name":"subscript(safeIndexPath:)","abstract":"

    Returns the object at the given IndexPath, or nil if out of bounds. This subscript indexer is typically used for ListMonitors created with monitorSectionedList(_:).

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC11hasSectionsSbyF":{"name":"hasSections()","abstract":"

    Checks if the ListMonitor has at least one section

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC10hasObjectsSbyF":{"name":"hasObjects()","abstract":"

    Checks if the ListMonitor has at least one object in any section.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC10hasObjects2inSbSi_tF":{"name":"hasObjects(in:)","abstract":"

    Checks if the ListMonitor has at least one object the specified section.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC16numberOfSectionsSiyF":{"name":"numberOfSections()","abstract":"

    Returns the number of sections

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC15numberOfObjectsSiyF":{"name":"numberOfObjects()","abstract":"

    Returns the number of objects in all sections

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC15numberOfObjects2inS2i_tF":{"name":"numberOfObjects(in:)","abstract":"

    Returns the number of objects in the specified section

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC15numberOfObjects8safelyInSiSgSi_tF":{"name":"numberOfObjects(safelyIn:)","abstract":"

    Returns the number of objects in the specified section, or nil if out of bounds.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC11sectionInfo2atSo023NSFetchedResultsSectionF0_pSi_tF":{"name":"sectionInfo(at:)","abstract":"

    Returns the NSFetchedResultsSectionInfo for the specified section

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC11sectionInfo8safelyAtSo023NSFetchedResultsSectionF0_pSgSi_tF":{"name":"sectionInfo(safelyAt:)","abstract":"

    Returns the NSFetchedResultsSectionInfo for the specified section, or nil if out of bounds.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC8sectionsSaySo27NSFetchedResultsSectionInfo_pGyF":{"name":"sections()","abstract":"

    Returns the NSFetchedResultsSectionInfos for all sections

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC13targetSection03forF10IndexTitle2atSiSS_SitF":{"name":"targetSection(forSectionIndexTitle:at:)","abstract":"

    Returns the target section for a specified Section Index title and index.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC18sectionIndexTitlesSaySSGyF":{"name":"sectionIndexTitles()","abstract":"

    Returns the section index titles for all sections

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC5index2ofSiSgx_tF":{"name":"index(of:)","abstract":"

    Returns the index of the DynamicObject if it exists in the ListMonitor‘s fetched objects, or nil if not found.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC9indexPath2of10Foundation05IndexF0VSgx_tF":{"name":"indexPath(of:)","abstract":"

    Returns the IndexPath of the DynamicObject if it exists in the ListMonitor‘s fetched objects, or nil if not found.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC11addObserveryyqd__0C10EntityTypeQyd__RszAA0cF0Rd__lF":{"name":"addObserver(_:)","abstract":"

    Registers a ListObserver to be notified when changes to the receiver’s list occur.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC11addObserveryyqd__0C10EntityTypeQyd__RszAA0c6ObjectF0Rd__lF":{"name":"addObserver(_:)","abstract":"

    Registers a ListObjectObserver to be notified when changes to the receiver’s list occur.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC11addObserveryyqd__0C10EntityTypeQyd__RszAA0c7SectionF0Rd__lF":{"name":"addObserver(_:)","abstract":"

    Registers a ListSectionObserver to be notified when changes to the receiver’s list occur.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC14removeObserveryyqd__0C10EntityTypeQyd__RszAA0cF0Rd__lF":{"name":"removeObserver(_:)","abstract":"

    Unregisters a ListObserver from receiving notifications for changes to the receiver’s list.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC16isPendingRefetchSbvp":{"name":"isPendingRefetch","abstract":"

    Returns true if a call to refetch(...) was made to the ListMonitor and is currently waiting for the fetching to complete. Returns false otherwise.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC7refetchyyAA11FetchClause_pd_tF":{"name":"refetch(_:)","abstract":"

    Asks the ListMonitor to refetch its objects using the specified series of FetchClauses. Note that this method does not execute the fetch immediately; the actual fetching will happen after the NSFetchedResultsController‘s last controllerDidChangeContent(_:) notification completes.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC7refetchyySayAA11FetchClause_pGF":{"name":"refetch(_:)","abstract":"

    Asks the ListMonitor to refetch its objects using the specified series of FetchClauses. Note that this method does not execute the fetch immediately; the actual fetching will happen after the NSFetchedResultsController‘s last controllerDidChangeContent(_:) notification completes.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC8userInfoAA04UserF0Cvp":{"name":"userInfo","abstract":"

    Allow external libraries to store custom data in the ListMonitor. App code should rarely have a need for this.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCAASo15NSManagedObjectCRbzrlE20objectsInAllSectionsSayxGyF":{"name":"objectsInAllSections()","abstract":"

    Returns all objects in all sections

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCAASo15NSManagedObjectCRbzrlE7objects2inSayxGSi_tF":{"name":"objects(in:)","abstract":"

    Returns all objects in the specified section

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCAASo15NSManagedObjectCRbzrlE7objects8safelyInSayxGSgSi_tF":{"name":"objects(safelyIn:)","abstract":"

    Returns all objects in the specified section, or nil if out of bounds.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCA2A0aB6ObjectCRbzrlE20objectsInAllSectionsSayxGyF":{"name":"objectsInAllSections()","abstract":"

    Returns all objects in all sections

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCA2A0aB6ObjectCRbzrlE7objects2inSayxGSi_tF":{"name":"objects(in:)","abstract":"

    Returns all objects in the specified section

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCA2A0aB6ObjectCRbzrlE7objects8safelyInSayxGSgSi_tF":{"name":"objects(safelyIn:)","abstract":"

    Returns all objects in the specified section, or nil if out of bounds.

    ","parent_name":"ListMonitor"},"Classes/Entity.html#/s:9CoreStore6EntityC_10isAbstract19versionHashModifier7indexes17uniqueConstraintsACyxGSS_SbSSSgSaySays14PartialKeyPathCyxGGGANtcfc":{"name":"init(_:isAbstract:versionHashModifier:indexes:uniqueConstraints:)","abstract":"

    Initializes an Entity. Always provide a concrete generic type to Entity.

    ","parent_name":"Entity"},"Classes/Entity.html#/s:9CoreStore6EntityC_10isAbstract19versionHashModifier7indexesACyxGSS_SbSSSgSaySays14PartialKeyPathCyxGGGtcfc":{"name":"init(_:isAbstract:versionHashModifier:indexes:)","abstract":"

    Initializes an Entity. Always provide a concrete generic type to Entity.

    ","parent_name":"Entity"},"Classes/Entity.html#/s:9CoreStore6EntityC__10isAbstract19versionHashModifier7indexes17uniqueConstraintsACyxGxm_SSSbSSSgSaySays14PartialKeyPathCyxGGGANtcfc":{"name":"init(_:_:isAbstract:versionHashModifier:indexes:uniqueConstraints:)","abstract":"

    Initializes an Entity.

    ","parent_name":"Entity"},"Classes/Entity.html#/s:9CoreStore6EntityC__10isAbstract19versionHashModifier7indexesACyxGxm_SSSbSSSgSaySays14PartialKeyPathCyxGGGtcfc":{"name":"init(_:_:isAbstract:versionHashModifier:indexes:)","abstract":"

    Initializes an Entity.

    ","parent_name":"Entity"},"Classes/Entity.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"Entity"},"Classes/CoreStoreSchema.html#/s:9CoreStore0aB6SchemaC12modelVersion8entities11versionLockACSS_SayAA13DynamicEntityCGAA0eH0VSgtcfc":{"name":"init(modelVersion:entities:versionLock:)","abstract":"

    Initializes a CoreStoreSchema. Using this initializer only if the entities don’t need to be assigned to particular Configurations. To use multiple configurations (for example, to separate entities in different StorageInterfaces), use the init(modelVersion:entitiesByConfiguration:versionLock:) initializer.

    ","parent_name":"CoreStoreSchema"},"Classes/CoreStoreSchema.html#/s:9CoreStore0aB6SchemaC12modelVersion20entityConfigurations11versionLockACSS_SDyAA13DynamicEntityCShySSGGAA0eI0VSgtcfc":{"name":"init(modelVersion:entityConfigurations:versionLock:)","abstract":"

    Initializes a CoreStoreSchema. Using this initializer if multiple Configurations (for example, to separate entities in different StorageInterfaces) are needed. To add an entity only to the default configuration, assign an empty set to its configurations list. Note that regardless of the set configurations, all entities will be added to the default configuration.

    ","parent_name":"CoreStoreSchema"},"Classes/CoreStoreSchema.html#/s:9CoreStore13DynamicSchemaP12modelVersionSSvp":{"name":"modelVersion","parent_name":"CoreStoreSchema"},"Classes/CoreStoreSchema.html#/s:9CoreStore13DynamicSchemaP8rawModelSo015NSManagedObjectF0CyF":{"name":"rawModel()","parent_name":"CoreStoreSchema"},"Classes/CoreStoreSchema.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"CoreStoreSchema"},"Classes/CoreStoreObject.html#/s:9CoreStore0aB6ObjectC03rawC0ACSo09NSManagedC0C_tcfc":{"name":"init(rawObject:)","abstract":"

    Do not call this directly. This is exposed as public only as a required initializer.

    ","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore0aB6ObjectC6asMetaACyt_tcfc":{"name":"init(asMeta:)","abstract":"

    Do not call this directly. This is exposed as public only as a required initializer.

    ","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore0aB6ObjectC11fetchSourceAA09FetchableE0_pSgyF":{"name":"fetchSource()","abstract":"

    Exposes a FetchableSource that can fetch sibling objects of this CoreStoreObject instance. This may be the DataStack, a BaseDataTransaction, the NSManagedObjectContext itself, or nil if the obejct’s parent is already deallocated.

    ","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore0aB6ObjectC11querySourceAA09QueryableE0_pSgyF":{"name":"querySource()","abstract":"

    Exposes a QueryableSource that can query attributes and aggregate values. This may be the DataStack, a BaseDataTransaction, the NSManagedObjectContext itself, or nil if the obejct’s parent is already deallocated.

    ","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore0aB6ObjectC14refreshAsFaultyyF":{"name":"refreshAsFault()","abstract":"

    Re-faults the object to use the latest values from the persistent store

    ","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore0aB6ObjectC15refreshAndMergeyyF":{"name":"refreshAndMerge()","abstract":"

    Re-faults the object to use the latest values from the persistent store and merges previously pending changes back

    ","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore13DynamicObjectP14cs_forceCreate17entityDescription4into8assignToxSo08NSEntityI0C_So09NSManagedD7ContextCSo012NSPersistentB0CtFZ":{"name":"cs_forceCreate(entityDescription:into:assignTo:)","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore13DynamicObjectP10cs_fromRaw6objectxSo09NSManagedD0C_tFZ":{"name":"cs_fromRaw(object:)","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore13DynamicObjectP10cs_matches6objectSbSo09NSManagedD0C_tFZ":{"name":"cs_matches(object:)","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore13DynamicObjectP5cs_idSo09NSManagedD2IDCyF":{"name":"cs_id()","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore13DynamicObjectP8cs_toRawSo09NSManagedD0CyF":{"name":"cs_toRaw()","parent_name":"CoreStoreObject"},"Classes/XcodeDataModelSchema.html#/s:9CoreStore20XcodeDataModelSchemaC4from9modelName6bundle14migrationChainSayACG03allF0_SS07currentE7VersiontSS_So8NSBundleCAA09MigrationL0VtFZ":{"name":"from(modelName:bundle:migrationChain:)","abstract":"

    Creates a XcodeDataModelSchema for each of the models declared in the specified (.xcdatamodeld) model file.

    ","parent_name":"XcodeDataModelSchema"},"Classes/XcodeDataModelSchema.html#/s:9CoreStore20XcodeDataModelSchemaC9modelName6bundleACSS_So8NSBundleCtcfc":{"name":"init(modelName:bundle:)","abstract":"

    Initializes an XcodeDataModelSchema from an *.xcdatamodeld version name and its containing Bundle.

    ","parent_name":"XcodeDataModelSchema"},"Classes/XcodeDataModelSchema.html#/s:9CoreStore20XcodeDataModelSchemaC9modelName0G14VersionFileURLACSS_10Foundation0K0Vtcfc":{"name":"init(modelName:modelVersionFileURL:)","abstract":"

    Initializes an XcodeDataModelSchema from an *.xcdatamodeld file URL.

    ","parent_name":"XcodeDataModelSchema"},"Classes/XcodeDataModelSchema.html#/s:9CoreStore13DynamicSchemaP12modelVersionSSvp":{"name":"modelVersion","parent_name":"XcodeDataModelSchema"},"Classes/XcodeDataModelSchema.html#/s:9CoreStore13DynamicSchemaP8rawModelSo015NSManagedObjectF0CyF":{"name":"rawModel()","parent_name":"XcodeDataModelSchema"},"Classes/XcodeDataModelSchema.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"XcodeDataModelSchema"},"Classes/XcodeDataModelSchema.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"XcodeDataModelSchema"},"Classes/CSXcodeDataModelSchema.html#/c:@M@CoreStore@objc(cs)CSXcodeDataModelSchema(im)initWithModelName:modelVersionFileURL:":{"name":"init(modelName:modelVersionFileURL:)","abstract":"

    Initializes an CSXcodeDataModelSchema from an *.xcdatamodeld file URL.

    ","parent_name":"CSXcodeDataModelSchema"},"Classes/CSXcodeDataModelSchema.html#/c:@M@CoreStore@objc(pl)CSDynamicSchema(py)modelVersion":{"name":"modelVersion","parent_name":"CSXcodeDataModelSchema"},"Classes/CSXcodeDataModelSchema.html#/c:@M@CoreStore@objc(pl)CSDynamicSchema(im)rawModel":{"name":"rawModel()","parent_name":"CSXcodeDataModelSchema"},"Classes/CSXcodeDataModelSchema.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSXcodeDataModelSchema"},"Classes/CSXcodeDataModelSchema.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSXcodeDataModelSchema"},"Classes/CSWhere.html#/c:@M@CoreStore@objc(cs)CSWhere(py)predicate":{"name":"predicate","abstract":"

    The internal NSPredicate instance for the Where clause

    ","parent_name":"CSWhere"},"Classes/CSWhere.html#/c:@M@CoreStore@objc(cs)CSWhere(im)initWithValue:":{"name":"init(value:)","abstract":"

    Initializes a CSWhere clause with a predicate that always evaluates to the specified boolean value

    ","parent_name":"CSWhere"},"Classes/CSWhere.html#/c:@M@CoreStore@objc(cs)CSWhere(im)initWithFormat:argumentArray:":{"name":"init(format:argumentArray:)","abstract":"

    Initializes a CSWhere clause with a predicate using the specified string format and arguments

    ","parent_name":"CSWhere"},"Classes/CSWhere.html#/c:@M@CoreStore@objc(cs)CSWhere(im)initWithKeyPath:isEqualTo:":{"name":"init(keyPath:isEqualTo:)","abstract":"

    Initializes a CSWhere clause that compares equality

    ","parent_name":"CSWhere"},"Classes/CSWhere.html#/c:@M@CoreStore@objc(cs)CSWhere(im)initWithKeyPath:isMemberOf:":{"name":"init(keyPath:isMemberOf:)","abstract":"

    Initializes a CSWhere clause that compares membership

    ","parent_name":"CSWhere"},"Classes/CSWhere.html#/c:@M@CoreStore@objc(cs)CSWhere(im)initWithPredicate:":{"name":"init(predicate:)","abstract":"

    Initializes a CSWhere clause with an NSPredicate

    ","parent_name":"CSWhere"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC6commityyyAA0aB5ErrorOSgcF":{"name":"commit(_:)","abstract":"

    Saves the transaction changes asynchronously. For an UnsafeDataTransaction, multiple commits are allowed, although it is the developer’s responsibility to ensure a reasonable leeway to prevent blocking the main thread.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC13commitAndWaityyKF":{"name":"commitAndWait()","abstract":"

    Saves the transaction changes and waits for completion synchronously. For an UnsafeDataTransaction, multiple commits are allowed, although it is the developer’s responsibility to ensure a reasonable leeway to prevent blocking the main thread.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC8rollbackyyF":{"name":"rollback()","abstract":"

    Rolls back the transaction.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC4undoyyF":{"name":"undo()","abstract":"

    Undo’s the last change made to the transaction.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC5flushyyF":{"name":"flush()","abstract":"

    Immediately flushes all pending changes to the transaction’s observers. This is useful in conjunction with ListMonitors and ObjectMonitors created from UnsafeDataTransactions used to manage temporary scratch data.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC5flush7closureyyyKXE_tKF":{"name":"flush(closure:)","abstract":"

    Flushes all pending changes to the transaction’s observers at the end of the closure‘s execution. This is useful in conjunction with ListMonitors and ObjectMonitors created from UnsafeDataTransactions used to manage temporary scratch data.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC4redoyyF":{"name":"redo()","abstract":"

    Redo’s the last undone change to the transaction.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC05beginC012supportsUndoACSb_tF":{"name":"beginUnsafe(supportsUndo:)","abstract":"

    Begins a child transaction where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC30createFetchedResultsControllerySo09NSFetchedhI0CyxGAA4FromVyxG_AA9SectionByVyxGAA11FetchClause_pdtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(_:_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from the UnsafeDataTransaction. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC30createFetchedResultsControllerySo09NSFetchedhI0CyxGAA4FromVyxG_AA9SectionByVyxGSayAA11FetchClause_pGtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(_:_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from the UnsafeDataTransaction. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC30createFetchedResultsControllerySo09NSFetchedhI0CyxGAA4FromVyxG_AA11FetchClause_pdtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from the UnsafeDataTransaction. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC30createFetchedResultsControllerySo09NSFetchedhI0CyxGAA4FromVyxG_SayAA11FetchClause_pGtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from the UnsafeDataTransaction. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC13monitorObjectyAA0G7MonitorCyxGxAA07DynamicG0RzlF":{"name":"monitorObject(_:)","abstract":"

    Creates a ObjectMonitor for the specified DynamicObject. Multiple ObjectObservers may then register themselves to be notified when changes are made to the DynamicObject.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC11monitorListyAA0G7MonitorCyxGAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorList(_:_:)","abstract":"

    Creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC11monitorListyAA0G7MonitorCyxGAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorList(_:_:)","abstract":"

    Creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC11monitorListyAA0G7MonitorCy10ObjectTypeQzGxAA021FetchChainableBuilderJ0RzlF":{"name":"monitorList(_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC11monitorList20createAsynchronously__yyAA0G7MonitorCyxGc_AA4FromVyxGAA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorList(createAsynchronously:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC11monitorList20createAsynchronously__yyAA0G7MonitorCyxGc_AA4FromVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorList(createAsynchronously:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC11monitorList20createAsynchronously_yyAA0G7MonitorCy10ObjectTypeQzGc_xtAA021FetchChainableBuilderL0RzlF":{"name":"monitorList(createAsynchronously:_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC20monitorSectionedListyAA0H7MonitorCyxGAA4FromVyxG_AA9SectionByVyxGAA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(_:_:_:)","abstract":"

    Creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC20monitorSectionedListyAA0H7MonitorCyxGAA4FromVyxG_AA9SectionByVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(_:_:_:)","abstract":"

    Creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC20monitorSectionedListyAA0H7MonitorCy10ObjectTypeQzGxAA07Sectioni7BuilderK0RzlF":{"name":"monitorSectionedList(_:)","abstract":"

    Creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified SectionMonitorBuilderType built from a chain of clauses.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC20monitorSectionedList20createAsynchronously___yyAA0H7MonitorCyxGc_AA4FromVyxGAA9SectionByVyxGAA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(createAsynchronously:_:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC20monitorSectionedList20createAsynchronously___yyAA0H7MonitorCyxGc_AA4FromVyxGAA9SectionByVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(createAsynchronously:_:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC20monitorSectionedList20createAsynchronously_yyAA0H7MonitorCy10ObjectTypeQzGc_xtAA07Sectionk7BuilderM0RzlF":{"name":"monitorSectionedList(createAsynchronously:_:)","abstract":"

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified SectionMonitorBuilderType built from a chain of clauses.

    ","parent_name":"UnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)commitWithSuccess::":{"name":"commitWithSuccess(_:_:)","abstract":"

    Saves the transaction changes asynchronously. For a CSUnsafeDataTransaction, multiple commits are allowed, although it is the developer’s responsibility to ensure a reasonable leeway to prevent blocking the main thread.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)commitAndWaitWithError:":{"name":"commitAndWait(error:)","abstract":"

    Saves the transaction changes and waits for completion synchronously. For a CSUnsafeDataTransaction, multiple commits are allowed, although it is the developer’s responsibility to ensure a reasonable leeway to prevent blocking the main thread.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)rollback":{"name":"rollback()","abstract":"

    Rolls back the transaction.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)undo":{"name":"undo()","abstract":"

    Undo’s the last change made to the transaction.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)redo":{"name":"redo()","abstract":"

    Redo’s the last undone change to the transaction.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)flush":{"name":"flush()","abstract":"

    Immediately flushes all pending changes to the transaction’s observers. This is useful in conjunction with ListMonitors and ObjectMonitors created from UnsafeDataTransactions used to manage temporary scratch data.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)flush:":{"name":"flush(_:)","abstract":"

    Flushes all pending changes to the transaction’s observers at the end of the closure‘s execution. This is useful in conjunction with ListMonitors and ObjectMonitors created from UnsafeDataTransactions used to manage temporary scratch data.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)beginUnsafe":{"name":"beginUnsafe()","abstract":"

    Begins a child transaction where NSManagedObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)beginUnsafeWithSupportsUndo:":{"name":"beginUnsafeWithSupportsUndo(_:)","abstract":"

    Begins a child transaction where NSManagedObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)unsafeContext":{"name":"unsafeContext()","abstract":"

    Returns the NSManagedObjectContext for this unsafe transaction. Use only for cases where external frameworks need an NSManagedObjectContext instance to work with.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypeP9SwiftTypeQa":{"name":"SwiftType","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSUnsafeDataTransaction"},"Classes/UnsafeDataModelSchema.html#/s:9CoreStore21UnsafeDataModelSchemaC9modelName0G0ACSS_So015NSManagedObjectE0Ctcfc":{"name":"init(modelName:model:)","abstract":"

    Initializes a UnsafeDataModelSchema from an NSManagedObjectModel.

    ","parent_name":"UnsafeDataModelSchema"},"Classes/UnsafeDataModelSchema.html#/s:9CoreStore13DynamicSchemaP12modelVersionSSvp":{"name":"modelVersion","parent_name":"UnsafeDataModelSchema"},"Classes/UnsafeDataModelSchema.html#/s:9CoreStore13DynamicSchemaP8rawModelSo015NSManagedObjectF0CyF":{"name":"rawModel()","parent_name":"UnsafeDataModelSchema"},"Classes/UnsafeDataModelSchema.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"UnsafeDataModelSchema"},"Classes/UnsafeDataModelSchema.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"UnsafeDataModelSchema"},"Classes/CSUnsafeDataModelSchema.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataModelSchema(im)initWithModelName:model:":{"name":"init(modelName:model:)","abstract":"

    Initializes a CSUnsafeDataModelSchema from an NSManagedObjectModel.

    ","parent_name":"CSUnsafeDataModelSchema"},"Classes/CSUnsafeDataModelSchema.html#/c:@M@CoreStore@objc(pl)CSDynamicSchema(py)modelVersion":{"name":"modelVersion","parent_name":"CSUnsafeDataModelSchema"},"Classes/CSUnsafeDataModelSchema.html#/c:@M@CoreStore@objc(pl)CSDynamicSchema(im)rawModel":{"name":"rawModel()","parent_name":"CSUnsafeDataModelSchema"},"Classes/CSUnsafeDataModelSchema.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSUnsafeDataModelSchema"},"Classes/CSUnsafeDataModelSchema.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSUnsafeDataModelSchema"},"Classes/CSTweak.html#/c:@M@CoreStore@objc(cs)CSTweak(py)block":{"name":"block","abstract":"

    The block to customize the NSFetchRequest

    ","parent_name":"CSTweak"},"Classes/CSTweak.html#/c:@M@CoreStore@objc(cs)CSTweak(im)initWithBlock:":{"name":"init(block:)","abstract":"

    Initializes a CSTweak clause with a closure where the NSFetchRequest may be configured.

    ","parent_name":"CSTweak"},"Classes/CSTweak.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSTweak"},"Classes/CSTweak.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSTweak"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore26SynchronousDataTransactionC6cancels5NeverOyKF":{"name":"cancel()","abstract":"

    Cancels a transaction by throwing CoreStoreError.userCancelled.

    ","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore26SynchronousDataTransactionC6createyxAA4IntoVyxGAA13DynamicObjectRzlF":{"name":"create(_:)","abstract":"

    Creates a new NSManagedObject or CoreStoreObject with the specified entity type.

    ","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore26SynchronousDataTransactionC4edityxSgAeA13DynamicObjectRzlF":{"name":"edit(_:)","abstract":"

    Returns an editable proxy of a specified NSManagedObject or CoreStoreObject.

    ","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore26SynchronousDataTransactionC4edityxSgAA4IntoVyxG_So17NSManagedObjectIDCtAA07DynamicI0RzlF":{"name":"edit(_:_:)","abstract":"

    Returns an editable proxy of the object with the specified NSManagedObjectID.

    ","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore26SynchronousDataTransactionC6deleteyyxSgAA13DynamicObjectRzlF":{"name":"delete(_:)","abstract":"

    Deletes a specified NSManagedObject or CoreStoreObject.

    ","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore26SynchronousDataTransactionC6deleteyyxSg_A2EdtAA13DynamicObjectRzlF":{"name":"delete(_:_:_:)","abstract":"

    Deletes the specified DynamicObjects.

    ","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore26SynchronousDataTransactionC6deleteyyxSTRzAA13DynamicObject7ElementRpzlF":{"name":"delete(_:)","abstract":"

    Deletes the specified DynamicObjects.

    ","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"SynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSSynchronousDataTransaction(im)commitAndWaitWithError:":{"name":"commitAndWait(error:)","abstract":"

    Saves the transaction changes and waits for completion synchronously. This method should not be used after the -commitAndWaitWithError: method was already called once.

    ","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSSynchronousDataTransaction(im)createInto:":{"name":"createInto(_:)","abstract":"

    Creates a new NSManagedObject with the specified entity type.

    ","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSSynchronousDataTransaction(im)editObject:":{"name":"editObject(_:)","abstract":"

    Returns an editable proxy of a specified NSManagedObject. This method should not be used after the -commitAndWait method was already called once.

    ","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSSynchronousDataTransaction(im)editInto:objectID:":{"name":"editInto(_:objectID:)","abstract":"

    Returns an editable proxy of the object with the specified NSManagedObjectID. This method should not be used after the -commitAndWait method was already called once.

    ","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSSynchronousDataTransaction(im)deleteObject:":{"name":"deleteObject(_:)","abstract":"

    Deletes a specified NSManagedObject. This method should not be used after the -commitAndWait method was already called once.

    ","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSSynchronousDataTransaction(im)deleteObjects:":{"name":"deleteObjects(_:)","abstract":"

    Deletes the specified NSManagedObjects.

    ","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypeP9SwiftTypeQa":{"name":"SwiftType","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSetupResult.html#/c:@M@CoreStore@objc(cs)CSSetupResult(py)isSuccess":{"name":"isSuccess","abstract":"

    YES if adding the CSStorageInterface to the CSDataStack succeeded, NO otherwise.

    ","parent_name":"CSSetupResult"},"Classes/CSSetupResult.html#/c:@M@CoreStore@objc(cs)CSSetupResult(py)isFailure":{"name":"isFailure","abstract":"

    YES if adding the CSStorageInterface to the CSDataStack failed, NO otherwise. When YES, the error property returns the actual NSError for the failure.

    ","parent_name":"CSSetupResult"},"Classes/CSSetupResult.html#/c:@M@CoreStore@objc(cs)CSSetupResult(py)storage":{"name":"storage","abstract":"

    A CSStorageInterface instance if the commit operation for the transaction succeeded. Returns nil otherwise.

    ","parent_name":"CSSetupResult"},"Classes/CSSetupResult.html#/c:@M@CoreStore@objc(cs)CSSetupResult(py)error":{"name":"error","abstract":"

    The NSError for a failed commit operation, or nil if the commit succeeded

    ","parent_name":"CSSetupResult"},"Classes/CSSetupResult.html#/c:@M@CoreStore@objc(cs)CSSetupResult(im)handleSuccess:failure:":{"name":"handleSuccess(_:failure:)","abstract":"

    If the result was a success, the success block is executed with the CSStorageInterface instance that was added to the CSDataStack. If the result was a failure, the failure block is executed with an NSError argument pertaining to the actual error.

    ","parent_name":"CSSetupResult"},"Classes/CSSetupResult.html#/c:@M@CoreStore@objc(cs)CSSetupResult(im)handleSuccess:":{"name":"handleSuccess(_:)","abstract":"

    If the result was a success, the success block is executed with a BOOL argument that indicates if there were any changes made. If the result was a failure, this method does nothing.

    ","parent_name":"CSSetupResult"},"Classes/CSSetupResult.html#/c:@M@CoreStore@objc(cs)CSSetupResult(im)handleFailure:":{"name":"handleFailure(_:)","abstract":"

    If the result was a failure, the failure block is executed with an NSError argument pertaining to the actual error. If the result was a success, this method does nothing.

    ","parent_name":"CSSetupResult"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(im)initWithNumberTerm:":{"name":"init(numberTerm:)","abstract":"

    Creates a CSSelect clause for querying NSNumber values.

    ","parent_name":"CSSelect"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(im)initWithDecimalTerm:":{"name":"init(decimalTerm:)","abstract":"

    Creates a CSSelect clause for querying NSDecimalNumber values.

    ","parent_name":"CSSelect"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(im)initWithStringTerm:":{"name":"init(stringTerm:)","abstract":"

    Creates a CSSelect clause for querying NSString values.

    ","parent_name":"CSSelect"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(im)initWithDateTerm:":{"name":"init(dateTerm:)","abstract":"

    Creates a CSSelect clause for querying NSDate values.

    ","parent_name":"CSSelect"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(im)initWithDataTerm:":{"name":"init(dataTerm:)","abstract":"

    Creates a CSSelect clause for querying NSData values.

    ","parent_name":"CSSelect"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(im)initWithObjectIDTerm":{"name":"init(objectIDTerm:)","abstract":"

    Creates a CSSelect clause for querying NSManagedObjectID values.

    ","parent_name":"CSSelect"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(cm)dictionaryForTerm:":{"name":"dictionaryForTerm(_:)","abstract":"

    Creates a CSSelect clause for querying NSDictionary of an entity’s attribute keys and values.

    ","parent_name":"CSSelect"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(cm)dictionaryForTerms:":{"name":"dictionaryForTerms(_:)","abstract":"

    Creates a CSSelect clause for querying NSDictionary of an entity’s attribute keys and values.

    ","parent_name":"CSSelect"},"Classes/CSSelectTerm.html#/c:@M@CoreStore@objc(cs)CSSelectTerm(im)initWithKeyPath:":{"name":"init(keyPath:)","abstract":"

    Provides a CSSelectTerm to a CSSelect clause for querying an entity attribute.

    ","parent_name":"CSSelectTerm"},"Classes/CSSelectTerm.html#/c:@M@CoreStore@objc(cs)CSSelectTerm(cm)average:as:":{"name":"average(_:as:)","abstract":"

    Provides a CSSelectTerm to a CSSelect clause for querying the average value of an attribute.

    ","parent_name":"CSSelectTerm"},"Classes/CSSelectTerm.html#/c:@M@CoreStore@objc(cs)CSSelectTerm(cm)count:as:":{"name":"count(_:as:)","abstract":"

    Provides a CSSelectTerm to a CSSelect clause for a count query.

    ","parent_name":"CSSelectTerm"},"Classes/CSSelectTerm.html#/c:@M@CoreStore@objc(cs)CSSelectTerm(cm)maximum:as:":{"name":"maximum(_:as:)","abstract":"

    Provides a CSSelectTerm to a CSSelect clause for querying the maximum value for an attribute.

    ","parent_name":"CSSelectTerm"},"Classes/CSSelectTerm.html#/c:@M@CoreStore@objc(cs)CSSelectTerm(cm)minimum:as:":{"name":"minimum(_:as:)","abstract":"

    Provides a CSSelectTerm to a CSSelect clause for querying the minimum value for an attribute.

    ","parent_name":"CSSelectTerm"},"Classes/CSSelectTerm.html#/c:@M@CoreStore@objc(cs)CSSelectTerm(cm)sum:as:":{"name":"sum(_:as:)","abstract":"

    Provides a CSSelectTerm to a CSSelect clause for querying the sum value for an attribute.

    ","parent_name":"CSSelectTerm"},"Classes/CSSelectTerm.html#/c:@M@CoreStore@objc(cs)CSSelectTerm(cm)objectIDAs:":{"name":"objectIDAs(_:)","abstract":"

    Provides a CSSelectTerm to a CSSelect clause for querying the NSManagedObjectID.

    ","parent_name":"CSSelectTerm"},"Classes/CSSectionBy.html#/c:@M@CoreStore@objc(cs)CSSectionBy(cm)keyPath:":{"name":"keyPath(_:)","abstract":"

    Initializes a CSSectionBy clause with the key path to use to group CSListMonitor objects into sections

    ","parent_name":"CSSectionBy"},"Classes/CSSectionBy.html#/c:@M@CoreStore@objc(cs)CSSectionBy(cm)keyPath:sectionIndexTransformer:":{"name":"keyPath(_:sectionIndexTransformer:)","abstract":"

    Initializes a CSSectionBy clause with the key path to use to group CSListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"CSSectionBy"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C7fileURL13configuration25migrationMappingProviders19localStorageOptionsAC10Foundation0E0V_SSSgSayAA06SchemaH8Provider_pGAA05LocalkL0Vtcfc":{"name":"init(fileURL:configuration:migrationMappingProviders:localStorageOptions:)","abstract":"

    Initializes an SQLite store interface from the given SQLite file URL. When this instance is passed to the DataStack‘s addStorage() methods, a new SQLite file will be created if it does not exist.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C8fileName13configuration25migrationMappingProviders19localStorageOptionsACSS_SSSgSayAA06SchemaH8Provider_pGAA05LocalkL0Vtcfc":{"name":"init(fileName:configuration:migrationMappingProviders:localStorageOptions:)","abstract":"

    Initializes an SQLite store interface from the given SQLite file name. When this instance is passed to the DataStack‘s addStorage() methods, a new SQLite file will be created if it does not exist.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0CACycfc":{"name":"init()","abstract":"

    Initializes an SQLiteStore with an all-default settings: a fileURL pointing to a .sqlite file in the Application Support/ directory (or the Caches/ directory on tvOS), a nil configuration pertaining to the Default configuration, a migrationMappingProviders set to empty, and localStorageOptions set to .AllowProgresiveMigration.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C6legacy8fileName13configuration25migrationMappingProviders19localStorageOptionsACSS_SSSgSayAA06SchemaI8Provider_pGAA05LocallM0VtFZ":{"name":"legacy(fileName:configuration:migrationMappingProviders:localStorageOptions:)","abstract":"

    Initializes an SQLite store interface from the given SQLite file name. When this instance is passed to the DataStack‘s addStorage() methods, a new SQLite file will be created if it does not exist.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C6legacyACyFZ":{"name":"legacy()","abstract":"

    Initializes an LegacySQLiteStore with an all-default settings: a fileURL pointing to a .sqlite file in the Application Support directory (or the Caches directory on tvOS), a nil configuration pertaining to the Default configuration, a migrationMappingProviders set to empty, and localStorageOptions set to .AllowProgresiveMigration.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C8fileSizes6UInt64VSgyF":{"name":"fileSize()","abstract":"

    Queries the file size (in bytes) of the store, or nil if the file does not exist yet

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C9storeTypeSSvpZ":{"name":"storeType","abstract":"

    The string identifier for the NSPersistentStore‘s type property. For SQLiteStores, this is always set to NSSQLiteStoreType.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C13configurationSSSgvp":{"name":"configuration","abstract":"

    The configuration name in the model file

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C12storeOptionsSDys11AnyHashableVypGSgvp":{"name":"storeOptions","abstract":"

    The options dictionary for the NSPersistentStore. For SQLiteStores, this is always set to

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C20cs_didAddToDataStackyyAA0hI0CF":{"name":"cs_didAddToDataStack(_:)","abstract":"

    Do not call directly. Used by the DataStack internally.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C25cs_didRemoveFromDataStackyyAA0hI0CF":{"name":"cs_didRemoveFromDataStack(_:)","abstract":"

    Do not call directly. Used by the DataStack internally.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C7fileURL10Foundation0E0Vvp":{"name":"fileURL","abstract":"

    The NSURL that points to the SQLite file

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C25migrationMappingProvidersSayAA06SchemaE8Provider_pGvp":{"name":"migrationMappingProviders","abstract":"

    An array of SchemaMappingProviders that provides the complete mapping models for custom migrations.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C19localStorageOptionsAA05LocaleF0Vvp":{"name":"localStorageOptions","abstract":"

    Options that tell the DataStack how to setup the persistent store

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C10dictionary10forOptionsSDys11AnyHashableVypGSgAA012LocalStorageF0V_tF":{"name":"dictionary(forOptions:)","abstract":"

    The options dictionary for the specified LocalStorageOptions

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C25cs_finalizeStorageAndWait14soureModelHintySo015NSManagedObjectJ0C_tKF":{"name":"cs_finalizeStorageAndWait(soureModelHint:)","abstract":"

    Called by the DataStack to perform checkpoint operations on the storage. For SQLiteStore, this converts the database’s WAL journaling mode to DELETE to force a checkpoint.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C22cs_eraseStorageAndWait8metadata14soureModelHintySDySSypG_So015NSManagedObjectK0CSgtKF":{"name":"cs_eraseStorageAndWait(metadata:soureModelHint:)","abstract":"

    Called by the DataStack to perform actual deletion of the store file from disk. Do not call directly! The sourceModel argument is a hint for the existing store’s model version. For SQLiteStore, this converts the database’s WAL journaling mode to DELETE before deleting the file.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"SQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(im)initWithFileURL:configuration:localStorageOptions:":{"name":"init(fileURL:configuration:localStorageOptions:)","abstract":"

    Initializes an SQLite store interface from the given SQLite file URL. When this instance is passed to the CSDataStack‘s -addStorage*: methods, a new SQLite file will be created if it does not exist.

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(im)initWithFileName:configuration:localStorageOptions:":{"name":"init(fileName:configuration:localStorageOptions:)","abstract":"

    Initializes an SQLite store interface from the given SQLite file name. When this instance is passed to the CSDataStack‘s -addStorage*: methods, a new SQLite file will be created if it does not exist.

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(im)init":{"name":"init()","abstract":"

    Initializes an CSSQLiteStore with an all-default settings: a fileURL pointing to a .sqlite file in the Application Support/ directory (or the Caches/ directory on tvOS), a nil configuration pertaining to the Default configuration, and localStorageOptions set to [CSLocalStorageOptions none].

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(py)fileURL":{"name":"fileURL","abstract":"

    The NSURL that points to the SQLite file

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(py)migrationMappingProviders":{"name":"migrationMappingProviders","abstract":"

    An array of SchemaMappingProviders that provides the complete mapping models for custom migrations. This is currently only supported for Swift code.

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(py)localStorageOptions":{"name":"localStorageOptions","abstract":"

    Options that tell the CSDataStack how to setup the persistent store

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(cpy)storeType":{"name":"storeType","abstract":"

    The string identifier for the NSPersistentStore‘s type property. For CSSQLiteStores, this is always set to NSSQLiteStoreType.

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(py)configuration":{"name":"configuration","abstract":"

    The configuration name in the model file

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(py)storeOptions":{"name":"storeOptions","abstract":"

    The options dictionary for the NSPersistentStore. For CSSQLiteStores, this is always set to

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(im)cs_eraseStorageAndWaitWithMetadata:soureModelHint:error:":{"name":"cs_eraseStorageAndWait(metadata:soureModelHint:error:)","abstract":"

    Called by the CSDataStack to perform actual deletion of the store file from disk. Do not call directly! The sourceModel argument is a hint for the existing store’s model version. For CSSQLiteStore, this converts the database’s WAL journaling mode to DELETE before deleting the file.

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSSQLiteStore"},"Classes/CSOrderBy.html#/c:@M@CoreStore@objc(cs)CSOrderBy(py)sortDescriptors":{"name":"sortDescriptors","abstract":"

    The list of sort descriptors

    ","parent_name":"CSOrderBy"},"Classes/CSOrderBy.html#/c:@M@CoreStore@objc(cs)CSOrderBy(im)initWithSortDescriptor:":{"name":"init(sortDescriptor:)","abstract":"

    Initializes a CSOrderBy clause with a single sort descriptor

    ","parent_name":"CSOrderBy"},"Classes/CSOrderBy.html#/c:@M@CoreStore@objc(cs)CSOrderBy(im)initWithSortDescriptors:":{"name":"init(sortDescriptors:)","abstract":"

    Initializes a CSOrderBy clause with a list of sort descriptors

    ","parent_name":"CSOrderBy"},"Classes/CSObjectMonitor.html#/s:9CoreStore15CSObjectMonitorC6objectypSgvp":{"name":"object","abstract":"

    Returns the NSManagedObject instance being observed, or nil if the object was already deleted.

    ","parent_name":"CSObjectMonitor"},"Classes/CSObjectMonitor.html#/s:9CoreStore15CSObjectMonitorC15isObjectDeletedSbvp":{"name":"isObjectDeleted","abstract":"

    Returns YES if the NSManagedObject instance being observed still exists, or NO if the object was already deleted.

    ","parent_name":"CSObjectMonitor"},"Classes/CSObjectMonitor.html#/s:9CoreStore15CSObjectMonitorC17addObjectObserveryyAA0cG0_pF":{"name":"addObjectObserver(_:)","abstract":"

    Registers a CSObjectObserver to be notified when changes to the receiver’s object are made.

    ","parent_name":"CSObjectMonitor"},"Classes/CSObjectMonitor.html#/s:9CoreStore15CSObjectMonitorC20removeObjectObserveryyAA0cG0_pF":{"name":"removeObjectObserver(_:)","abstract":"

    Unregisters an CSObjectObserver from receiving notifications for changes to the receiver’s object.

    ","parent_name":"CSObjectMonitor"},"Classes/CSMigrationType.html#/c:@M@CoreStore@objc(cs)CSMigrationType(py)needsMigration":{"name":"needsMigration","abstract":"

    Returns YES if the CSMigrationType‘s sourceVersion and destinationVersion do not match. Returns NO otherwise.

    ","parent_name":"CSMigrationType"},"Classes/CSMigrationType.html#/c:@M@CoreStore@objc(cs)CSMigrationType(py)sourceVersion":{"name":"sourceVersion","abstract":"

    Returns the source model version for the migration type. If no migration is required, sourceVersion will be equal to the destinationVersion.

    ","parent_name":"CSMigrationType"},"Classes/CSMigrationType.html#/c:@M@CoreStore@objc(cs)CSMigrationType(py)destinationVersion":{"name":"destinationVersion","abstract":"

    Returns the destination model version for the migration type. If no migration is required, destinationVersion will be equal to the sourceVersion.

    ","parent_name":"CSMigrationType"},"Classes/CSMigrationType.html#/c:@M@CoreStore@objc(cs)CSMigrationType(py)isLightweightMigration":{"name":"isLightweightMigration","abstract":"

    Returns YES if the CSMigrationType is a lightweight migration. Used as syntactic sugar.

    ","parent_name":"CSMigrationType"},"Classes/CSMigrationType.html#/c:@M@CoreStore@objc(cs)CSMigrationType(py)isHeavyweightMigration":{"name":"isHeavyweightMigration","abstract":"

    Returns YES if the CSMigrationType is a heavyweight migration. Used as syntactic sugar.

    ","parent_name":"CSMigrationType"},"Classes/CSMigrationType.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSMigrationType"},"Classes/CSMigrationType.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSMigrationType"},"Classes/CSMigrationResult.html#/c:@M@CoreStore@objc(cs)CSMigrationResult(py)isSuccess":{"name":"isSuccess","abstract":"

    YES if the migration succeeded, NO otherwise

    ","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/c:@M@CoreStore@objc(cs)CSMigrationResult(py)isFailure":{"name":"isFailure","abstract":"

    YES if the migration failed, NO otherwise

    ","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/c:@M@CoreStore@objc(cs)CSMigrationResult(py)migrationTypes":{"name":"migrationTypes","abstract":"

    YES if the migration succeeded, NO otherwise

    ","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/c:@M@CoreStore@objc(cs)CSMigrationResult(py)error":{"name":"error","abstract":"

    The NSError for a failed migration, or nil if the migration succeeded

    ","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/c:@M@CoreStore@objc(cs)CSMigrationResult(im)handleSuccess:failure:":{"name":"handleSuccess(_:failure:)","abstract":"

    If the result was a success, the success block is executed with an array of CSMigrationTypes that indicates the migration steps completed. If the result was a failure, the failure block is executed with an NSError argument pertaining to the actual error.

    ","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/c:@M@CoreStore@objc(cs)CSMigrationResult(im)handleSuccess:":{"name":"handleSuccess(_:)","abstract":"

    If the result was a success, the success block is executed with an array of CSMigrationTypes that indicates the migration steps completed. If the result was a failure, this method does nothing.

    ","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/c:@M@CoreStore@objc(cs)CSMigrationResult(im)handleFailure:":{"name":"handleFailure(_:)","abstract":"

    If the result was a failure, the failure block is executed with an NSError argument pertaining to the actual error. If the result was a success, this method does nothing.

    ","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSMigrationResult"},"Classes/CSListMonitor.html#/s:9CoreStore13CSListMonitorCyypSicip":{"name":"subscript(_:)","abstract":"

    Returns the object at the given index within the first section. This subscript indexer is typically used for CSListMonitors created without section groupings.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectAtSafeIndex:":{"name":"objectAtSafeIndex(_:)","abstract":"

    Returns the object at the given index, or nil if out of bounds. This indexer is typically used for CSListMonitors created without section groupings.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectAtSectionIndex:itemIndex:":{"name":"objectAtSectionIndex(_:itemIndex:)","abstract":"

    Returns the object at the given sectionIndex and itemIndex. This indexer is typically used for CSListMonitors created as sectioned lists.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectAtSafeSectionIndex:safeItemIndex:":{"name":"objectAtSafeSectionIndex(_:safeItemIndex:)","abstract":"

    Returns the object at the given section and item index, or nil if out of bounds. This indexer is typically used for CSListMonitors created as sectioned lists.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectAtIndexPath:":{"name":"objectAtIndexPath(_:)","abstract":"

    Returns the object at the given NSIndexPath. This subscript indexer is typically used for CSListMonitors created as sectioned lists.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectAtSafeIndexPath:":{"name":"objectAtSafeIndexPath(_:)","abstract":"

    Returns the object at the given NSIndexPath, or nil if out of bounds. This subscript indexer is typically used for CSListMonitors created as sectioned lists.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)hasObjects":{"name":"hasObjects()","abstract":"

    Checks if the CSListMonitor has at least one object in any section.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)hasObjectsInSection:":{"name":"hasObjectsInSection(_:)","abstract":"

    Checks if the CSListMonitor has at least one object the specified section.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectsInAllSections":{"name":"objectsInAllSections()","abstract":"

    Returns all objects in all sections

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectsInSection:":{"name":"objectsInSection(_:)","abstract":"

    Returns all objects in the specified section

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectsInSafeSectionWithSafeSectionIndex:":{"name":"objectsInSafeSection(safeSectionIndex:)","abstract":"

    Returns all objects in the specified section, or nil if out of bounds.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)numberOfSections":{"name":"numberOfSections()","abstract":"

    Returns the number of sections

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)numberOfObjects":{"name":"numberOfObjects()","abstract":"

    Returns the number of objects in all sections

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)numberOfObjectsInSection:":{"name":"numberOfObjectsInSection(_:)","abstract":"

    Returns the number of objects in the specified section

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)numberOfObjectsInSafeSectionWithSafeSectionIndex:":{"name":"numberOfObjectsInSafeSection(safeSectionIndex:)","abstract":"

    Returns the number of objects in the specified section, or nil if out of bounds.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)sectionInfoAtIndex:":{"name":"sectionInfoAtIndex(_:)","abstract":"

    Returns the NSFetchedResultsSectionInfo for the specified section

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)sectionInfoAtSafeSectionIndexWithSafeSectionIndex:":{"name":"sectionInfoAtSafeSectionIndex(safeSectionIndex:)","abstract":"

    Returns the NSFetchedResultsSectionInfo for the specified section, or nil if out of bounds.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)sections":{"name":"sections()","abstract":"

    Returns the NSFetchedResultsSectionInfos for all sections

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)targetSectionForSectionIndexTitleWithTitle:index:":{"name":"targetSectionForSectionIndexTitle(title:index:)","abstract":"

    Returns the target section for a specified Section Index title and index.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)sectionIndexTitles":{"name":"sectionIndexTitles()","abstract":"

    Returns the section index titles for all sections

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)indexOf:":{"name":"indexOf(_:)","abstract":"

    Returns the index of the NSManagedObject if it exists in the CSListMonitor‘s fetched objects, or nil if not found.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)indexPathOf:":{"name":"indexPathOf(_:)","abstract":"

    Returns the NSIndexPath of the NSManagedObject if it exists in the CSListMonitor‘s fetched objects, or nil if not found.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)addListObserver:":{"name":"addListObserver(_:)","abstract":"

    Registers a CSListObserver to be notified when changes to the receiver’s list occur.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/s:9CoreStore13CSListMonitorC21addListObjectObserveryyAA0cgH0_pF":{"name":"addListObjectObserver(_:)","abstract":"

    Registers a CSListObjectObserver to be notified when changes to the receiver’s list occur.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)addListSectionObserver:":{"name":"addListSectionObserver(_:)","abstract":"

    Registers a CSListSectionObserver to be notified when changes to the receiver’s list occur.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)removeListObserver:":{"name":"removeListObserver(_:)","abstract":"

    Unregisters a CSListObserver from receiving notifications for changes to the receiver’s list.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(py)isPendingRefetch":{"name":"isPendingRefetch","abstract":"

    Returns YES if a call to -refetch: was made to the CSListMonitor and is currently waiting for the fetching to complete. Returns NO otherwise.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)refetch:":{"name":"refetch(_:)","abstract":"

    Asks the CSListMonitor to refetch its objects using the specified series of CSFetchClauses. Note that this method does not execute the fetch immediately; the actual fetching will happen after the NSFetchedResultsController‘s last controllerDidChangeContent(_:) notification completes.

    ","parent_name":"CSListMonitor"},"Classes/CSInto.html#/c:@M@CoreStore@objc(cs)CSInto(py)entityClass":{"name":"entityClass","abstract":"

    The associated NSManagedObject entity class

    ","parent_name":"CSInto"},"Classes/CSInto.html#/c:@M@CoreStore@objc(cs)CSInto(py)configuration":{"name":"configuration","abstract":"

    The NSPersistentStore configuration name to associate objects from.","parent_name":"CSInto"},"Classes/CSInto.html#/c:@M@CoreStore@objc(cs)CSInto(im)initWithEntityClass:":{"name":"init(entityClass:)","abstract":"

    Initializes a CSInto clause with the specified entity class.

    ","parent_name":"CSInto"},"Classes/CSInto.html#/c:@M@CoreStore@objc(cs)CSInto(im)initWithEntityClass:configuration:":{"name":"init(entityClass:configuration:)","abstract":"

    Initializes a CSInto clause with the specified configuration.

    ","parent_name":"CSInto"},"Classes/InMemoryStore.html#/s:9CoreStore08InMemoryB0C13configurationACSSSg_tcfc":{"name":"init(configuration:)","abstract":"

    Initializes an InMemoryStore for the specified configuration

    ","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:9CoreStore08InMemoryB0CACycfc":{"name":"init()","abstract":"

    Initializes an InMemoryStore with the Default configuration

    ","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:9CoreStore08InMemoryB0C9storeTypeSSvpZ":{"name":"storeType","abstract":"

    The string identifier for the NSPersistentStore‘s type property. For InMemoryStores, this is always set to NSInMemoryStoreType.

    ","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:9CoreStore08InMemoryB0C13configurationSSSgvp":{"name":"configuration","abstract":"

    The configuration name in the model file

    ","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:9CoreStore08InMemoryB0C12storeOptionsSDys11AnyHashableVypGSgvp":{"name":"storeOptions","abstract":"

    The options dictionary for the NSPersistentStore. For InMemoryStores, this is always set to nil.

    ","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:9CoreStore08InMemoryB0C20cs_didAddToDataStackyyAA0iJ0CF":{"name":"cs_didAddToDataStack(_:)","abstract":"

    Do not call directly. Used by the DataStack internally.

    ","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:9CoreStore08InMemoryB0C25cs_didRemoveFromDataStackyyAA0iJ0CF":{"name":"cs_didRemoveFromDataStack(_:)","abstract":"

    Do not call directly. Used by the DataStack internally.

    ","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"InMemoryStore"},"Classes/CSInMemoryStore.html#/c:@M@CoreStore@objc(cs)CSInMemoryStore(im)initWithConfiguration:":{"name":"init(configuration:)","abstract":"

    Initializes a CSInMemoryStore for the specified configuration

    ","parent_name":"CSInMemoryStore"},"Classes/CSInMemoryStore.html#/c:@M@CoreStore@objc(cs)CSInMemoryStore(im)init":{"name":"init()","abstract":"

    Initializes a CSInMemoryStore with the Default configuration

    ","parent_name":"CSInMemoryStore"},"Classes/CSInMemoryStore.html#/c:@M@CoreStore@objc(cs)CSInMemoryStore(cpy)storeType":{"name":"storeType","abstract":"

    The string identifier for the NSPersistentStore‘s type property. For CSInMemoryStores, this is always set to NSInMemoryStoreType.

    ","parent_name":"CSInMemoryStore"},"Classes/CSInMemoryStore.html#/c:@M@CoreStore@objc(cs)CSInMemoryStore(py)configuration":{"name":"configuration","abstract":"

    The configuration name in the model file

    ","parent_name":"CSInMemoryStore"},"Classes/CSInMemoryStore.html#/c:@M@CoreStore@objc(cs)CSInMemoryStore(py)storeOptions":{"name":"storeOptions","abstract":"

    The options dictionary for the NSPersistentStore. For CSInMemoryStores, this is always set to nil.

    ","parent_name":"CSInMemoryStore"},"Classes/CSInMemoryStore.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSInMemoryStore"},"Classes/CSInMemoryStore.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSInMemoryStore"},"Classes/CSGroupBy.html#/c:@M@CoreStore@objc(cs)CSGroupBy(py)keyPaths":{"name":"keyPaths","abstract":"

    The list of key path strings to group results with

    ","parent_name":"CSGroupBy"},"Classes/CSGroupBy.html#/c:@M@CoreStore@objc(cs)CSGroupBy(im)initWithKeyPath:":{"name":"init(keyPath:)","abstract":"

    Initializes a CSGroupBy clause with a key path string

    ","parent_name":"CSGroupBy"},"Classes/CSGroupBy.html#/c:@M@CoreStore@objc(cs)CSGroupBy(im)initWithKeyPaths:":{"name":"init(keyPaths:)","abstract":"

    Initializes a CSGroupBy clause with a list of key path strings

    ","parent_name":"CSGroupBy"},"Classes/CSFrom.html#/c:@M@CoreStore@objc(cs)CSFrom(py)entityClass":{"name":"entityClass","abstract":"

    The associated NSManagedObject entity class

    ","parent_name":"CSFrom"},"Classes/CSFrom.html#/c:@M@CoreStore@objc(cs)CSFrom(py)configurations":{"name":"configurations","abstract":"

    The NSPersistentStore configuration names to associate objects from.","parent_name":"CSFrom"},"Classes/CSFrom.html#/c:@M@CoreStore@objc(cs)CSFrom(im)initWithEntityClass:":{"name":"init(entityClass:)","abstract":"

    Initializes a CSFrom clause with the specified entity class.

    ","parent_name":"CSFrom"},"Classes/CSFrom.html#/c:@M@CoreStore@objc(cs)CSFrom(im)initWithEntityClass:configuration:":{"name":"init(entityClass:configuration:)","abstract":"

    Initializes a CSFrom clause with the specified configurations.

    ","parent_name":"CSFrom"},"Classes/CSFrom.html#/c:@M@CoreStore@objc(cs)CSFrom(im)initWithEntityClass:configurations:":{"name":"init(entityClass:configurations:)","abstract":"

    Initializes a CSFrom clause with the specified configurations.

    ","parent_name":"CSFrom"},"Classes/CSError.html#/c:@M@CoreStore@objc(cs)CSError(cpy)errorDomain":{"name":"errorDomain","abstract":"

    The NSError error domain for CSError.

    ","parent_name":"CSError"},"Classes/CSError.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSError"},"Classes/CSError.html#/s:9CoreStore7CSErrorCyAcA0aB5ErrorOcfc":{"name":"init(_:)","abstract":"

    Do not call directly!

    ","parent_name":"CSError"},"Classes/DataStack.html#/s:9CoreStore9DataStackC15applicationNameSSvpZ":{"name":"applicationName","abstract":"

    The resolved application name, used by the DataStack as the default Xcode model name (.xcdatamodel filename) if not explicitly provided.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC14xcodeModelName6bundle14migrationChainACSS_So8NSBundleCAA09MigrationJ0Vtcfc":{"name":"init(xcodeModelName:bundle:migrationChain:)","abstract":"

    Convenience initializer for DataStack that creates a SchemaHistory from the model with the specified modelName in the specified bundle.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC__14migrationChainAcA13DynamicSchema_p_AaE_pdAA09MigrationF0Vtcfc":{"name":"init(_:_:migrationChain:)","abstract":"

    Convenience initializer for DataStack that creates a SchemaHistory from a list of DynamicSchema versions.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13schemaHistoryAcA06SchemaF0C_tcfc":{"name":"init(schemaHistory:)","abstract":"

    Initializes a DataStack from a SchemaHistory instance.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC12modelVersionSSvp":{"name":"modelVersion","abstract":"

    Returns the DataStack‘s current model version. StorageInterfaces added to the stack will be migrated to this version.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11modelSchemaAA07DynamicF0_pvp":{"name":"modelSchema","abstract":"

    Returns the DataStack‘s current model schema. StorageInterfaces added to the stack will be migrated to this version.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17entityTypesByName3forSDySSSo15NSManagedObjectCmGAGm_tF":{"name":"entityTypesByName(for:)","abstract":"

    Returns the entity name-to-class type mapping from the DataStack‘s model.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17entityTypesByName3forSDySSAA0aB6ObjectCmGAGm_tF":{"name":"entityTypesByName(for:)","abstract":"

    Returns the entity name-to-class type mapping from the DataStack‘s model.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17entityDescription3forSo08NSEntityF0CSgSo15NSManagedObjectCm_tF":{"name":"entityDescription(for:)","abstract":"

    Returns the NSEntityDescription for the specified NSManagedObject subclass.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17entityDescription3forSo08NSEntityF0CSgAA0aB6ObjectCm_tF":{"name":"entityDescription(for:)","abstract":"

    Returns the NSEntityDescription for the specified CoreStoreObject subclass.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8objectID20forURIRepresentationSo015NSManagedObjectF0CSg10Foundation3URLV_tF":{"name":"objectID(forURIRepresentation:)","abstract":"

    Returns the NSManagedObjectID for the specified object URI if it exists in the persistent store.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17addStorageAndWaitAA06SQLiteB0CyKF":{"name":"addStorageAndWait()","abstract":"

    Creates an SQLiteStore with default parameters and adds it to the stack. This method blocks until completion.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17addStorageAndWaityxxKAA0F9InterfaceRzlF":{"name":"addStorageAndWait(_:)","abstract":"

    Adds a StorageInterface to the stack and blocks until completion.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17addStorageAndWaityxxKAA05LocalF0RzlF":{"name":"addStorageAndWait(_:)","abstract":"

    Adds a LocalStorage to the stack and blocks until completion.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17addStorageAndWaityxxKAA05CloudF0RzlF":{"name":"addStorageAndWait(_:)","abstract":"

    Adds a CloudStorage to the stack and blocks until completion.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8userInfoAA04UserF0Cvp":{"name":"userInfo","abstract":"

    Allow external libraries to store custom data in the DataStack. App code should rarely have a need for this.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"DataStack"},"Classes/DataStack.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10addStorage_10completionyx_ys6ResultOyxAA0aB5ErrorOGctAA0F9InterfaceRzlF":{"name":"addStorage(_:completion:)","abstract":"

    Asynchronously adds a StorageInterface to the stack. Migrations are also initiated by default.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10addStorage_10completionSo10NSProgressCSgx_ys6ResultOyxAA0aB5ErrorOGctAA05LocalF0RzlF":{"name":"addStorage(_:completion:)","abstract":"

    Asynchronously adds a LocalStorage to the stack. Migrations are also initiated by default.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10addStorage_10completionyx_ys6ResultOyxAA0aB5ErrorOGctAA05CloudF0RzlF":{"name":"addStorage(_:completion:)","abstract":"

    Asynchronously adds a CloudStorage to the stack. Migrations are also initiated by default.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC22upgradeStorageIfNeeded_10completionSo10NSProgressCSgx_ys6ResultOySayAA13MigrationTypeOGAA0aB5ErrorOGctKAA05LocalF0RzlF":{"name":"upgradeStorageIfNeeded(_:completion:)","abstract":"

    Migrates a local storage to match the DataStack‘s managed object model version. This method does NOT add the migrated store to the data stack.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC28requiredMigrationsForStorageySayAA13MigrationTypeOGxKAA05LocalH0RzlF":{"name":"requiredMigrationsForStorage(_:)","abstract":"

    Checks the migration steps required for the storage to match the DataStack‘s managed object model version.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13monitorObjectyAA0F7MonitorCyxGxAA07DynamicF0RzlF":{"name":"monitorObject(_:)","abstract":"

    Creates an ObjectMonitor for the specified DynamicObject. Multiple ObjectObservers may then register themselves to be notified when changes are made to the DynamicObject.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11monitorListyAA0F7MonitorCyxGAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorList(_:_:)","abstract":"

    Creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11monitorListyAA0F7MonitorCyxGAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorList(_:_:)","abstract":"

    Creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11monitorListyAA0F7MonitorCy10ObjectTypeQzGxAA021FetchChainableBuilderI0RzlF":{"name":"monitorList(_:)","abstract":"

    Creates a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11monitorList20createAsynchronously__yyAA0F7MonitorCyxGc_AA4FromVyxGAA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorList(createAsynchronously:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11monitorList20createAsynchronously__yyAA0F7MonitorCyxGc_AA4FromVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorList(createAsynchronously:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11monitorList20createAsynchronously_yyAA0F7MonitorCy10ObjectTypeQzGc_xtAA021FetchChainableBuilderK0RzlF":{"name":"monitorList(createAsynchronously:_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC20monitorSectionedListyAA0G7MonitorCyxGAA4FromVyxG_AA9SectionByVyxGAA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(_:_:_:)","abstract":"

    Creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC20monitorSectionedListyAA0G7MonitorCyxGAA4FromVyxG_AA9SectionByVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(_:_:_:)","abstract":"

    Creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC20monitorSectionedListyAA0G7MonitorCy10ObjectTypeQzGxAA07Sectionh7BuilderJ0RzlF":{"name":"monitorSectionedList(_:)","abstract":"

    Creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified SectionMonitorBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC20monitorSectionedList20createAsynchronously___yyAA0G7MonitorCyxGc_AA4FromVyxGAA9SectionByVyxGAA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(createAsynchronously:_:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC20monitorSectionedList20createAsynchronously___yyAA0G7MonitorCyxGc_AA4FromVyxGAA9SectionByVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(createAsynchronously:_:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC20monitorSectionedList20createAsynchronously_yyAA0G7MonitorCy10ObjectTypeQzGc_xtAA07Sectionj7BuilderL0RzlF":{"name":"monitorSectionedList(createAsynchronously:_:)","abstract":"

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified SectionMonitorBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13fetchExistingyxSgxAA13DynamicObjectRzlF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instance in the DataStack‘s context from a reference created from a transaction or from a different managed object context.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13fetchExistingyxSgSo17NSManagedObjectIDCAA07DynamicH0RzlF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instance in the DataStack‘s context from an NSManagedObjectID.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13fetchExistingySayxGq_AA13DynamicObjectRz7ElementQy_RszSTR_r0_lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instances in the DataStack‘s context from references created from a transaction or from a different managed object context.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13fetchExistingySayxGq_AA13DynamicObjectRzSTR_So09NSManagedH2IDC7ElementRt_r0_lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instances in the DataStack‘s context from a list of NSManagedObjectID.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8fetchOneyxSgAA4FromVyxG_AA11FetchClause_pdtKAA13DynamicObjectRzlF":{"name":"fetchOne(_:_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8fetchOneyxSgAA4FromVyxG_SayAA11FetchClause_pGtKAA13DynamicObjectRzlF":{"name":"fetchOne(_:_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8fetchOney10ObjectTypeQzSgxKAA021FetchChainableBuilderH0RzlF":{"name":"fetchOne(_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8fetchAllySayxGAA4FromVyxG_AA11FetchClause_pdtKAA13DynamicObjectRzlF":{"name":"fetchAll(_:_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8fetchAllySayxGAA4FromVyxG_SayAA11FetchClause_pGtKAA13DynamicObjectRzlF":{"name":"fetchAll(_:_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8fetchAllySay10ObjectTypeQzGxKAA021FetchChainableBuilderH0RzlF":{"name":"fetchAll(_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10fetchCountySiAA4FromVyxG_AA11FetchClause_pdtKAA13DynamicObjectRzlF":{"name":"fetchCount(_:_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10fetchCountySiAA4FromVyxG_SayAA11FetchClause_pGtKAA13DynamicObjectRzlF":{"name":"fetchCount(_:_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10fetchCountySixKAA25FetchChainableBuilderTypeRzlF":{"name":"fetchCount(_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13fetchObjectIDySo09NSManagedfG0CSgAA4FromVyxG_AA11FetchClause_pdtKAA07DynamicF0RzlF":{"name":"fetchObjectID(_:_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13fetchObjectIDySo09NSManagedfG0CSgAA4FromVyxG_SayAA11FetchClause_pGtKAA07DynamicF0RzlF":{"name":"fetchObjectID(_:_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13fetchObjectIDySo09NSManagedfG0CSgxKAA25FetchChainableBuilderTypeRzlF":{"name":"fetchObjectID(_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC14fetchObjectIDsySaySo09NSManagedF2IDCGAA4FromVyxG_AA11FetchClause_pdtKAA07DynamicF0RzlF":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC14fetchObjectIDsySaySo09NSManagedF2IDCGAA4FromVyxG_SayAA11FetchClause_pGtKAA07DynamicF0RzlF":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC14fetchObjectIDsySaySo09NSManagedF2IDCGxKAA25FetchChainableBuilderTypeRzlF":{"name":"fetchObjectIDs(_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10queryValueyq_SgAA4FromVyxG_AA6SelectVyxq_GAA11QueryClause_pdtKAA13DynamicObjectRzAA22QueryableAttributeTypeR_r0_lF":{"name":"queryValue(_:_:_:)","abstract":"

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10queryValueyq_SgAA4FromVyxG_AA6SelectVyxq_GSayAA11QueryClause_pGtKAA13DynamicObjectRzAA22QueryableAttributeTypeR_r0_lF":{"name":"queryValue(_:_:_:)","abstract":"

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10queryValuey10ResultTypeQzSgxKAA021QueryChainableBuilderH0RzAA018QueryableAttributeH0AFRQlF":{"name":"queryValue(_:)","abstract":"

    Queries a property value or aggregate as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC15queryAttributesySaySDySSypGGAA4FromVyxG_AA6SelectVyxSo12NSDictionaryCGAA11QueryClause_pdtKAA13DynamicObjectRzlF":{"name":"queryAttributes(_:_:_:)","abstract":"

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC15queryAttributesySaySDySSypGGAA4FromVyxG_AA6SelectVyxSo12NSDictionaryCGSayAA11QueryClause_pGtKAA13DynamicObjectRzlF":{"name":"queryAttributes(_:_:_:)","abstract":"

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC15queryAttributesySaySDySSypGGxKAA25QueryChainableBuilderTypeRzSo12NSDictionaryC06ResultJ0RtzlF":{"name":"queryAttributes(_:)","abstract":"

    Queries a dictionary of attribute values or as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13unsafeContextSo015NSManagedObjectF0CyF":{"name":"unsafeContext()","abstract":"

    The internal NSManagedObjectContext managed by this instance. Using this context directly should typically be avoided, and is provided by CoreStore only for extremely specialized cases.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC7perform12asynchronous10completionyxAA012AsynchronousC11TransactionCKc_ys6ResultOyxAA0aB5ErrorOGctlF":{"name":"perform(asynchronous:completion:)","abstract":"

    Performs a transaction asynchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the wrapped as .success(T) in the completion‘s Result<T>. Any errors thrown from inside the task will be reported as .failure(CoreStoreError). To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC7perform12asynchronous7success7failureyxAA012AsynchronousC11TransactionCKc_yxcyAA0aB5ErrorOctlF":{"name":"perform(asynchronous:success:failure:)","abstract":"

    Performs a transaction asynchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the argument of the success closure. Any errors thrown from inside the task will be wrapped in a CoreStoreError and reported in the failure closure. To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC7perform11synchronous19waitForAllObserversxxAA011SynchronousC11TransactionCKXE_SbtKlF":{"name":"perform(synchronous:waitForAllObservers:)","abstract":"

    Performs a transaction synchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the return value of perform(synchronous:). Any errors thrown from inside the task will be thrown from perform(synchronous:). To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11beginUnsafe12supportsUndoAA0fC11TransactionCSb_tF":{"name":"beginUnsafe(supportsUndo:)","abstract":"

    Begins a non-contiguous transaction where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC25refreshAndMergeAllObjectsyyF":{"name":"refreshAndMergeAllObjects()","abstract":"

    Refreshes all registered objects NSManagedObjects or CoreStoreObjects in the DataStack.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC30createFetchedResultsControllerySo09NSFetchedgH0CyxGAA4FromVyxG_AA9SectionByVyxGAA11FetchClause_pdtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(_:_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from the DataStack. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC30createFetchedResultsControllerySo09NSFetchedgH0CyxGAA4FromVyxG_AA9SectionByVyxGSayAA11FetchClause_pGtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(_:_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from a DataStack. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC30createFetchedResultsControllerySo09NSFetchedgH0CyxGAA4FromVyxG_AA11FetchClause_pdtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from the DataStack. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC30createFetchedResultsController03forcD0__So09NSFetchedgH0CyxGAC_AA4FromVyxGSayAA11FetchClause_pGtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(forDataStack:_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from the DataStack. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"DataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)init":{"name":"init()","abstract":"

    Initializes a CSDataStack with default settings. CoreStore searches for .xcdatamodeld from the main NSBundle and loads an NSManagedObjectModel from it. An assertion is raised if the model could not be found.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)initWithXcodeModelName:bundle:versionChain:":{"name":"init(xcodeModelName:bundle:versionChain:)","abstract":"

    Initializes a CSDataStack from the model with the specified modelName in the specified bundle.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(py)modelVersion":{"name":"modelVersion","abstract":"

    Returns the stack’s model version. The version string is the same as the name of the version-specific .xcdatamodeld file.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)entityTypesByNameForType:":{"name":"entityTypesByNameForType(_:)","abstract":"

    Returns the entity name-to-class type mapping from the CSDataStack‘s model.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)entityDescriptionForClass:":{"name":"entityDescriptionForClass(_:)","abstract":"

    Returns the NSEntityDescription for the specified NSManagedObject subclass from stack’s model.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)addInMemoryStorageAndWaitAndReturnError:":{"name":"addInMemoryStorageAndWaitAndReturnError(_:)","abstract":"

    Creates an CSInMemoryStore with default parameters and adds it to the stack. This method blocks until completion.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)addSQLiteStorageAndWaitAndReturnError:":{"name":"addSQLiteStorageAndWaitAndReturnError(_:)","abstract":"

    Creates an CSSQLiteStore with default parameters and adds it to the stack. This method blocks until completion.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)addInMemoryStorageAndWait:error:":{"name":"addInMemoryStorageAndWait(_:error:)","abstract":"

    Adds a CSInMemoryStore to the stack and blocks until completion.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)addSQLiteStorageAndWait:error:":{"name":"addSQLiteStorageAndWait(_:error:)","abstract":"

    Adds a CSSQLiteStore to the stack and blocks until completion.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)addInMemoryStorage:completion:":{"name":"addInMemoryStorage(_:completion:)","abstract":"

    Asynchronously adds a CSInMemoryStore to the stack. Migrations are also initiated by default.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)addSQLiteStorage:completion:error:":{"name":"addSQLiteStorage(_:completion:error:)","abstract":"

    Asynchronously adds a CSSQLiteStore to the stack. Migrations are also initiated by default.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)upgradeStorageIfNeeded:completion:error:":{"name":"upgradeStorageIfNeeded(_:completion:error:)","abstract":"

    Migrates a CSSQLiteStore to match the CSDataStack‘s managed object model version. This method does NOT add the migrated store to the data stack.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)requiredMigrationsForSQLiteStore:error:":{"name":"requiredMigrationsForSQLiteStore(_:error:)","abstract":"

    Checks the migration steps required for the CSSQLiteStore to match the CSDataStack‘s managed object model version.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)monitorObject:":{"name":"monitorObject(_:)","abstract":"

    Creates a CSObjectMonitor for the specified NSManagedObject. Multiple ObjectObservers may then register themselves to be notified when changes are made to the NSManagedObject.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)monitorListFrom:fetchClauses:":{"name":"monitorListFrom(_:fetchClauses:)","abstract":"

    Creates a CSListMonitor for a list of NSManagedObjects that satisfy the specified fetch clauses. Multiple CSListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)monitorListByCreatingAsynchronously:from:fetchClauses:":{"name":"monitorListByCreatingAsynchronously(_:from:fetchClauses:)","abstract":"

    Asynchronously creates a CSListMonitor for a list of NSManagedObjects that satisfy the specified fetch clauses. Multiple CSListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)monitorSectionedListFrom:sectionBy:fetchClauses:":{"name":"monitorSectionedListFrom(_:sectionBy:fetchClauses:)","abstract":"

    Creates a CSListMonitor for a sectioned list of NSManagedObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/s:9CoreStore11CSDataStackC44monitorSectionedListByCreatingAsynchronously_4from07sectionH012fetchClausesyyAA13CSListMonitorCc_AA6CSFromCAA09CSSectionH0CSayAA13CSFetchClause_pGtF":{"name":"monitorSectionedListByCreatingAsynchronously(_:from:sectionBy:fetchClauses:)","abstract":"

    Asynchronously creates a CSListMonitor for a sectioned list of NSManagedObjects that satisfy the specified fetch clauses. Multiple CSListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchExistingObject:":{"name":"fetchExistingObject(_:)","abstract":"

    Fetches the NSManagedObject instance in the transaction’s context from a reference created from a transaction or from a different managed object context.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchExistingObjectWithID:":{"name":"fetchExistingObjectWithID(_:)","abstract":"

    Fetches the NSManagedObject instance in the transaction’s context from an NSManagedObjectID.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchExistingObjects:":{"name":"fetchExistingObjects(_:)","abstract":"

    Fetches the NSManagedObject instances in the transaction’s context from references created from a transaction or from a different managed object context.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchExistingObjectsWithIDs:":{"name":"fetchExistingObjectsWithIDs(_:)","abstract":"

    Fetches the NSManagedObject instances in the transaction’s context from a list of NSManagedObjectID.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchOneFrom:fetchClauses:":{"name":"fetchOneFrom(_:fetchClauses:)","abstract":"

    Fetches the first NSManagedObject instance that satisfies the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchAllFrom:fetchClauses:":{"name":"fetchAllFrom(_:fetchClauses:)","abstract":"

    Fetches all NSManagedObject instances that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchCountFrom:fetchClauses:":{"name":"fetchCountFrom(_:fetchClauses:)","abstract":"

    Fetches the number of NSManagedObjects that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchObjectIDFrom:fetchClauses:":{"name":"fetchObjectIDFrom(_:fetchClauses:)","abstract":"

    Fetches the NSManagedObjectID for the first NSManagedObject that satisfies the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchObjectIDsFrom:fetchClauses:":{"name":"fetchObjectIDsFrom(_:fetchClauses:)","abstract":"

    Fetches the NSManagedObjectID for all NSManagedObjects that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)queryValueFrom:selectClause:queryClauses:":{"name":"queryValueFrom(_:selectClause:queryClauses:)","abstract":"

    Queries aggregate values as specified by the CSQueryClauses. Requires at least a CSSelect clause, and optional CSWhere, CSOrderBy, CSGroupBy, and CSTweak clauses.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)queryAttributesFrom:selectClause:queryClauses:":{"name":"queryAttributesFrom(_:selectClause:queryClauses:)","abstract":"

    Queries a dictionary of attribute values as specified by the CSQueryClauses. Requires at least a CSSelect clause, and optional CSWhere, CSOrderBy, CSGroupBy, and CSTweak clauses.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)beginAsynchronous:":{"name":"beginAsynchronous(_:)","abstract":"

    Begins a transaction asynchronously where NSManagedObject creates, updates, and deletes can be made.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)beginSynchronous:error:":{"name":"beginSynchronous(_:error:)","abstract":"

    Begins a transaction synchronously where NSManagedObject creates, updates, and deletes can be made.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)beginUnsafe":{"name":"beginUnsafe()","abstract":"

    Begins a child transaction where NSManagedObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)beginUnsafeWithSupportsUndo:":{"name":"beginUnsafeWithSupportsUndo(_:)","abstract":"

    Begins a child transaction where NSManagedObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)refreshAndMergeAllObjects":{"name":"refreshAndMergeAllObjects()","abstract":"

    Refreshes all registered objects NSManagedObjects in the DataStack.

    ","parent_name":"CSDataStack"},"Classes/CSCoreStore.html#/c:@M@CoreStore@objc(cs)CSCoreStore(cpy)defaultStack":{"name":"defaultStack","abstract":"

    The default CSDataStack instance to be used. If defaultStack is not set before the first time accessed, a default-configured CSDataStack will be created.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/s:9CoreStore06CSCoreB0C18addInMemoryStorage_10completionyAA04CSInfB0C_yAA13CSSetupResultCctFZ":{"name":"addInMemoryStorage(_:completion:)","abstract":"

    Asynchronously adds a CSInMemoryStore to the defaultStack. Migrations are also initiated by default.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/s:9CoreStore06CSCoreB0C16addSQLiteStorage_10completion5errorSo10NSProgressCSgAA08CSSQLiteB0C_yAA13CSSetupResultCcSAySo7NSErrorCSgGSgtFZ":{"name":"addSQLiteStorage(_:completion:error:)","abstract":"

    Asynchronously adds a CSSQLiteStore to the defaultStack. Migrations are also initiated by default.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)upgradeStorageIfNeeded:completion:error:":{"name":"upgradeStorageIfNeeded(_:completion:error:)","abstract":"

    Migrates a CSSQLiteStore to match the defaultStack‘s managed object model version. This method does NOT add the migrated store to the data stack.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)requiredMigrationsForSQLiteStore:error:":{"name":"requiredMigrationsForSQLiteStore(_:error:)","abstract":"

    Checks the migration steps required for the CSSQLiteStore to match the defaultStack‘s managed object model version.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)monitorObject:":{"name":"monitorObject(_:)","abstract":"

    Using the defaultStack, creates an CSObjectMonitor for the specified NSManagedObject. Multiple CSObjectObservers may then register themselves to be notified when changes are made to the NSManagedObject.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)monitorListFrom:fetchClauses:":{"name":"monitorListFrom(_:fetchClauses:)","abstract":"

    Using the defaultStack, creates a CSListMonitor for a list of NSManagedObjects that satisfy the specified fetch clauses. Multiple CSListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)monitorListByCreatingAsynchronously:from:fetchClauses:":{"name":"monitorListByCreatingAsynchronously(_:from:fetchClauses:)","abstract":"

    Using the defaultStack, asynchronously creates a CSListMonitor for a list of NSManagedObjects that satisfy the specified fetch clauses. Multiple CSListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)monitorSectionedListFrom:sectionBy:fetchClauses:":{"name":"monitorSectionedListFrom(_:sectionBy:fetchClauses:)","abstract":"

    Using the defaultStack, creates a CSListMonitor for a sectioned list of NSManagedObjects that satisfy the specified fetch clauses. Multiple CSListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)monitorSectionedListByCreatingAsynchronously:from:sectionBy:fetchClauses:":{"name":"monitorSectionedListByCreatingAsynchronously(_:from:sectionBy:fetchClauses:)","abstract":"

    Using the defaultStack, asynchronously creates a CSListMonitor for a sectioned list of NSManagedObjects that satisfy the specified fetch clauses. Multiple CSListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchExistingObject:":{"name":"fetchExistingObject(_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObject instance in the transaction’s context from a reference created from a transaction or from a different managed object context.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchExistingObjectWithID:":{"name":"fetchExistingObjectWithID(_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObject instance in the transaction’s context from an NSManagedObjectID.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchExistingObjects:":{"name":"fetchExistingObjects(_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObject instances in the transaction’s context from references created from a transaction or from a different managed object context.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchExistingObjectsWithIDs:":{"name":"fetchExistingObjectsWithIDs(_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObject instances in the transaction’s context from a list of NSManagedObjectID.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchOneFrom:fetchClauses:":{"name":"fetchOneFrom(_:fetchClauses:)","abstract":"

    Using the defaultStack, fetches the first NSManagedObject instance that satisfies the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchAllFrom:fetchClauses:":{"name":"fetchAllFrom(_:fetchClauses:)","abstract":"

    Using the defaultStack, fetches all NSManagedObject instances that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchCountFrom:fetchClauses:":{"name":"fetchCountFrom(_:fetchClauses:)","abstract":"

    Using the defaultStack, fetches the number of NSManagedObjects that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchObjectIDFrom:fetchClauses:":{"name":"fetchObjectIDFrom(_:fetchClauses:)","abstract":"

    Using the defaultStack, fetches the NSManagedObjectID for the first NSManagedObject that satisfies the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchObjectIDsFrom:fetchClauses:":{"name":"fetchObjectIDsFrom(_:fetchClauses:)","abstract":"

    Using the defaultStack, fetches the NSManagedObjectID for all NSManagedObjects that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)queryValueFrom:selectClause:queryClauses:":{"name":"queryValueFrom(_:selectClause:queryClauses:)","abstract":"

    Using the defaultStack, queries aggregate values as specified by the CSQueryClauses. Requires at least a CSSelect clause, and optional CSWhere, CSOrderBy, CSGroupBy, and CSTweak clauses.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)queryAttributesFrom:selectClause:queryClauses:":{"name":"queryAttributesFrom(_:selectClause:queryClauses:)","abstract":"

    Using the defaultStack, queries a dictionary of attribute values as specified by the CSQueryClauses. Requires at least a CSSelect clause, and optional CSWhere, CSOrderBy, CSGroupBy, and CSTweak clauses.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cpy)modelVersion":{"name":"modelVersion","abstract":"

    Returns the defaultStack‘s model version. The version string is the same as the name of the version-specific .xcdatamodeld file.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)entityTypesByNameForType:":{"name":"entityTypesByNameForType(_:)","abstract":"

    Returns the entity name-to-class type mapping from the defaultStack‘s model.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)entityDescriptionForClass:":{"name":"entityDescriptionForClass(_:)","abstract":"

    Returns the NSEntityDescription for the specified NSManagedObject subclass from defaultStack‘s model.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)addInMemoryStorageAndWaitAndReturnError:":{"name":"addInMemoryStorageAndWaitAndReturnError(_:)","abstract":"

    Creates an CSInMemoryStore with default parameters and adds it to the defaultStack. This method blocks until completion.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)addSQLiteStorageAndWaitAndReturnError:":{"name":"addSQLiteStorageAndWaitAndReturnError(_:)","abstract":"

    Creates an CSSQLiteStore with default parameters and adds it to the defaultStack. This method blocks until completion.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)addInMemoryStorageAndWait:error:":{"name":"addInMemoryStorageAndWait(_:error:)","abstract":"

    Adds a CSInMemoryStore to the defaultStack and blocks until completion.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)addSQLiteStorageAndWait:error:":{"name":"addSQLiteStorageAndWait(_:error:)","abstract":"

    Adds a CSSQLiteStore to the defaultStack and blocks until completion.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)beginAsynchronous:":{"name":"beginAsynchronous(_:)","abstract":"

    Using the defaultStack, begins a transaction asynchronously where NSManagedObject creates, updates, and deletes can be made.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)beginSynchronous:error:":{"name":"beginSynchronous(_:error:)","abstract":"

    Using the defaultStack, begins a transaction synchronously where NSManagedObject creates, updates, and deletes can be made.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)beginUnsafe":{"name":"beginUnsafe()","abstract":"

    Using the defaultStack, begins a child transaction where NSManagedObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)beginUnsafeWithSupportsUndo:":{"name":"beginUnsafeWithSupportsUndo(_:)","abstract":"

    Using the defaultStack, begins a child transaction where NSManagedObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)refreshAndMergeAllObjects":{"name":"refreshAndMergeAllObjects()","abstract":"

    Refreshes all registered objects NSManagedObjects in the defaultStack.

    ","parent_name":"CSCoreStore"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(py)hasChanges":{"name":"hasChanges","abstract":"

    Indicates if the transaction has pending changes

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)createInto:":{"name":"createInto(_:)","abstract":"

    Creates a new NSManagedObject with the specified entity type.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)editObject:":{"name":"editObject(_:)","abstract":"

    Returns an editable proxy of a specified NSManagedObject.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)editInto:objectID:":{"name":"editInto(_:objectID:)","abstract":"

    Returns an editable proxy of the object with the specified NSManagedObjectID.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)deleteObject:":{"name":"deleteObject(_:)","abstract":"

    Deletes a specified NSManagedObject.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)deleteObjects:":{"name":"deleteObjects(_:)","abstract":"

    Deletes the specified NSManagedObjects.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)refreshAndMergeAllObjects":{"name":"refreshAndMergeAllObjects()","abstract":"

    Refreshes all registered objects NSManagedObjects in the transaction.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)insertedObjectsOfType:":{"name":"insertedObjectsOfType(_:)","abstract":"

    Returns all pending NSManagedObjects of the specified type that were inserted to the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)insertedObjectIDs":{"name":"insertedObjectIDs()","abstract":"

    Returns all pending NSManagedObjectIDs that were inserted to the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)insertedObjectIDsOfType:":{"name":"insertedObjectIDsOfType(_:)","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were inserted to the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)updatedObjectsOfType:":{"name":"updatedObjectsOfType(_:)","abstract":"

    Returns all pending NSManagedObjects of the specified type that were updated in the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)updatedObjectIDs":{"name":"updatedObjectIDs()","abstract":"

    Returns all pending NSManagedObjectIDs that were updated in the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)updatedObjectIDsOfType:":{"name":"updatedObjectIDsOfType(_:)","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were updated in the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)deletedObjectsOfType:":{"name":"deletedObjectsOfType(_:)","abstract":"

    Returns all pending NSManagedObjects of the specified type that were deleted from the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)deletedObjectIDs":{"name":"deletedObjectIDs()","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were deleted from the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)deletedObjectIDsOfType:":{"name":"deletedObjectIDsOfType(_:)","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were deleted from the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchExistingObject:":{"name":"fetchExistingObject(_:)","abstract":"

    Fetches the NSManagedObject instance in the transaction’s context from a reference created from a transaction or from a different managed object context.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchExistingObjectWithID:":{"name":"fetchExistingObjectWithID(_:)","abstract":"

    Fetches the NSManagedObject instance in the transaction’s context from an NSManagedObjectID.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchExistingObjects:":{"name":"fetchExistingObjects(_:)","abstract":"

    Fetches the NSManagedObject instances in the transaction’s context from references created from a transaction or from a different managed object context.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchExistingObjectsWithIDs:":{"name":"fetchExistingObjectsWithIDs(_:)","abstract":"

    Fetches the NSManagedObject instances in the transaction’s context from a list of NSManagedObjectID.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchOneFrom:fetchClauses:":{"name":"fetchOneFrom(_:fetchClauses:)","abstract":"

    Fetches the first NSManagedObject instance that satisfies the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchAllFrom:fetchClauses:":{"name":"fetchAllFrom(_:fetchClauses:)","abstract":"

    Fetches all NSManagedObject instances that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchCountFrom:fetchClauses:":{"name":"fetchCountFrom(_:fetchClauses:)","abstract":"

    Fetches the number of NSManagedObjects that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchObjectIDFrom:fetchClauses:":{"name":"fetchObjectIDFrom(_:fetchClauses:)","abstract":"

    Fetches the NSManagedObjectID for the first NSManagedObject that satisfies the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)queryValueFrom:selectClause:queryClauses:":{"name":"queryValueFrom(_:selectClause:queryClauses:)","abstract":"

    Queries aggregate values as specified by the CSQueryClauses. Requires at least a CSSelect clause, and optional CSWhere, CSOrderBy, CSGroupBy, and CSTweak clauses.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)queryAttributesFrom:selectClause:queryClauses:":{"name":"queryAttributesFrom(_:selectClause:queryClauses:)","abstract":"

    Queries a dictionary of attribute values as specified by the CSQueryClauses. Requires at least a CSSelect clause, and optional CSWhere, CSOrderBy, CSGroupBy, and CSTweak clauses.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSAsynchronousDataTransaction(im)commitWithSuccess:failure:":{"name":"commitWithSuccess(_:failure:)","abstract":"

    Saves the transaction changes. This method should not be used after the -commitWithCompletion: method was already called once.

    ","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSAsynchronousDataTransaction(im)createInto:":{"name":"createInto(_:)","abstract":"

    Creates a new NSManagedObject with the specified entity type.

    ","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSAsynchronousDataTransaction(im)editObject:":{"name":"editObject(_:)","abstract":"

    Returns an editable proxy of a specified NSManagedObject. This method should not be used after the -commitWithCompletion: method was already called once.

    ","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSAsynchronousDataTransaction(im)editInto:objectID:":{"name":"editInto(_:objectID:)","abstract":"

    Returns an editable proxy of the object with the specified NSManagedObjectID. This method should not be used after the -commitWithCompletion: method was already called once.

    ","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSAsynchronousDataTransaction(im)deleteObject:":{"name":"deleteObject(_:)","abstract":"

    Deletes a specified NSManagedObject. This method should not be used after the -commitWithCompletion: method was already called once.

    ","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSAsynchronousDataTransaction(im)deleteObjects:":{"name":"deleteObjects(_:)","abstract":"

    Deletes the specified NSManagedObjects.

    ","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypeP9SwiftTypeQa":{"name":"SwiftType","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSAsynchronousDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC10hasChangesSbvp":{"name":"hasChanges","abstract":"

    Indicates if the transaction has pending changes

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC6createyxAA4IntoVyxGAA13DynamicObjectRzlF":{"name":"create(_:)","abstract":"

    Creates a new NSManagedObject or CoreStoreObject with the specified entity type.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC4edityxSgAeA13DynamicObjectRzlF":{"name":"edit(_:)","abstract":"

    Returns an editable proxy of a specified NSManagedObject or CoreStoreObject.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC4edityxSgAA4IntoVyxG_So17NSManagedObjectIDCtAA07DynamicI0RzlF":{"name":"edit(_:_:)","abstract":"

    Returns an editable proxy of the object with the specified NSManagedObjectID.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC6deleteyyxSgAA13DynamicObjectRzlF":{"name":"delete(_:)","abstract":"

    Deletes a specified NSManagedObject or CoreStoreObject.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC6deleteyyxSg_A2EdtAA13DynamicObjectRzlF":{"name":"delete(_:_:_:)","abstract":"

    Deletes the specified NSManagedObjects or CoreStoreObjects.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC6deleteyyxSTRzAA13DynamicObject7ElementRpzlF":{"name":"delete(_:)","abstract":"

    Deletes the specified NSManagedObjects or CoreStoreObjects.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC25refreshAndMergeAllObjectsyyF":{"name":"refreshAndMergeAllObjects()","abstract":"

    Refreshes all registered objects NSManagedObjects in the transaction.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC15insertedObjectsyShyxGxmAA13DynamicObjectRzSHRzlF":{"name":"insertedObjects(_:)","abstract":"

    Returns all pending DynamicObjects of the specified type that were inserted to the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC17insertedObjectIDsShySo09NSManagedG2IDCGyF":{"name":"insertedObjectIDs()","abstract":"

    Returns all pending NSManagedObjectIDs that were inserted to the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC17insertedObjectIDsyShySo09NSManagedG2IDCGxmAA07DynamicG0RzlF":{"name":"insertedObjectIDs(_:)","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were inserted to the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC14updatedObjectsyShyxGxmAA13DynamicObjectRzSHRzlF":{"name":"updatedObjects(_:)","abstract":"

    Returns all pending DynamicObjects of the specified type that were updated in the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC16updatedObjectIDsShySo09NSManagedG2IDCGyF":{"name":"updatedObjectIDs()","abstract":"

    Returns all pending NSManagedObjectIDs that were updated in the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC16updatedObjectIDsyShySo09NSManagedG2IDCGxmAA07DynamicG0RzlF":{"name":"updatedObjectIDs(_:)","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were updated in the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC14deletedObjectsyShyxGxmAA13DynamicObjectRzSHRzlF":{"name":"deletedObjects(_:)","abstract":"

    Returns all pending DynamicObjects of the specified type that were deleted from the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC16deletedObjectIDsShySo09NSManagedG2IDCGyF":{"name":"deletedObjectIDs()","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were deleted from the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC16deletedObjectIDsyShySo09NSManagedG2IDCGxmAA07DynamicG0RzlF":{"name":"deletedObjectIDs(_:)","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were deleted from the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC8userInfoAA04UserG0Cvp":{"name":"userInfo","abstract":"

    Allow external libraries to store custom data in the transaction. App code should rarely have a need for this.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC12importObject_6sourcexSgAA4IntoVyxG_12ImportSourceQztKAA010ImportableG0RzlF":{"name":"importObject(_:source:)","abstract":"

    Creates an ImportableObject by importing from the specified import source.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC12importObject_6sourceyx_12ImportSourceQztKAA010ImportableG0RzlF":{"name":"importObject(_:source:)","abstract":"

    Updates an existing ImportableObject by importing values from the specified import source.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13importObjects_11sourceArraySayxGAA4IntoVyxG_q_tKAA16ImportableObjectRzSTR_7ElementQy_12ImportSourceRtzr0_lF":{"name":"importObjects(_:sourceArray:)","abstract":"

    Creates multiple ImportableObjects by importing from the specified array of import sources.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC18importUniqueObject_6sourcexSgAA4IntoVyxG_12ImportSourceQztKAA010ImportablegH0RzlF":{"name":"importUniqueObject(_:source:)","abstract":"

    Updates an existing ImportableUniqueObject or creates a new instance by importing from the specified import source.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC19importUniqueObjects_11sourceArray10preProcessSayxGAA4IntoVyxG_q_SDy0G6IDTypeQz12ImportSourceQzGAOKctKAA010ImportableG6ObjectRzSTR_7ElementQy_ANRSr0_lF":{"name":"importUniqueObjects(_:sourceArray:preProcess:)","abstract":"

    Updates existing ImportableUniqueObjects or creates them by importing from the specified array of import sources.","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC9deleteAllySiAA4FromVyxG_AA12DeleteClause_pdtKAA13DynamicObjectRzlF":{"name":"deleteAll(_:_:)","abstract":"

    Deletes all DynamicObjects that satisfy the specified DeleteClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC9deleteAllySiAA4FromVyxG_SayAA12DeleteClause_pGtKAA13DynamicObjectRzlF":{"name":"deleteAll(_:_:)","abstract":"

    Deletes all DynamicObjects that satisfy the specified DeleteClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC9deleteAllySixKAA25FetchChainableBuilderTypeRzlF":{"name":"deleteAll(_:)","abstract":"

    Deletes all DynamicObjects that satisfy the specified conditions.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13fetchExistingyxSgxAA13DynamicObjectRzlF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instance in the transaction’s context from a reference created from a transaction or from a different managed object context.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13fetchExistingyxSgSo17NSManagedObjectIDCAA07DynamicI0RzlF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instance in the transaction’s context from an NSManagedObjectID.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13fetchExistingySayxGq_AA13DynamicObjectRz7ElementQy_RszSTR_r0_lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instances in the transaction’s context from references created from a transaction or from a different managed object context.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13fetchExistingySayxGq_AA13DynamicObjectRzSTR_So09NSManagedI2IDC7ElementRt_r0_lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instances in the transaction’s context from a list of NSManagedObjectID.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC8fetchOneyxSgAA4FromVyxG_AA11FetchClause_pdtKAA13DynamicObjectRzlF":{"name":"fetchOne(_:_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC8fetchOneyxSgAA4FromVyxG_SayAA11FetchClause_pGtKAA13DynamicObjectRzlF":{"name":"fetchOne(_:_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC8fetchOney10ObjectTypeQzSgxKAA021FetchChainableBuilderI0RzlF":{"name":"fetchOne(_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC8fetchAllySayxGAA4FromVyxG_AA11FetchClause_pdtKAA13DynamicObjectRzlF":{"name":"fetchAll(_:_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC8fetchAllySayxGAA4FromVyxG_SayAA11FetchClause_pGtKAA13DynamicObjectRzlF":{"name":"fetchAll(_:_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC8fetchAllySay10ObjectTypeQzGxKAA021FetchChainableBuilderI0RzlF":{"name":"fetchAll(_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC10fetchCountySiAA4FromVyxG_AA11FetchClause_pdtKAA13DynamicObjectRzlF":{"name":"fetchCount(_:_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC10fetchCountySiAA4FromVyxG_SayAA11FetchClause_pGtKAA13DynamicObjectRzlF":{"name":"fetchCount(_:_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC10fetchCountySixKAA25FetchChainableBuilderTypeRzlF":{"name":"fetchCount(_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13fetchObjectIDySo09NSManagedgH0CSgAA4FromVyxG_AA11FetchClause_pdtKAA07DynamicG0RzlF":{"name":"fetchObjectID(_:_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13fetchObjectIDySo09NSManagedgH0CSgAA4FromVyxG_SayAA11FetchClause_pGtKAA07DynamicG0RzlF":{"name":"fetchObjectID(_:_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13fetchObjectIDySo09NSManagedgH0CSgxKAA25FetchChainableBuilderTypeRzlF":{"name":"fetchObjectID(_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC14fetchObjectIDsySaySo09NSManagedG2IDCGAA4FromVyxG_AA11FetchClause_pdtKAA07DynamicG0RzlF":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC14fetchObjectIDsySaySo09NSManagedG2IDCGAA4FromVyxG_SayAA11FetchClause_pGtKAA07DynamicG0RzlF":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC14fetchObjectIDsySaySo09NSManagedG2IDCGxKAA25FetchChainableBuilderTypeRzlF":{"name":"fetchObjectIDs(_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC10queryValueyq_SgAA4FromVyxG_AA6SelectVyxq_GAA11QueryClause_pdtKAA13DynamicObjectRzAA22QueryableAttributeTypeR_r0_lF":{"name":"queryValue(_:_:_:)","abstract":"

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC10queryValueyq_SgAA4FromVyxG_AA6SelectVyxq_GSayAA11QueryClause_pGtKAA13DynamicObjectRzAA22QueryableAttributeTypeR_r0_lF":{"name":"queryValue(_:_:_:)","abstract":"

    Queries aggregate values or aggregates as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC10queryValuey10ResultTypeQzSgxKAA021QueryChainableBuilderI0RzAA018QueryableAttributeI0AFRQlF":{"name":"queryValue(_:)","abstract":"

    Queries a property value or aggregate as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC15queryAttributesySaySDySSypGGAA4FromVyxG_AA6SelectVyxSo12NSDictionaryCGAA11QueryClause_pdtKAA13DynamicObjectRzlF":{"name":"queryAttributes(_:_:_:)","abstract":"

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC15queryAttributesySaySDySSypGGAA4FromVyxG_AA6SelectVyxSo12NSDictionaryCGSayAA11QueryClause_pGtKAA13DynamicObjectRzlF":{"name":"queryAttributes(_:_:_:)","abstract":"

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC15queryAttributesySaySDySSypGGxKAA25QueryChainableBuilderTypeRzSo12NSDictionaryC06ResultK0RtzlF":{"name":"queryAttributes(_:)","abstract":"

    Queries a dictionary of attribute values or as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13unsafeContextSo015NSManagedObjectG0CyF":{"name":"unsafeContext()","abstract":"

    The internal NSManagedObjectContext managed by this instance. Using this context directly should typically be avoided, and is provided by CoreStore only for extremely specialized cases.

    ","parent_name":"BaseDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC6cancels5NeverOyKF":{"name":"cancel()","abstract":"

    Cancels a transaction by throwing CoreStoreError.userCancelled.

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC6Resulta":{"name":"Result","abstract":"

    The Result contains the success or failure information for a completed transaction.","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC6createyxAA4IntoVyxGAA13DynamicObjectRzlF":{"name":"create(_:)","abstract":"

    Creates a new NSManagedObject or CoreStoreObject with the specified entity type.

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC4edityxSgAeA13DynamicObjectRzlF":{"name":"edit(_:)","abstract":"

    Returns an editable proxy of a specified NSManagedObject or CoreStoreObject.

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC4edityxSgAA4IntoVyxG_So17NSManagedObjectIDCtAA07DynamicI0RzlF":{"name":"edit(_:_:)","abstract":"

    Returns an editable proxy of the object with the specified NSManagedObjectID.

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC6deleteyyxSgAA13DynamicObjectRzlF":{"name":"delete(_:)","abstract":"

    Deletes a specified NSManagedObject or CoreStoreObject.

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC6deleteyyxSg_A2EdtAA13DynamicObjectRzlF":{"name":"delete(_:_:_:)","abstract":"

    Deletes the specified DynamicObjects.

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC6deleteyyxSTRzAA13DynamicObject7ElementRpzlF":{"name":"delete(_:)","abstract":"

    Deletes the specified DynamicObjects.

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html":{"name":"AsynchronousDataTransaction","abstract":"

    The AsynchronousDataTransaction provides an interface for DynamicObject creates, updates, and deletes. A transaction object should typically be only used from within a transaction block initiated from DataStack.perform(asynchronous:...), or from CoreStore.perform(synchronous:...).

    "},"Classes/BaseDataTransaction.html":{"name":"BaseDataTransaction","abstract":"

    The BaseDataTransaction is an abstract interface for NSManagedObject creates, updates, and deletes. All BaseDataTransaction subclasses manage a private NSManagedObjectContext which are direct children of the NSPersistentStoreCoordinator‘s root NSManagedObjectContext. This means that all updates are saved first to the persistent store, and then propagated up to the read-only NSManagedObjectContext.

    "},"Classes/CSAsynchronousDataTransaction.html":{"name":"CSAsynchronousDataTransaction","abstract":"

    The CSAsynchronousDataTransaction serves as the Objective-C bridging type for AsynchronousDataTransaction.

    "},"Classes/CSBaseDataTransaction.html":{"name":"CSBaseDataTransaction","abstract":"

    The CSBaseDataTransaction serves as the Objective-C bridging type for BaseDataTransaction.

    "},"Classes/CSCoreStore.html":{"name":"CSCoreStore","abstract":"

    The CSCoreStore serves as the Objective-C bridging type for CoreStore.

    "},"Classes/CSDataStack.html":{"name":"CSDataStack","abstract":"

    The CSDataStack serves as the Objective-C bridging type for DataStack.

    "},"Classes/DataStack.html":{"name":"DataStack","abstract":"

    The DataStack encapsulates the data model for the Core Data stack. Each DataStack can have multiple data stores, usually specified as a Configuration in the model editor. Behind the scenes, the DataStack manages its own NSPersistentStoreCoordinator, a root NSManagedObjectContext for disk saves, and a shared NSManagedObjectContext designed as a read-only model interface for NSManagedObjects.

    "},"Classes/CSError.html":{"name":"CSError","abstract":"

    All errors thrown from CoreStore are expressed in CSErrors.

    "},"Classes/CSFrom.html":{"name":"CSFrom","abstract":"

    The CSFrom serves as the Objective-C bridging type for From.

    "},"Classes/CSGroupBy.html":{"name":"CSGroupBy","abstract":"

    The CSGroupBy serves as the Objective-C bridging type for GroupBy.

    "},"Classes/CSInMemoryStore.html":{"name":"CSInMemoryStore","abstract":"

    The CSInMemoryStore serves as the Objective-C bridging type for InMemoryStore.

    "},"Classes/InMemoryStore.html":{"name":"InMemoryStore","abstract":"

    A storage interface that is backed only in memory.

    "},"Classes/CSInto.html":{"name":"CSInto","abstract":"

    The CSInto serves as the Objective-C bridging type for Into<T>.

    "},"Classes/CSListMonitor.html":{"name":"CSListMonitor","abstract":"

    The CSListMonitor serves as the Objective-C bridging type for ListMonitor<T>.

    "},"Classes/CSMigrationResult.html":{"name":"CSMigrationResult","abstract":"

    The CSMigrationResult serves as the Objective-C bridging type for MigrationResult.

    "},"Classes/CSMigrationType.html":{"name":"CSMigrationType","abstract":"

    The CSMigrationType serves as the Objective-C bridging type for MigrationType.

    "},"Classes/CSObjectMonitor.html":{"name":"CSObjectMonitor","abstract":"

    The CSObjectMonitor serves as the Objective-C bridging type for ObjectMonitor<T>.

    "},"Classes/CSOrderBy.html":{"name":"CSOrderBy","abstract":"

    The CSOrderBy serves as the Objective-C bridging type for OrderBy.

    "},"Classes/CSSQLiteStore.html":{"name":"CSSQLiteStore","abstract":"

    The CSSQLiteStore serves as the Objective-C bridging type for SQLiteStore.

    "},"Classes/SQLiteStore.html":{"name":"SQLiteStore","abstract":"

    A storage interface that is backed by an SQLite database.

    "},"Classes/CSSectionBy.html":{"name":"CSSectionBy","abstract":"

    The CSSectionBy serves as the Objective-C bridging type for SectionBy.

    "},"Classes/CSSelectTerm.html":{"name":"CSSelectTerm","abstract":"

    The CSSelectTerm serves as the Objective-C bridging type for SelectTerm.

    "},"Classes/CSSelect.html":{"name":"CSSelect","abstract":"

    The CSSelect serves as the Objective-C bridging type for Select.

    "},"Classes/CSSetupResult.html":{"name":"CSSetupResult","abstract":"

    The CSSetupResult serves as the Objective-C bridging type for SetupResult.

    "},"Classes/CSSynchronousDataTransaction.html":{"name":"CSSynchronousDataTransaction","abstract":"

    The CSSynchronousDataTransaction serves as the Objective-C bridging type for SynchronousDataTransaction.

    "},"Classes/SynchronousDataTransaction.html":{"name":"SynchronousDataTransaction","abstract":"

    The SynchronousDataTransaction provides an interface for DynamicObject creates, updates, and deletes. A transaction object should typically be only used from within a transaction block initiated from DataStack.beginSynchronous(_:), or from CoreStore.beginSynchronous(_:).

    "},"Classes/CSTweak.html":{"name":"CSTweak","abstract":"

    The CSTweak serves as the Objective-C bridging type for Tweak.

    "},"Classes/CSUnsafeDataModelSchema.html":{"name":"CSUnsafeDataModelSchema","abstract":"

    The CSUnsafeDataModelSchema serves as the Objective-C bridging type for UnsafeDataModelSchema.

    "},"Classes/UnsafeDataModelSchema.html":{"name":"UnsafeDataModelSchema","abstract":"

    The UnsafeDataModelSchema describes models loaded directly from an existing NSManagedObjectModel. It is not advisable to continue using this model as its metadata are not available to CoreStore.

    "},"Classes/CSUnsafeDataTransaction.html":{"name":"CSUnsafeDataTransaction","abstract":"

    The CSUnsafeDataTransaction serves as the Objective-C bridging type for UnsafeDataTransaction.

    "},"Classes/UnsafeDataTransaction.html":{"name":"UnsafeDataTransaction","abstract":"

    The UnsafeDataTransaction provides an interface for non-contiguous NSManagedObject or CoreStoreObject creates, updates, and deletes. This is useful for making temporary changes, such as partially filled forms. An unsafe transaction object should typically be only used from the main queue.

    "},"Classes/CSWhere.html":{"name":"CSWhere","abstract":"

    The CSWhere serves as the Objective-C bridging type for Where.

    "},"Classes/CSXcodeDataModelSchema.html":{"name":"CSXcodeDataModelSchema","abstract":"

    The CSXcodeDataModelSchema serves as the Objective-C bridging type for XcodeDataModelSchema.

    "},"Classes/XcodeDataModelSchema.html":{"name":"XcodeDataModelSchema","abstract":"

    The XcodeDataModelSchema describes a model version declared in a single *.xcdatamodeld file.

    "},"Classes/CoreStoreObject.html":{"name":"CoreStoreObject","abstract":"

    The CoreStoreObject is an abstract class for creating CoreStore-managed objects that are more type-safe and more convenient than NSManagedObject subclasses. The model entities for CoreStoreObject subclasses are inferred from the Swift declaration themselves; no .xcdatamodeld files are needed. To declare persisted attributes and relationships for the CoreStoreObject subclass, declare properties of type Value.Required<T>, Value.Optional<T> for values, or Relationship.ToOne<T>, Relationship.ToManyOrdered<T>, Relationship.ToManyUnordered<T> for relationships.

    "},"Classes/CoreStoreSchema.html":{"name":"CoreStoreSchema","abstract":"

    The CoreStoreSchema describes models written for CoreStoreObject Swift class declarations for a particular model version. CoreStoreObject entities for a model version should be added to CoreStoreSchema instance.

    "},"Classes/Entity.html":{"name":"Entity","abstract":"

    The Entity<O> contains NSEntityDescription metadata for CoreStoreObject subclasses. Pass the Entity instances to CoreStoreSchema initializer.

    "},"Classes/ListMonitor.html":{"name":"ListMonitor","abstract":"

    The ListMonitor monitors changes to a list of DynamicObject instances. Observers that implement the ListObserver protocol may then register themselves to the ListMonitor‘s addObserver(_:) method:

    "},"Classes/ObjectMonitor.html":{"name":"ObjectMonitor","abstract":"

    The ObjectMonitor monitors changes to a single DynamicObject instance. Observers that implement the ObjectObserver protocol may then register themselves to the ObjectMonitor‘s addObserver(_:) method:

    "},"Classes/SchemaHistory.html":{"name":"SchemaHistory","abstract":"

    The SchemaHistory encapsulates multiple DynamicSchema across multiple model versions. It contains all model history and is used by the DataStack to

    "},"Classes/CoreStoreObjectValueDiff.html":{"name":"CoreStoreObjectValueDiff","abstract":"

    The object containing the changeset for an observed ValueContainer.Required and ValueContainer.Optional property.

    "},"Classes/CoreStoreObjectTransformableDiff.html":{"name":"CoreStoreObjectTransformableDiff","abstract":"

    The object containing the changeset for an observed TransformableContainer.Required or TransformableContainer.Optional property.

    "},"Classes/CoreStoreObjectObjectDiff.html":{"name":"CoreStoreObjectObjectDiff","abstract":"

    The object containing the changeset for an observed RelationshipContainer.ToOne property.

    "},"Classes/CoreStoreObjectUnorderedDiff.html":{"name":"CoreStoreObjectUnorderedDiff","abstract":"

    The object containing the changeset for an observed RelationshipContainer.ToManyUnordered property.

    "},"Classes/CoreStoreObjectOrderedDiff.html":{"name":"CoreStoreObjectOrderedDiff","abstract":"

    The object containing the changeset for an observed RelationshipContainer.Ordered property.

    "},"Classes/CustomSchemaMappingProvider.html":{"name":"CustomSchemaMappingProvider","abstract":"

    A SchemaMappingProvider that accepts custom mappings for some entities. Mappings of entities with no CustomMapping provided will be automatically calculated if possible.

    "},"Classes/DefaultLogger.html":{"name":"DefaultLogger","abstract":"

    The DefaultLogger is a basic implementation of the CoreStoreLogger protocol.

    "},"Classes/DynamicEntity.html":{"name":"DynamicEntity","abstract":"

    Use concrete instances of Entity<O> in API that accept DynamicEntity arguments.

    "},"Classes/InferredSchemaMappingProvider.html":{"name":"InferredSchemaMappingProvider","abstract":"

    A SchemaMappingProvider that tries to infer model migration between two DynamicSchema versions by searching all xcmappingmodels from Bundle.allBundles or by relying on lightweight migration if possible. Throws an error if lightweight migration is impossible for the two DynamicSchema. This mapping is automatically used as a fallback mapping provider, even if no mapping providers are explicitly declared in the StorageInterface.

    "},"Classes/UserInfo.html":{"name":"UserInfo","abstract":"

    The UserInfo class is provided by several CoreStore types such as DataStack, ListMonitor, ObjectMonitor and transactions to allow external libraries or user apps to store their own custom data.

    "},"Classes/XcodeSchemaMappingProvider.html":{"name":"XcodeSchemaMappingProvider","abstract":"

    A SchemaMappingProvider that tries to infer model migration between two DynamicSchema versions by loading an xcmappingmodel file from the specified Bundle. Throws CoreStoreError.mappingModelNotFound if the xcmappingmodel file cannot be found, or if the xcmappingmodel doesn’t resolve the source and destination DynamicSchema.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Global Variables.html":{"name":"Global Variables","abstract":"

    The following global variables are available globally.

    "},"Enums.html":{"name":"Enumerations","abstract":"

    The following enumerations are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Functions.html":{"name":"Functions","abstract":"

    The following functions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "},"Typealiases.html":{"name":"Type Aliases","abstract":"

    The following type aliases are available globally.

    "}} \ No newline at end of file diff --git a/docs/docsets/CoreStore.docset/Contents/Resources/docSet.dsidx b/docs/docsets/CoreStore.docset/Contents/Resources/docSet.dsidx index 808e4fefb5a8f6f34d727e6e18ceec986293c63c..7135198c0be8531f23bf4e314ce2fd298ca60405 100644 GIT binary patch delta 76212 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 B5z+tv delta 70713 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 diff --git a/docs/docsets/CoreStore.tgz b/docs/docsets/CoreStore.tgz index 935b261ec9a9ef75826148219c3f50bbc05fc05f..e304efb70688383e10de1bc8b027b882f18aa0c1 100644 GIT binary patch literal 1212489 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ì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%0AG5(X7_&&W6|&rktdPaLX& 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

    ^h7Zq@F0>th|UUgyg}R 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 p{+%lUuz3 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

    $A0Lh13wST%vA`$d0CK-)^i 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
    O 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%0AnYOpajqiqv9^`*3I#yqzm{R|^5Fzl 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

    aWqhV+;EmozK9a0~d^n+fkhwozO! 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

    ;j3$}hk0^E>CL~Cn(I}Yl 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%0Arf$pn)9hIk8aOQm-J|nyX_;anxbG!p^Nxb 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

    D8;Y)jtEwG)qr2 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

    e;#e%n&DaETcR; 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

    nNMU0B zvlXvg05Ozg-5JpSjOH5JvG@IFy?=|x|jSW|Bk}@^v$nh1)nLer* zph&v}VoGA2bJ@wo1h&TuEY;F)QX;546U=Dr9!ASGupC01 zwp*g5EvVfoG-Z)A<=MZDv_v;R!g<^f)NHYsFqUq;HnB7sEYs3)?=jrs!DejGvRrie z+Q5oQ@VCcWEbEs_4c{vxB15wo-iUyA1AGd#8!|Y69w%qLJb-v=gc4<8IohF%q@S#; zfRYiACXlxEkM7I!q&4`(sE`A&iDdG4pE>I-C|P#<>kEG>16a`b*v2U`1tRhnYY0G1 zLmuGAmJO?T&tem=hLx^RKzBUPco->Bz>n9cgnUG-5#0&UfN4>x;rPCOSw#8OiGm`I zklvLs29x=vX7v5ls3S?dG(SQzDK^dfhg5_}w+vT$ zS%kptGU&3Knf+D}!`e=#^g@vi!Z%RL zJ9HJwwEjRHX;gB}-E?SY$EQX1Zt!$7|An9Z^rO(u%PZRJF00Ua3nYip!P_0; zyQyOwn55_b#`OkC|HJi8+oI$C|8l+AlYf#uZWUb_435V@)OJ+O^2zzeVYyvfA+j;LsnA^_ofp zFzG}^W4zr@%An&UqSvk6)d!V-+3AeBIgciwp50o3mOh8BS$aK(xoq@^gy`1clIpf; zw?{TU)w1|}jH>a4B)k+Z{w=75t-ANU@Y7sEi(A)dSZF3B-b-)w_WBsYkgQh}>61Np zaXP=~4%=QRCIks{k_<#jW61ycQ0!4AoY;!q$0n8#4 zkesw5p&7{G7rzqslgI^_P5lFOJMdh-Nzma;YgHhKG1i}tmq0Bg64951k7@7UY1T#B z<1tYH)H7<+CH+hBXW1nqu}fmfWZ+2_F!v*Bv=J8Yc)78xHF<>ue$Jl}vvJWX8F-hI ziOU!Bx=!%dn8hvtn=$wYO%7dgPA|>p`Kzheo#1fZNXuY&G6fhjYJVAe?~=Rl0#Qjc zWNE3;B4ZgdAwVEU@UPplRGpH(TS-+ul4{gpY_ zXc5ARmn(ocYZlO71Y(XkibfL-EfKmipk!04!e4uBesWF$(Wq4b@i18w+D?#?7!(?I zkaB4h+EQCn17atDL;lO#dWtrx~^n#M*-tukMtTg6uMM${{2U z%rnv?QzMc6(@PLQPn2G(@lzLjVanch_}|0mV1Gio6%Q1eJzPsZbjA$2usS60Pss8{ zy9S76%rUFfYT`g+3W(CDXZ3&5$kjkJ2SSOiaCRdZQHhO+unKCTKn)iAI@JG*BGPs{@lH_dlC9{cW_7F z9?V`T91kT8$oO_%>T!xAfigxxgm})KZ0_0qQ^Z#QmYXPEaCK;?9ZD0H_j32i(S(fH zA^-Dx;q|3pmco_}+>FXP7Ek2eu>iXdts)52e2dv&X%o8y2m8DcEeK!McMD#H-;R_? z^0%{oF9cV~#2F?L;$ons5b7`l^-!+dC;lFT-Nq?DbAw2{07uV*c3by{ zSq&e<0lFgGu`4nO&_XpXEk`4z21io3&n6(i2{m&UK19sVlDPt4;?<?&~%6+#wHs!5GwdiJSmMc^Dnq3r%Q+WNS zgq;iqnwXofq-WW-ZVK<-fwPycRB_BS1phW>wUS+@nqjBh#zR-O-dh{4aAcKZ62Q6s zV0~2f{PfU>esV+nC;Io+yxC7ZI=1D17~3#RJspJDC9it|-k7qN+na^|iu5G$en9*u z(lh;z^xT*lZ`rqInsK1KW-jACw`-_G%ogxKMIJ-IGr>fnY2&Irt%!CeQ>Fyg&O>_z z1c2ylYIVG)07Zw$vgGC*4fYSgxBB}3(qK6+Gee}Wum+-kyS3ywtp4ff$3e+=|BFxm zZ_GCN8?&`2oC%-@Z|Pt5Ev)RvHti_kx7%7N^f6>}a;40|CWP&LpM?LZ$E_fu$9H*- z;7v_eL}z^dhW&=NEn%O`qEDukfax2A$-+m%hu+VISX$$|Bqz8Rr5W+tW;;u zOb#()K^7N#yvJ!Oi&xtDpFA%Q??MD0Lx5J9+*If>>l5U>LAy9BEjf5%qB8n|F5Tj6 zF-`+DriW}xDi^c{QE~JR_ZPu}R#Q+#Tav|xpZ|Ja8$Yq4<;c7Bp<`_5vLd_fYkgNG zG@tiBp2+yNSex(0T8uF!OB~>ASy)J4n}#&^YfZMoTHC?1|L>{jkdvB4Dtp5^5&AKn zyK66QY{^w+d-e^~LCD=T(Y+a(SSKGcU1USZIwPf~o9P1X=#9%x=55md0&ig+kV}wb zOPd-s&!zTAPn`YU=G}PF6w8{P5T3+YVq%fC7#{z3n%B^JZFPnC9$4_bluxMh;--w9 zO`BeYZ5;Gn{jr<3BN>1euigiL3u23eF)prpfS z0=kXKttx%1=g$iY%R`9*!m$Vu?L#k!g-So01b-db%{Z&q75x2nu(#dFRK@^o)&8cS zU95cJkEBq}Q&?%Gt287l<7Cr5c&tglTMzqHEjyl(GHdv}Ey+ z#&d1xs!ES$dkCfZe<8LSzy2Gswf_%dyFM?~AN#aTA_!|V$mqp)atYffqz2(A>C1zO zx?Y!^W=BMv5y_UyJL9>HI#ua$LBmU8$Lv@9Ag3Jxv~a%*5vNv;nf25*oZ&|P25d`j zZ(Da`wZY9@Ynyo_6xJsj1F)AizH37(#r<*q6ZBL$b}cV? zrjR`pl~JF&Gd9p)qVH3W7-zYixIz(GgD1*6UsjL1kR0LjqR_1Aq*F__UOd*`DD0j)! z|7|>wwGxUhC;>0SX~Rq9+bHfPb+vgZGVfRfwX_mllx2vz8TaWPL^E#U0ey z^F`_afGUSF% zM%xI`5SCb?%x}D75c+q!7Q-@XFrv4A=rCMq-W-i`+EBELF?X#G$MK;} zCoZo>{At-53S=0-Gv}YpJ<*&q4)yQ)9BTJIj)W~*Q$}kkAPf>2O0dm`nMBznGq38dwL!Yj* z&B2Q+2R)wyw7rJThA4maJuvlNh>w6_{e|ag{@I1X&OEZhptn zA|Z5@(d?6*eSJYxJYC{WUKYFb9)wE_I008XiNKvc?5SsNt=6en2SXztb9{LTaPDg+ z5_ZI7tcvQi+3b8CSC#;(!=lQQ;)r(8NziCGEOVPda4PL?KUnaK!7&9(ANvLq(_;sl zIqFN;QvSdIw7kEIb74gdG>p9@cya5wjF$OXRiJFHmU;jOOcGjQDgitJNE?{H(6xm; z+8}9z;tQ6i0?|X!@wRg`bLRgyVz<&F(1d3D-26E{<-{UoRFZr;PfY7-2VfXTBV*ld zO8fdVTfNY~S(X{c`jv5${IWRNu05*A#I`CltZm+@Tp0^BmwPWyb!^@n!|p38VEoac zr&Vp?GyE`{`*UgM4x`ckBB&OwDbx%nXB#Aq2?xB(IID z$2RDfS#=Ph23#7@n}ra9UvbD1YP)U9!#{HE^Qb9(@i%QKv}5ya@52aPakE378=n zVW8L`MV@J>O2k=LOtiNr0oO1or}O+09a%(9@>yJiK^yqlUhsXR()xDxQRM0sV*D6J zVS-Bnv$?BG#E%?o%gl+S3KBK3JdC`q+lsFuQfMIZbjPU3A+AutcY^r#p8CiwF8$30 zep4*n)?fz;-)vQMn65(iwjqoaN+_OUH_CT7O4LkuIUE%6^ZxxMgrf4mHA8qLOh9_)Cw-j&nm z)#Fg}{rq7As$YG0xn?&N^U={Uo;ZWb-dh(kM^iqy)e2>IFt)z$AQB!=GjliV`Nb}8 zvPT4NAD)<9h=ya{z-GD<+Bia>*_cWQk?E8FI-SxU{96M6N_nb`RHVi^7SiEVy zcaAyO!aN!5(8)RY(z8r)Y{afZUN2*whfJMz48L4aqgF*|r+brk)JjQx{s1#H2xjgipjp^MVoIyO#S;xn?aAnfP z2TZ<9S%)EKzRY%fC%@-qpf|n6KtT4njhdqK9JW=B1Ppe%A@2cM9eN{|@Smg{P z+qwmKXcUjxJArZ`Nh~x&kLUA%OZF+PCs!9W@XBgAlssG>f!x@NjkLZQgS%3j{VY;I1&LockS zQZ}a{`%Mw0G$dNvm_O2+7TCi5sZr9qquJiaVUa<>5@fbY z4Z_bs%}r<{sTX~M`^%b4j%{c*{+tljFv9$?fCpV|W4s=R4#4()a=Xex?q|vE{WFFm z!%1!hLkdH?$D{Hk+s(zJQoXT%P1{|RT}7}g3vwV4T)z7$V8r^FG=zFWVs{SEFS*TL z{it1IF`Zd3tJ5&MM;Di?9bfGBW{3X}h$_D{FERTyySs10aFZt!mN7T1p-+)Tv9l_< z813mGy2W|gdm9UNug0opKZZ0~CNb3##Oz9Td0YyEhmFaO6+fRxP9wB@OEdSDc;Hqz z0kgktz;Qb^rsflys^|0n8)%HY8lJV(akB*X)vp)XF)8jXq4^a+lW3GnP=G(L81piR zJ2>DrXzhO97^z_QZN5!G-Nn!^f^;zb;2rI4>}P=~wl>bn(=cMBi6aW=wMB@ws2UE= z9i^C-7zuF4k#p)V+2xDQ*5ixI{JrwOp1I&tvdCOb%>EM14?$P-(a3X~75FV5_O_N+Jff;9Am~wRN~vH6R5pJHzIb z`o{)aI@u$ybyNVnLF7N5U zlXRuGe??0U1bU7?dW@R$`2uH*Z1OkVez-3tTL2+qT&A9&H(e_hIX*V4br!OGF3gI| zgutsNaZ~^Od+EPW>eAq~4b1gl)3)T0>ACDE(6KIutf&brUClPJV8nw(=4$UZL6lVe zAA#=jY=TXQc}GpnrW?f-0Pa8jTq0uIEZ%gYTAA>LDsR%Qu2?EE(~A0Ub#9mM=h0XF zoX3OW1JUlF4(r|4kggI(R=6E^Z^*N(vuPUleeas<{GI&54*+}%blq|OpRC@(r-RnpEuCwL>uNFQ zw(n|7V_}Mj$^4btZ-;gGQy`xh-?GtXaD`fKE(+ApMF8hw$%Wztaf4RVOn$$s)xTNB zFWud>z2tPcOr63`>B!ckT3*Lt~-vAX5 z^>awvRFWsIASqj4L0>C_3^lY4qYB|=Clj$iI!Wa!kKtUnV7*qOv;HdQ?IZo;2U?wH z(5alQO=sGU!z*8vanq_(zIQ&i19*|mKl*ZR* z3xZ_MEyst6jqtk<$n#^k)Y7Og{~#CF+X5(~glGtd@6l|njjA6g(c0yRL(>~(tY+c| zeG)B-CE#PzwPTmhvr2SSGK*UK9QW48S#%D?y?zm9-^H`=nw5hVwu}B@rPP;-bHf;qGkFdDwxLkQ`;M5x)Oy*^dn>}XC z8axyZjjt-p8v{YsG*$sB=$A#8@Bs4aQh{XC-G9WPVJD3L$`O2^6svlFsN)DgY^&?g zL4L{VF1g}716Hd9giy#x;0~yt=o{*vFp;jvTX~)6UKUzAW5YZ zPz$MN(qAOJNvN+b+buRa)`e=zCXrkTYsxxIuyx`x`IYa$*7R*^3f!TKVaCHpzLXQ9 zid!KCUZ{wmG>_}$66OP%4Ed7}VC%aBm!Kl840A#n3;^I3^1Rkt)OGZ2R`EZTTt%sh73THeIDKyrE>_DJw*R zPU#OX4ZIgj-`zQwLIpMjdf<3|=YNZJ%7zk5kdcdnGjKk##EkmS@wB%7%de z^`nj)ax(+%`W^vLst|CUufQ+$@2duJe^uny5%tXc%4dEr5&<7%;ls8#MyEvpS3b6l zLU`Aqu*7&>tad1xV#S}C=6EsipTku590=CO#VnsB2mbwHZgZeNHh!LaPOQD|UD_Tw zK>y%OZz2tNUH1P&!g0O3nZ=j*VqMOzV$6PWFuG@X4#{2Ft@b*6e8$p1)4}3KiiE_- zFqp+h3r8;VT1sc#KV&z2Kh}NHKH3FSDV^O3Ugmj+xnPbu4 z1-SZSzRi{kCV>Bxag`_JBjj5XSvN-Us87S;}1N{+_Ilh zla*Bc+xeRCo>8jjPs&4uH!Dg+?J{l!PhuJ30TI4}wu`ocse&n^R@_13Ya*@)@}KOY zVolo)5r6{f_dx0<{53>^yj*b5{Kt`tSJ!=|9){lMWNS&g^2oI|oS1U1)YK1u{r1Du zJ2VN1B;A2>uaZoaa_KHZwM;nmnh32MS|5{TdiTSpD=dZ$9pq&_o+Kr*BsLtft?jRT z(g*jObCeFyy~9VMpAT$Qe^* z;AX#HV80Bh_9U+N%$|GDiMqO(;@87Gi~Nx+z|D1H9*EA`E{1F>={0bcVopXL_kJpL zS|{HVEhrQ_OxD3%2fC4K2@N?F@^$0Ket;>n@eVDoxzJw`!2G*xG4Ocq8R5Q43lX_+ zngjoEvh@e}Y!YjB@>C!5pjZI|!`TSd@UkN3QQKug;q<4=Oi%WT6ux)mK*1NFU<*)i z1t{num_l2XQP4oW2HfsCuE|BfehYo6#KjOjf3`G#i*r34oBWVL@n>#JZt&r7$w5MzEq zmu?lPR(Y>?yx9eTVINeVys6KbPGf+0eez8|#8R`SEVl^_1Ku?&-`QSRw=a>WFPjdp zn2;KcTzoOY%L-%q6c+ZNrgW_OpcVPXFVhn_@yxZYt zb#>qFN1mlt1Y`GARKl!^JK;r9YLj8bMbm6*#oW(EM8EO_0_-tvvbK6)J$(dN17} zWkYdOzG8jDW`62wYs;-()ncBD^9twasfm;8^gu{``$LqQX(~g=$?l+jRQ!Tt{Va*@ zrtFCL;EV)_k7tgmr(Es8l-^Z$WGjSSk=<{ztssJ-idtn8XqR~Egg$bB<-_?>EEVJQ z;&9A*rl0irOzteoYcr@*ef6$E$b7Tj%{N{RRPD?KZ(H=49mD`}2~@B-I=Z-+W4+!8 z0l|y&Pk|8(L4-j-2&Sc9Bh4JW_7pcK(>R{>Yg>}Q zB46Y_p67&6xP2>AcUNtMgn29ebwql_r6@KQ{w!bRpB?*aq)8iFnw)`UhZs6}0t2It7nsqh%G? zoSWgB9iRZY&FP(H6SVdT0UX~XThl@+5Y@9;Qgt#|htGqkL@ku+2_V?m`9fyuaQV!Rr>9*=DJYvCt!4WWyI zm+IOE26qt3S8(f!uh1UGRoVUfzWWWd@vFmmsZHzk&8$MDCS9JNpkZ-oY*OmXX|C<9 zp(CVgGGkUaLtH~F7w=b``L9kkNX)ZemLq>FzPB@! z$au3Qi16XjAj@(QenM}Ndg8VXIh0f5d{^04E#aEAj?qz30_HaY!=&9sGZk-KXD_8P z%e4Lf_=CF9qgTAv%z|fSDuiBx9}s6Et<-37F45p2*QnRb8}C)aaH;h_M=3#Z6l>Wm7N?zNvua{q`{){V%ZnaDjgGJ zM_G21)z)kZ8WD1Ig@g3WhM^qJceq!1z9{TX`hu&vT?mkv!kk~sG<`!lbX2Yr8l#}LHVNoH!yk-sKA^~3%k+h_a`f<19%gYAvMbs7 zqR(~r)XoCY9Do0mc64$>8_{BG7(UwIDM`}MkQC9xX>Cq!P&b9fUZEJ}g-J5#}4 zXzSyCVoA<4b0EUvgI->2%c`p}ir`N;8l4?D^3rX+ZpRtaTg5Vn_(h$3P%#K`l z+PCk%u&tv5EjnK`50K)ndy>v_0OLvJu2RL`AbdkOUxMu~cn2S(kM%?n6YvUkA%=*l zaLrBM3E0*#n^`XibeMf;_(W<{O;M6f+@KkZjI?V4U(trQrVafL-W!JgYVV8+AM7as z^;^h~79JX-yzcPV5<zt5=0D4bcVUxde5yz^;w4Er?R}Sg~;@IxLXnitun>H z+668o%*8N?BBn8s;TACl+yiD*ZX!%P9TG~z0u5?W_CyhR3K7#XE1gCvi{QIGH-!93 z!H)}=FX;3n(zn!U&KOin`eipp!ZKNSK9l20+KmA<;5&`&mI80xwQIE7Z1xY6;K;~71r^8GFa@UR?g~zYBEbYJ zVKGv+iAJ+%?7AJLtTTLExXa({#?DM^E%{w!l^e$UY+-QIyUf4L=g$YTZc>7($qbS8JkKj zRwoY`7!9{wEw%CR5|s+<^XRfXdaMNhg1?g(8P! z_S0Vi^5+PabS@kiJtjxSKt|q`5;d$BYRIe!2mAvC#Ki&SP%$j3q9PLbe1E)5qs0OB zYYAATX8LN;BEj8|2#7s8gYQa^IHFGf>a%F+zI{U!6D3+c)reNEFx!MKnB}cmHSEW9 z4*;gOn{H0F$eL1C`ferzlK#dnRvb5`ufPI5QGwC%0UH*hD-}ERqFca_X`6yT=C#y>N5{WU$5cf9loXOlE$aq3&>Kk}F8k;?dEvrrk5f|<2m%d-(e z#Uwso-~V@G3H&bqY70fq(7wlaFS=)H_>-`1jr=Q7tfrC1Rrf3XJ==pza>esFd}h0EtOSnwg|eGSyNl7*hWwC3w{&jsyCOhxaTLr zj|VCok>JanD3s4Fv`*12$FykT;ho{7{&mo&>D`jm|HJWs0R~~jH4`{qpuaMb1 zdSGTjcBmBI`*2Xt?odL|$=!rV)!uPZX^U2iohx+uIv|%>JSAiFsMps}@_scnQGGh0ihmq-*dZ9oNcrh%ssnf{(2eX8W&>JAL%$XE7 zGcDU0;O!G>AV~m$b%OiDG^n2sjUJM;`6~_xx^){__@P0(DsrJ=GL!oiXEQRpe6$vN zf`aU&XuKJ@;S7A-kFP^;jB~ z=KZ6xooR7~UO7rO510tezFyMs`iF5(AY5>C7(W5cu>9JlH z+jNle^6FD0rT6j(EP_L&R*3D?&*t?oY;ePm6~v1&dM~+Iq9ycZregK`M5D#=9`+Rq z7$`HVDUO8tib`7`5P(Lw4Fz?D(y89o(-8hcJZp;@{l@pE)Pqf{eqlBX(!t8%jY8E5 zFcq7-Sim9tvL|?Ief~9VqWu{kf!KTeQfCXI+N|;jx^{&X+yZ}dA$5E4MWp=n)uBkz zi%goL87XC?JKgBSYo5)?HW35b0DR?#)_e-&MYHY?gHFsb*3P>9AtdzGh7lT z7&V;wuAb`R;&HrdiX_d0dXRj=M<7ONkwW8z-BaUP5^Mul0g8Z$IR=u-sjrlaV0V)8 zXQ?5lVI5YiJ)otmd^T^5WS_zHpSRLl?I=LMHa7Y%>Eh70Q8crhyum&Al@CAW9Ix;*GXC2W{BDbTE!m~V0KyXwVNK+y)E#SB^(bfVsQ#= zg+ajgq}&VjV1Vv&3Kg^1nNeB5w>Rn7CJQ5Rr2b)wQ6A<_Z&$;x=FNEe&&rHhdk8E8nOg+e3)d5z^xc`t?wY}(4PLXn4j-u)g4eH6{pL1 zC>(PoTJX;XK6%K{PV#S~d!WW{&ek#vi8-KD*AK<$Otq#t3(V;ti*)20%?_Y+5JrU( zk=}Z~-ZL@AT(Sd7+TxHH+K~)kWO!?gRaAk&2NK$|nYD4oFLumiEo8f2wSIH6H3va= z{O#P%R;& zPmWI7`ZK}Wl(G1Nq$iZ|%K0!JmpMI(b)$!H1bsjsGY(d|LLl_MkJFfCP@M1^Ycn}# zz&IeUXu*ScV%50fH)>?$eYu72&cD0Vgi~QZ-Exfuc18p>ozfYc=5kX95MRmN%))C; z<68ZY9pmS;poN}pyfs1}S)pPu1lm$FVo*a39QE8ExhGYz&TU-)ITPs!x%Gs1^`T!IL5k|B2fi5*h8P% zbIi84@SL_n&1Z~1n&qM2fWd7R#5XEPp}w<$>_&aqk3ps-zI-nh&S2+j5>dIG9~Zs- ze=Q26=_=m&5cOE^fyX~>W)!rC2b)cg)g(onRSru#>^cz>e9h>#PkvX53WT8vmL}1D z>-r}v^Py4&KaDb=%kFb00E^jV-nLmAPG%;WiEE8DA4QwxuJSwMk+9Zu@3G0fhR=6f z+Ei0s!+sf0Klo@lCv0C&7Rz`Ss2cq6v_BvoMHj{56#I~6t3$R)#<^T(GQyRsZ?A!A z6rxvAL{?P-uzNq+aB^hb)tGkF6Hp1hZgsH^wEs3=nA!~PP{vk;;J$$mPW9DShRUCK z?sjfHylis`>am9?-K<2~=!IfqlQ@SIrspY5+ym6+&M=A1E*h#$f#T{`e{Lfxkvvzk_oafazW3V-r?qYpbH_XO(#3kTJ zYaS(0#_-$F4G{afOms^O`h8ayuxp0fA{nl(?SuEt*tv5ij?9|@NcBXfp zY`oL|mK`sS3WSQcS38ljfJtmc)FF_f3%c<2lemsO7vNY=i6)07T5}4_EhM72n-ksJ zrv^*6vB?+fs_T%Bf~nq&{sFz?GxTUsEKUD;Lybyyw5u?guv zLpqWJ`Qn_IP<`D*PKsj+mjtG~OmoJ_Odhp`F9Gc+I#qRpo|RXy2?k0$brRh-0GYJ+ zy~hH`%HvM3g;)#N{kL;IShmtUu6&_sBU9Q{%yOuF0xL%OoDU1WU$5aHGvQo#%3HqK zNNXv$L1TY-*F4Bh3#PSLkp-NhxBD)AnNP3^T#7bBq0WP|C*_I&a=h)XRA16U<;P@| zjt3`EHQ>-V8HX$KEJA9tgo>2urGi#-#54+OrXON@E&l zaq*ucZD-D>Jwn2;Gj!0LwC=`oWyF$)ZYH~uZ_bX37HFsx->4q(ygr6T@ z5tw$%!({^iSl;z`(VO>d$Q(ZL!nDSqX1I2;(T;z`XN$H=vZ^Ir89 zB+Ja!ZuQ^a{HZuD^vq|jadW`mQUTq;YTpa6pJ$jlcCF8&tBwV{TB6nh1B!ixJ;xyN za-{7lCVn<_R?Gv)t?Z=$Dl^r_(o#`fw%g{P_&|W&?(FdtwI!;g3_o=vGUH)BzOz#V z@x5Z>NwO4Tfk!O|Z*2o>bkI!lBHPSH>a6ud-!Qk%w9Np?n+>KIt>DEw2#&;-d5|Q1 z5HuL{yF4j#O_e1A?rbEcJ^^cXxM9m7_erqw?fOmFct_6<&l9V`an|((BSZ zk8@6QPu~m*D6@%2IO=O%_Va8H@Wawc%{$3tQMDoKQ(#o5T~`ehE>5r;Hy?g-y{G&JCNgosYMRtOdI%^}+Lti!KiY(n#wiGnKJxsItMnw)Z}FPHEVYQ>*Z z)?^!mIXa5Gwy@ZMSz=$1F*hNlyEJT?*gmD46KfWR!KuID^g$asO3qPovv`0n9R154}<_o}REMrTeE8Aiz z^t(m8E=!wOS%Jq$-iAvV0nGjKATw&!fPvITIO5>h{SZ|!!=m+`g@O%D{Aj&MxHo+**DQyIcbPU^#?bD(qNIru#oZ2%hdk8_WIau4|0`PFno zK>=0jYCdJ5GoujYiWJ{MI84@Akt6fFWlS9k99tr0qSosuH41(&nrCiR2e;wdn8Rao zWa%e@=gvni&OKe|qNXSuNgF*W(WeHGh#~-;f5SvCyYI0erSOzZjzed5WN%Lxz) z3md+3Eg22@O~g-Ilb-f70*M|osh&Bs>CR9HUZqVoG%haHRKf+H9#fstLUmT0deG@c z*zu2c*HlNSgkg%yQda2;_f?QzJ`z+Hi!F^MbY&Mmhdfz>1jP~$!(S&S1OBxIr7Eu*U*5prq?K%0N+Q5Auc^n_rYeqmcBt2z}7lH|5+hnpwX?@#UGcIx@-}9hm z&MIxNIw$H93iG@`jd*{XW}!%xv$-^Hc;z15$-s1TODy2}dl+f!^6`EMcwAj<$%vn>FFTqn~ z-^|p~o*6Wu+97Ue{0l`RXwO=SIc&ixxY(HwCa9D=bP9p^3;l*qEpqdfCo0fa;*qp@dlTm&sxW~{y?tVT}#Yps+&$HXIS9QTVeV_m412tdEvr#ho!pu7wkc2; z!f~~Ki%JSIfO@~HgXrKRb7KRlW&ux{u48dj8Adk9mWmMUV_IbDQsJECXkr)Q6FPMP zj<3Tr%@WkQv2*dR>Q0$w)4=TE3?nIzP+SDd)ydid4P5!6oGDgfX$4|si8B_;Tvm(n zPZo*wS;G#xkGO}0ozw0zAA67E`FZxn;x-0O^y!vS?I`zPGDZ$E4SzT|famd{ReiD$_!Xo_+HsZcH`G7?u6VK8P5&>?=YAG@cEV6D zv94(^ToA|k-TR~6?mNa^0Rk9`M5$&=*`;@g_j~R*I zq<7#G`ffw?y>=aaYZ04gWmNp5}xd{_5AVZ2KIaHDzmk< zgk5my=WD;mNz*l%GkPpPYA&@Hh*ZIO_`{@!*9^EItCZH6lw^)y=M=RT(%j$UK0w2h z*VQVO|H0x@&)CP7?+-{af-KV?1P;d?f_ zS4?jD=KPKrV~Q4fBhvInnc+^&CRO3PrVnG$Wxk})wBt0%2aX-y{6c!uJ#hKN#Zagh z_@U)B%fE3u@W>pSV{Q<^KWF;QC$YGHV&!zKIL3R!Je^Gd%9v&cVt(r5v>o3?*F}z_ zFp#HdU49huaqXHKGNL;Rv~objSPQx03#lTZhKHELu+2^6PI$Qt=I%Wx88HqNMT&bp<<67fGk38SxszE6+JdnRbhTS5k;~yUlcBuKy}ufu|M@hj#%7 zn-)6RX$)PqW#Dl%B_V;xu|~PYvT`&sk2FY2;8$Zamky(XHCx0)2eS{#WUQLmL&Kx* zOxM;Hwx{hVQT9vDyAI}ID|F@6A@rX80dvZkX-hFksJc2`wx(%MbX0>fyU@$%LRqzQY4`gjkw_tx0%(z?a)i-Uz1+Qv;3Q02&2hDC7vr=SET8Xp>P&q zDs@sQ&NQv*9haqv{P1MKtw*`F2V;dzfKA6GhE$}#?Z-b}CKPMWHA@_RJjgZ2Cf#=b z-)-tu$3tS0VR*?YW&uPbw~Ho``sLT8p=~NX6qNTL_*)y*(M-NgnpZ~&Lm;8Y9&n+D zt4)V>-(ovqdTc?1$Y)rM#I-_t>iZ_Q48cpyO;WJ6(tA#0;*ASVQx~B-WNmbVSuCgG zjqyTkhbqDebCW&xO2;LA*X^WV7$!WTeoGEbGv|qYO%0Uqc&Ga^m4eK}V>~;{{kpDV zxXznP@P*LPp7apr&S@T|Ce;KGCG%r$PP)Z%mJLYf@SH#dGTFU$ zrW}dTCx;~ifpaY0W+>nS?vqc#2>n5KL2ijrfhCJ2v&5f1jDrE9j;4j39awk>3ZV=yoWNlJEY)p(cy!CYW-|C5 zV9@TAskL-etZOQA{X=MI=_cnQ{LESrIqqX{OdWwr=j1|>?v{*#)(`AkkP6_PpI;+L zuYdpR#2z8eV7o#sYf2%lk=QFJoh3<#%tB_V_zb;TGn~s$HJM!Yvr0q zZMRK+Gt#fQ7HM8=?9CKZGs3-7%9kS};ur5|KPR32_LKP1m z-IDv)2>Asjy1J)gNqeIG5;99GUIv$Ca2PyNq;i1^C~Yl}c+d`Q1*%8bR4?GzSA^?> z5!<8blj6{7#lV)=%?8)%(b<`cCP~y1FcVIndq)XP(~7ts@`&PxGa^wNSH z=_}0#W-*C8`Qoa@4V=8Lk#xINakde25_eb)W|(xGU^#USc_7TAv+2^Am}&sGy%kNDcqO8M7U z1n3pvbfaZH&?Qe?;(hHf26aPrINH~qM|dOF2qpnx9Z6B?@g~)ud187ml3@}-E8iJs z_x55tv||(y-RKZL8x=S7(Me!>#?ane8DecJ+GXe>irt?%t2gf8d_#QSH31H${#*kd zS&b$Ad!_sD>}A#2!(Xanrem)TI&meEJvjYH?1=H8bHKb(Laf<(Hp;}1CL>vnr%m&XZ_ zU*bxpfIP3GG*52T-vXAca*vABC`?M|ko5JwBdO zI6OyQ8tB6Y_ZK8^)i91jp!y!}OmStpa#V`8MbAL73zEyfAFX{5vBGO6u%!mf|ry*S_Xs!hbrgS8%O{qE*3QjbXa z3Ci*6&1VEO^1pXmwz3^Ht_Fbctvp=CIu&ZnUgRWCUP%SkXBd3L4*x27ax?SAbhgAh z?_}7eeaG8b!rs@FN;SP3@|Zz36Ek>7sTdle2JCZY_UHpD72EC14eYxjwh%NVoFNqf5`4NIHuT0PYcG7VwQChQe!ILb)u?WLLRxuKPu2C|xt-6kmcB8Q0E$ zKBNrVuy>xGKp0=+a{YU`^bLAheZI2jCy9DQEhs*)Q-MBrkpuH$)FaKup`w100Jv?J z!-EZYZ#zmRoj@cVfzh~9e?`&R7or+be7>RAUxaP;D)V})@x@mr<>xW|cY#6v{P8fv zzr2K1#5Vh9oXtllu^o07hUU;^(l7UBSSVQc6sp%nI%bqX{3Tn2;B#D%M@{}8> z6@#`Vc5s8MS;SsTXjbO#frM#&(8%CeuheKMJ6kmPdO=p_XB`RQR>y} z0YG)cL8`^Ad?zo~ZS*uE`q3JNg$F_6W$!9UbWB+&FY6|Yd$vb|1wv?L z6*`-eykZ7>LUt?<&$Q&P6y6DH>zhkIiTj9q$Q+w0O!`q+aSYS}C}pr-mN zmuxR}{L;2`()s5`iQBNYVU`Ygbup_7`(M>J(#LsX7TlmH8+)GvvEgadx)G}2Vz=C| z3L1KcD7~=MCx1EF9`A~Uf(BmPmTCdm-`bijmEc(2{`H;pXh4;10N>g+!MX2bHBe<$ z{vrq-)=!>6)Xd)y7Z(M>+4(ZHi9+gU+8d`AP8Nb)g7hZ!QU+NxfJjs-t-x?7oIS%S zaCxt%^c{ny=juG8?w7upLd!*8BGux>H~|AzJbT?ggs+Pp-Hgi5$NYkB58DJrM0Y8u z>!}4B6Rtvxqk?Kq>jDn8Q_eMf!-i{J=UZU%iG@-3CeBndJ*5c)AYX87=bRG~XyaPz z`krxYFN6e0ipb~y@MNaUtI)wfnWWK8V)_wA^CaVtp->7;j_OC@!%b9@1IH;rZcnG` zKP}JDStHa*;Zkm2m^J-kn@+ie_Ob9>gwD=BUd&gwm)9S&AJ_HAm-^RuMO~)vU#IYk z5@#aLL=wMmy8b?#i*5-3Qb>M&oXv>>+YrmIMLM1*k!4J}*_b?fK_BNR&dxprQ2jMg zlsr*N0tV^C&@}Ks*^p9z$h?-ch*~!fq>L@CD%1b5N$`68Kr?TyF{P_D_uPEX9y67` z*@%x7*Qr`hz>zgQ!t^3C*u8&dhVj0>c>jzuhP=Pmi_4E?8tZ*H)gv=jI}DaXW1_NZ zMz3yG7gXm&72j4edeti#z`&@{5&Ei2`}V&iXAv3bpA_wC|lfbAzkF0#G{}4<7b>Cx!>(0U9<04mS%o9WBWMs9(%bFb3FEvcs^F6 z+BrP~Gw}>PPt(OZOBZ0`>-M{q5VtP2l3GZBS#_tjj!|Gtx<#UxnN{1(^=5JO;jmUGzg;*P;S+~{TB|ip5!Z1i@{&U7g^cLbr=^Ny;gng@sI2A;XRG)V z&XzjG7U3sCt$ad88|@$6hlTH))_E0Asdrdox#BoBc66Vu?+JXb)D3XK{RRPE_`>;7 zZqzM2DLVtIp{YttTC|I6f^NioPOC_{p*#$FR1)^2H>d+kf?w0}B2)_l^9IJN4`P`) z$N-a-G1{vQjR@*1#F<%{xD(2(oa|Uk2x0o6R<<;a3xD?x)-pD>n62$+8rrSfi{Rx? z!1+xb&Tk~D)69YTjR)#84eGOZfjS~epN8}zSyUl?QHAtXe9NUdj?;|O2h;+zzkb~h zgPs99x+5IifA$)j2m~fwTp?sTqD{oB>hNGlIgMAuU#U(hVL+yRvtbSg=8dq#{9IsQ zhRE3h_tU-w`;g5HrJUzl6+C+uh@PS2p7T~P;4*=Yr~ge2el9Ku3I!(4&&`z;W*~SQ z^=IY8fD7tcx-E$JL2+|!KG-OWbM=;5`sNS_m*7em5egPSvn@FN*Eqj#L$jpvIlk-x zI2cv|&~-8QEz1g}M$<$?s1XQ=2AottNA*D^BiQ-*zt`?NIz`#0*EpUq_>GgEQuWt}o!z~Q zH(ry}`#US^y3;!d5;O19Cc zE|cfc2g;j*_|9Q)|2eHx?A<1<+wkr;w_zlSoFL&K;@(*O(i(9fVZ@%%mrzF;LynyF zE)@}`g2GYVHc-n(PzyZxZq59|q*!0teCWCC0Esz*&EEk*E_5eL%;!7ttbl^%No?6} zE2!#l*eJc?^WFx#8qpO!|Fa?S*wrU%6G4s+>e&z>)`hjC|nwY18U`gk$UR@88d30-0Erv3QyXM%K zxsAwfFC+PE><$(xAzPSWL^KsVtuq+UO<)u|gRIHD!Iz#2kduvA7^r-0pNexr#{OUM ze36;xhML*uacmfE^KkY1@1-;b3z_&W^;cd12F$f?PY2PbR)w3WbrPGFMp6(+H35Q< z0!Fw1QlkqI$EYS*x)Fwq>gXB+p)Kp=>jm{juoW(>R>aK6kxlEFn5~)!+C4CtKXg6s zl8SFh(+2g%Ex0(?SJzy~X*qhE+swXwI!cU5_E=8c29Z6?71JuvBEHal$3l3w(k(5B zl`Z)+v(0I8Yv-3zH=xul+)s!s$TZxir{Ml6?dSJfY#!aQiSPkaR}V2Bwz<*NtMIGk zvMlCE>(o|rm&*7!5}sN9y~#rBNCl3lubZO7F)lG}P}Y~C@Xh0Hw?5sarAo%)h$f#y zRIK|PYM|Bwn|s=R4#{D*Rc_pV*uJ>BwUoF5dEjsA#|Gu)0Ds?bx z=Jd4I(}d~Fs-zFgVC5{}gZTV>?mKVOyh{{qm`$>DrDJ$NBjoJF5|e=#R^O42y<~O7 z)k>9f8>gL(kJ>8M@dY_@+SPETJ**G{Win<$?6sq_E$>6b2$&$`8?vZv( zo`W>d5l{3ho$GIIbN#{O9Tk=~h;(U5KpnF531AS--Sn47yOOhyv-aZLnEfKty4)Eo z(xz}{d1x3Ld(?*wqU*c2>4}4(hf#Y_HLQFXmE+-*PR;tmcpCqwVJt;`%VHW)%l)JJ z=C*v4=MX6rG23l#cE*vIE{)ZPeiKIS6+9t4YH0$jQdIeajP)lRaV5plP3Vu+%sP_A zToMM^ZF4QA!AY(@5V-`u^&!oEVP94vyY-jlKK)Di7$c6qzE)H1Mwv{lBea?jm&;nH z%`OVk#h%KYWgRx#5g&_pU-HJXY?BXa9yjS7J0_g0U4`a zZkT70uS`JSzNtKMmjuMR6(nIhDi4%QzXXe%$q!B2VouZYlm7k3*<`z3>LooBTh5>K z??286O_o3L-+!F#@@-kJe$v1HINPuFSHC?x-vT7lSdFvAdTkGDbHGiT*qM+UbFbMR z!@^XZvgEi%H4|t?T2M_WU8k$8hoBk660wytv~!vx_8(k@7g9>T@k;p*I6Wm#ldb(9 zmD*peH@ zd&Ia}RTK4u8ns_*(`>1rt5b(d{Im1!(|DLRQkLUEZ%`nS83H>agX) z;|TQvnIY(|`6^u)%}(t}Us`7+mHiIpb!st7%r^pmjhOxL%_)pPKGwA1iX^MNtfOH z_AW?MWfe?_CT2x7ox=~B^BdbpkoJ*>Y??1+wj5-EWKYs8$}&yCNSp8uw_qgE8gz67 zdsN3V1ak|C-->uxVGqQZ$B}RlMTZp`l9)#7J1@f1Q*(^eIn~B~$@6z`Q7BLay{3C_ zbM}WPr#fRli#mIgH2IyVI>`V-Rbznum7X+5=K4~r)j$2?J~cp~Dts`ld9G>3C3D6RV5s zJNZE0=ugZmK8@;OO=^;gar{&{$TDTbUUVtUPQ!0Ecab1#bOf8MTjpI;W!(-~ak1s` zjgU+l32kOEv0OY+T~^xA?mlizGhp2bM@V(s7nQqKjUyRkb)@=z{KN{h-*YI_skjV6 zc$qLNGWEgoOA7EA-2X)?2D#2@&CP>A)u%196c$2|x#luU00{nZk98s}2;tEilkGkC zjFxj1R7TEL$9`XJf%cB2=J79?*;i~ed7^d+MhV-#Q*=VTLZ{fMztNFuyaa13QPQ$^ zr^Yt4LN_o2sC}qX9V63dbp9L5t2H)K#!gu%Feb(vr(sOqpN6rYgg@u*+eB(fx7$wk z9S#9o>r@`rmsdKv(J4En1N~o&SE#=*fi}>Qn3`2O&3rEjn5Bci+}!W>x~78BtrOuk zHbGm1&06X!+}hB@!=Sy{%3SW+4gnh*-IOWi&GHo`44Edpow#PrGAJAaid5JbF(Y+1}Mf4VxVCO_&r1 z#r9$1od)m5=$4Cl=N@j|qk3ux99s96Y+cO<+P!N|VBth9ntiJU+1hFh@ zb*S3Rh7{-&m8i*HCifo%>>@~X6nq8WvS({D)HT(+O zqnv$%j%vMXW8-~Ejkl5jJ?dmTL#s+GFH_uAZUj#(A~BOw__QXXYS#2?G8=`bl`kxb z*$etX&wCZQSIVg==+Y>VlqgHufsfT5K3Gw^C5;Q|l&UbLDdH>^1CvwUt`#8RP&2HQ zqQ}{9tdNfzQ@cbBSyUr*>8bjR@C3`miWsjt9j2t!p+-BxxbzEc6*5*ZnBNa)Qe^IU zDy>K9feqc$cN)6qRm)tRipXem!rE&jIpI|CE`~6RpRzbevut}vxBGd%C=cmwPDgfn zPbc0XE9M8{MBk*l1G^LB&w?=B0dkf3Vt1I#r+LcxhH-hnEf16R8YZ-oi}x^_5^J_O zEYt1nVOiqEDt&XH(*}mQ#;fPBD|spoyZa@Td^|u%ad<=BSQBB9#g}I{e?@TH*F`T5 zx(VZ<1Kotd%bWJ zkipt_abVZh!)$w)FQ*4F8-}$#`kWq!1WA`+7ZKs3aZduohp#WMFQ;>L!vp;a~2W};#vMYM2iB^Q8PomM!@%RwawJ|pD zqu3gwc<=D~l1kj9Z_-1VFVj$Jq}Lm~Mi2oi(0@k#xsy>p`?v#x(Sxj zB0S*1`1Kgq*Hq#?n#*k#KS}oJXf#m4$ATNq=&;|Xo!=Jqk$od)?Bgl~>oiJ(AIt3Xq&;%wzlM z<6{0s>fwv=QSGvrFvKIF!Ytlp73YU`%Y543S)W#s`yIs5LWuqj8N_S zE73Pwjwk$1A0;}~zzS7-f2!ni9R&4<&_>&?KUCAnvNWqJ>k;cX>zuS9HI|xTFSrbP zT9EEl^ynRxn@s1vkZH7`xf3HU8x6*h(KIyjp8K`_nzh8LH}FD$1h;h#Ht$J_#Af^R zH|c_y&dfRca%NiptsesH6WvfF$1m2+S#4Lk6QHioUU zp*SH#HGYojR6V24&wUeD_*&ZO5N@Zy_)25lUNvau5HrT0d6+fe!d4s}1369ui2;;x zekw8ift6180ZGvNIu!;dntH^OF!DS?^Q4kej%^&RuN@>(<~ppn@qzTW&TK4@q3$hx zhek1%bPjJ`dGtVJtJ3i*nn8zZSSGU$e!lY_C;Z~!@)fuDMk_V>mq)tMgglMZ)+^YV zE8dyQwEi;cdYvQ`ZoIPiUPkA;`^DA7X<;Q=$)d@Pc>!g_EIfXvCordz_ZC0`CrI`& z&PdUj>O_IT$3f2zYIRM>6AFNen_kr2R~N_mSMCkS2^OUj)5pe;?{(|YUiXod)Fgg( zkU{l9t@okc>G#M9O4tG?cgTj08n*!fObNI3degArobsP?o=$!U+geVX!L`id+2J4+ zunoM_*;3b(P{=2)7H0Dq?@cUc84f!V%ndZ}b5-5uY5;h#}_^t>8#xbRNy= zlqNFG5SeP`0U-js_a-(}**qiS^1T7krtdu`815|)gtv?l3*L)b1Z#Ec?aH)Oix2eq z`OFUP{Cp#XlNk^~>hZRi*mW@eK%q5OS;p%oEdm z6(0dffLkDIE(dM8L9h-caSR<6TG^R>vLXOXYVs_IfTJq)f}u<;^@5t6su6c;VZwW% zeZx!@bt;E>sm9apJdE&}Ost*o7IF3dM7Ei~iwv&ijk9b?B+)0A)TS#OUZiV6c6Lob z8JDi8;Sf{b1}Uc*l#F=wNHs_~#1)^gf9n_PO0pVsSM-ek#ojg);I#+!=B)rWo$OEA zF#dnhXeA%pF>H0jtul*gvUG;n4!$88acpE^#SWPea(RVrbHV%wiRK&(w#q+%N3_^C zuVG(M&V*a>sZTTcbyQA@Jgkc9o9REy_)_+;(W4O4BKX^Jc=o4ywz}FdQVybRl5qLp zlva9Ec{NP6z-m{MtOUYT1R^ofWlUDYt6FB3CU4-y4>DQCI)f%kAIQG&huJd7z{UMW-%Ouq$ zCEXg3WejAMC@{cg@s$_&_L%9NUpsNqcb*=)!_|~BjVvRc;^#LpQihqRTQ$_i!}vp| zmC!xVtb##_+K^EC$zEm#t9!xMG%dkF(O?35GM1Tj+h!v})BD=iflHcbS&>Xk2U%Bz zW3C927nN9ME3uke$BT;rFaLnrWy4J7-Qlo6_OFIYdBdK#E;!Hm`AUP|CJaxj z^Q^%zku7(~6LrTn!B^vW<9Vj#P)8BqBYoIaeXtqVJ9=1aXLZPCg>*PC3xGj z<-r7qQ#h2V$gbUyz>$T_EWk^@P&Yi>iDvVsBh%c)pgu_H<5WFn@EN@tPHcassLIgq zg-^eCoYh1{ELu6vknsv*fzuSsEJ`Z!!*;=5#`;=bf-ZKobkP(Y)-Vb2I4|5kv79JPd{O@C1C0$Ft`M{ z5d#mewAifHQt_qD9IBi(l|#ABVz*es*>x-uT%t7y>Si7?5CCDTl~j%d z>p+9zJ&QM=WikDu!?YWGEO{Bv_^+f1h~K|@|BRCZ@Rj5)z~v>Kb>1{&b@wX{I`kRR zYgh9*9uAdFFsCbx+c#e%oe8b!RZbm5h_Q!3y z;Uoq-KOUvF5b8L(1lfx_1Lx!E64C!FX(W>W%d$vZye+fa`TinXKV0nQzan3RUOGG) zUM$zYo_crUu>tc8Yw|CrrTAScV?79g+u$QiNg999sb#HbW~gwnUymmA+Mi%?Af3Ea zUsjDXe(nanm%SkDCY{YgI7%;m{kL)NJ#C=zRi^%&slVX!F0IjFi}gBW92E3`~ViGY6)t`shGlLyNK}i*>q>Fx|s7F}m~pW7Pi$kwNuc99+>oCy3Wi;2*KueSz=d zPA9iF${YuX@eRWo!n=$4CJsD&9yEe`wtvE*NfC>hxgQ3sYCX&tw|z?=()*WulEjiD z#ytQ*%ul{q|N3d;;g5WH+2<}q{jDO%TFkL3U(So7Tz$vqLRr7aHMvduZcI| zqg{gKAOpZ84yYl3`@4%vpSUc2DJSDR{$1phn%8Ff{~#*yDzLpLt0dr6V4+1n z8Sn`ecQ|DSBfDzxGO_BFiG{>}f=Lr;E)jecc`X z9FCv8hQaZ-^iUsquXoR2k1Q|4OZ6R->KOQe7mBF*i+oh3P)VXRB)LVwHRCyNyVhZf$0=^m_T}~^20_aY z&;~{JqhQkDL(WU|DvL*f9Dda7cl3{rNBXn3K` zQ?|^37JE82Cl3_Xh%o1g=+=wEN>C(AkB}^+nb#oI_iPB&=nO?^Ku0Tff~-=>@p0)lw$877G=gObC)c5w~8Qo|4RKr7?h@ z9Z%o~tW_jIFE{-(Z=%D_LK*H-qTg~oa zr_t+o)@&wz>SpvGwN*mN*q^b~mytwi^%R-JhA;Jqa)KjAHdS(%*dhT`3KM46uC9?3 zTvNP^e9HLG(y0mUimPkyEmK1V&HGGlX>}&$umEx1_4;E7bL2HFS*PnNC}Z!$M|fkK zE3)hvV1uZl4YZ&k3YoX{%{F&C9d^qwTUBP&Vpzkq@>m01*a~)a?#o~hL%ZVR`I^5IY0^;>iOlBJ%Kw!oeXbcbZFU)sC1t3W6U zzM#``wZkRB!}={>{rVN6_wf}(a0mfKUHhIxj6Dgj8AOhMOagO7Gsn{|HwgIgxM=e> z6t}?-YPO*NUb{~XqwASL){_~|tssR@9)?2h=x8=(mw)d*{sFqFStw@cW)TTQSd3+E zXJaR=umT3aJ1ucA=Sv%0i6C{#Y6sW}z{V^oqd8T`>L{BV)yqW5IVa2buNqC}p|}rr zOPDwg!e=F+#GVJOW>-OUMpXZbp(BtS8XXqrYdmFMbvWD?e zqbnAc+ThHNAxET(E`}A;_-Ex75f)UZi#gfV<^(7@=eXf}b|WruU~wog{@$c=y@5uX zf$CI5sn*rD9umL3&KfFy&uUlK78ya!l3qc(>7YUKg=)M7gJ(Jzx65>)*OjTAml+p& znK9-Gw2gS4bSp?`qP;|~#NL@!ie@!OBuIFCN9=OrRC%L7cxEEz1ZR&MDmQOQwF$>CM z1ieo*Ixf_I;iy44urRs`b%Ys>?F?}6^jL9N3%=G}`Bu*lh^VSeG^vS5b@)RKY5F!~ zZEe!O8a(sXTiApCdjmR3f+%B@9|VmVvgd_?-l8U!WuJZrFIkub%6$HavXYE$q>^dH3@fl>tfi@9`--ffg{zml9kQddAFF6l*!%0b6 zGGuhdIR!d}o29PlO#F>AjIK0Ci#b8$*GbQGJ*QbVY&l(OR$Y^1P1U&Fr)dv6RqS~k2;`pWFDuHQ zjzIg3Y}-lh#o>$)$n`_*`&3fRuSUff)lca6aG<{z&-wStW0#NWPo5=Ix7IV@@A$_o ztXt345%y_gv6{*Q0|80S`IB8PV;OFt2~02haH(0F$tWW(WNf!Q?&PR7Lzx&_&V`6h zJe8ATg9~$r9%1#?FqFFHSZOmNrF^A)-aLs z)4=LPuxPle&56-~xvsnT{~(PdOZhe5nOpgkvuHYQ|353Nlo279Z|Q}Le@93DeD9Sb zLig3%vRuXgnJK?qOhoC5K=Gb4>(EPl*Ao1L2xhTbl~hDJ1`eIgac+Vk>>$<$>9Kpu z*jvIdh&^PSnLupmc5iHc-^xYKVLhdiRS_3*c~AY|Ag4arlaCXyt{{5;7f~Ab+ol1W z3~nP}Z+q#2BI5u+fK~pht-k$lTnv8u{;0P1tIGOoiTrOhCQsHh`q-b0esRC$ICQYE z=V=>xQ#dyEzV*`2Qgx*U?eD_K7zxv?cFkN~xH%8${BU>GN_P8lqYV-LN6sKiBDS0Q zjYS!28E7W??>lGGzE@(;q#BUw0i^#<`Srz5)?2-H((47OM<7P8N2x3c>=AKq#3|Zl z#Cv8+CWhnaraBcDKgU6dXqKYk1XZ16M3+R>X6mOuTTVUjblUnGPmrmy+PiK`_dIG? ze^(`X^~2C1%1ZaagT3vgyszrLW(Mu;(JqW$KO5;dZg~v#Fh@h(VcGFY(rC;VW5|mcm0npSSppTY3ZKv<@aBOm(RK8$wS-#I%QV^(rkdx zdzt!$j*?t*>IvdM04E=SiIGY#%WIIVKBor(sHsrE zKiBXR!k}+JO!;#@>WOrpQbYI*zH)@3aZBAPITOb;?!hB;Sgg<3uP}hhdU_eplz~fA zubTEI#tMH1zI$fIc8Siw7h!gOesM8(>DSpxBG;!#Z+bYOEo1?e(*mi1=>!4aolJWb z{yXa7FAU7ao{iuncLzR!@~in0VLtr>`aKf@h^VIbvRKEabyB!#Ud^cdq&1-gr*O02 zY?LCsBxLXbK?{rtoQwtg=b)^th|X(po;S$BibJcm zvL*^~V;P^jiXi9*P={V-M`YHB_(HjR)N~hr=9%mU2&eJ+?H!Q}u#SuwGDMo4Ea-?IZS1vjmp^&e{}_uyVND*O7O~AxeUo^T?`v2N2iT!H zZAWyYG(UyU7Df@_bL}EO3|W3FMcGvITO<Ifc zb{aB6<5XpKDy)*NX(tM~aoc)%U%OgiIpIyE|7PI7`G^1J`S=)mK_1vM9Wg$NF`XiU zOiOXLG%0WKim_%O#|vf=A^^gFcL~N)Lf*>zfWMP#nldB|+j=p%w=kH7NPE7zFNb#s z8oNe_@$LEfmU%?SFcmsG-c9U0aq8*s)?w(aan}QqIxI-4II~VS;#2;#P0T{jJZw30 z+_o=I!l-SVD`Z50^vx8DJ9nYFOJG56_@Gt4fQ7gp6Af<-Tcn!rg%E6{?X#%Gqz67* zhdx8OhGg&Pt>ikK#)MSw63k_EMJ&*Y5H8-(8g%gx0#T-=?>P1d4j%JF|9aXO!Y^iP z;|}LRB`V2H^%xO!>Vl)Bf|q^4Y0eaYKoe5GD93_NMBT!9Ugc#BIRR}Uoy?s>(N9eJ zL=>pWQwtHGiX?+&s5t7U+Ep2nPWx>!cHNwW(p#jaFxhB`yQiyCLm)aFmu}p*&0~bm zr6M;DJ2(Mel#_D1MG}CP&8&MeXR6}JSu`uw;bmwN7!S?an8oiAcE#aOJe;S=ypeSS z8PL12yw!z}U6<|&XpTudxF}ekJ&$ktdr)Z3T}}%+%=6K740Fw{i#0K$4Yi+79^q_3 zGcdZL^~Nd;u3>AI~c;}AX$-8onXfgeM6llX3l%o zxl&KsdHi!Gvyr0#3GGZ6Vr?HhFLzO9AATncVU#O7HIbb>GapfIr$)($BgDFLv}+|r zrcqdGi3E-927Kp^MGbPCAFoB7#Eh6 zSf7$Wt8--?|Lij6vWx>Ss#9~B6k(DGkAYSzPnGfJxh06<72~#O@87nLJFHS=MQ+Km z8={`gH;y_py%K+@TQ$p(iLTLyN1)sSxu$HdoOQHyv z%87Ihd~@VX#U^^9Y0KP)f~)mYT$@4X>*WS}IP6c-`NEXIwcYRfncP8`^$B%?0nWvH zxF$yH=@m9|%|SmG`tcZrii7;p@Cmw4AB zR|-j0?Q<7NMn?rM45OegSp6n0dvY(_0&!1^0tqJdv?zD!9~PA{^EV+BE%fU|VW^C& zhKWy63aQV`j(!ej)niq_K1qqbU;jpYUhSy=L&y}hH7ih8h8O~cfdh~MpD@2s{AWic zYPh4)@7|Hnr%LmsAqR5f$(7{ApabgER7{67kFW}5umb6pF2tOK0-wxR^WBVfN*Sl! z=yJquqjB%c`*@1{w-dK$gT#r)r&?AnbE^xfX;{bXm3`6lXqT)YL!0;jcM35KOmCW= z=r-yvu!D*G3zcCgEFj-b)!iD+s#3TwY6@n@t08J+k8@nUrumrODt#ZANN%|S~VFri==QA0MoAqGHJyO2d^V4V2LFY9M7%%dOq9mU(MXaW-_sv zOstM@g89tG7T!}fHq89_WDjXGml@Bc2#>Ca3dlIFMZtbT_^Ufxx$$t60eUm2V^}df z(2S=N)=~-6SvNlrqKW-}v++>>`iD|Q`y>)~TDTUKSbieg057jWXVV-J6Ogt})K#8N zcDJDZy+D|JDx_Is#Seej@FVWOe)LL|b$G0YNz+RB_p6n&>ykQ-{QSH7z4wA^k{7xn z_fA)L{B76hCUQ5U%nYjL;R!UtELIa-`E4EfA`XZJ+guA2og8wQ+eE2MsirZwEtNv> zfh*a%nE|W(;(`Ecm|2;W7Jze-X(#FQ=)YQ;1?h;PR?v>oW~9gjAGs2!Qdh)@klv(= zc<_O8rTvlqLP(?gOBV0S{a3nh*G@^blF-zOUi)>h1(f~z7h->Ykq|1TJW~)cLDTwe z^v5e=;L_bbdQKNstMuX3l|H#?|D=!Ynb=Y$dMeZkBTcfKcfR55$0;kMr!E2S`Hh5 z%UHTrz;eus+hR;MfPD~VTB|6^ghm!Lxg&bs!wV<1(?-(5yq9f3>r8wo`YdI?=8#VZ zYSA-5&{^;6kK02Tk6ELw?L9Nk1~#)gdsQm4v?dj{tZy0Wh%{DuQt3?D(v$L?-IzAJ z!BLoDhv7OALO7Pw{*YbMYDQ)3%@#R_pVAp*FmJhu9_WFRwfbfTwcWI!9uHi1#dF`#3-s$czG5Tj!iAO2p@k7^Xv96&rV?VT zF9L9{aA)8LcBw6Sd@+Cn@v%a<3*J;N$=6s_#21w13X{M5oMb%6~ zaYu(|#DYY#ypbgPZowoHeB04)H2*eJWuc0)9aR>F)_0gYljz^bNKP#EBYBY9d~D2~ZmHdNgKdSO+nmgqo|Hy> zpCVbOqw>K)J8YK4oCOi>OJ)~Xd{PiSSC-n*O=5+PC*!&RkVfzsw&^J;pqF365B_}9^tyvq)|f+j0>O6#at2IkS)b`f*B1q9 zPbZ5;jF{{u6n!46j)Tzh2{0ZR&aY=Cg@?}DIvW$CHHiIq{A>bj>rG&;((@j`tyNKsJJE~fZa6g_qXo=wZ9{_F{Js#9tH!z4 zQHB0XYsCJ_wZj8mW&e{a=k@RZ=*2s+c5>Ucf)Gl<)Wy_f-zdGJobW`}6uzzh+Omoc zw7#sK&x&3eV`0(I24{XibtGvMyAQXKLO)D=^_ga@s-|4NxZW(T*UN5INMBuCu$Wos z@i*Gw+V#%>tXP8S`dI)|0RWxg7{0k!9pv-dN%O>_m6gE|S5ms+W?~lGMcjbDRJ7-k zbgtT87gb1XZGQR1zWU{tpbojU`?z{b#Fengtb;gRtGK>%N(nutb`f?AKua0Wn&~5q zA*GiY2DWm(-vfPZ9>04}SeR$Iq_OS28X6;C?|2Nd#r^hdLJZkX{=!5Vzw7(`*a=TsAX2OB{uqPyVA9&`8ZN>*xy9~!G zHz@Ec*=?+f*7+rJy}3+E@GNX(SDImf??_wjMhu~`8#GLTkjVlx;VE|B^heZX!lSGE zRpXP|2a}2Yf-^}-%K6{0u;XDHQ@Q)qiLdN8gO+0`@tO~waeiR)fT~93-)Dh{8JLK9 zlN&<~^%jcETIA0{aw5H{O7TqND3bM?9iUl%=O(eBglAw=Ef=VLf2 zCj5YjDJIMR{PMeRWB+&r57Wm}kl*-~ayGKM_pA#((`MX|99^ZM7v!Du+A|qLOS_vN z@@iZGb})C+0`_^M?X9lZT_RLgsqcD;PbbwO5uU48kmL<(Mv3g3J}U3gReq^&Z8Z{~!LcI(N$4<_-uZy;Idr@O~h z9tXVKIJSYR=ru$*E~89tOn7{`OD*&@tww&rbb@=k<%#ng*BVnv&B{!wT-;_KbMe=>9jobdl!t5cJRNL(0O|xlzDhNFK8%XM2&u~KmXI`uMS^+ z{>ck?>wbY}uP(T4CRMEH>VO!t@@4VNS$sfkg{vX;aavf2x=tb0}{SqGN zzf1LH4qwKv`0t--9iCkV#-$SJz8M;R&Ev&7XR~EyRrR|3g>cHREoLt%t?REjmxMHs zis-xJV;=uWdymnh3OgkPhxMQNI`??ks-aO6e64va_t-dzvf`rJNR7O$(b#!t=ue}? z2zp}cVuMU#GZZ$mBxgid;&qg=YZ@F*pE3}>IUFX3Lpiz`CzGVpoyRvu;1?lr z2GLL;XLfdIH=&y158QS_HMeSOzc3uL5HpgU5zf!23{Gy`-_{+&pnSVYA6}OGJ@swZ zpDfb7cG5v`Ti+MaS#!|D(&BeZ`XyW{c|@KFePY%#&Li#+hVL*0`oK>~{$0D*F9I5g zd|=11+w9;pWlTfT;b+5nU#7;>2$niH;BvmyY3JDH<8S3|LxU>6EYpHWi$G`5xp*b1 z*v0aMqh?C_aO4{2WWo4rg9|>*?P^TJVMaUf_DChs7y2p>C)_P@VYHRyqTZV8H1jkz zqJW6L*^Q=CDHgk-1yx5S>Eg<0rH(w%f<;OFPABM20RB%DTAY^V48I*@yb ztO(q1{i)TvOHxIT24goBeuu-G(X=j)sSb#cNqlP-#iTwBnGo3O75HLaE{dHb_smBv z&k2Y^PL5oFZa^2mU~dK%Z2AvCCD|cxI^l`(n&*th3@Z~Xj7?Td&oGT*o-&c#rSZ*Z z&WkaDa~SO&zEqv5%Vv7RFaeRMBcEq9RXXaMt73-rw6*XZLC%!DNfHz*#}WR(M*WII z!J&-0wJVBRLl3;BTr!ks3F#=<&$jEgyI>q<@f2zi9vF@cxz`89!e&X>?LnAU&SS+t z(KJ~^!ME!(Swb9!XA>eX0F*S8{Tj1yJRYm{?C$fN_=`Yc>Z8n0R-Q8H5nU-H`2A*G zu!1HcU@P}2JOq`GY@(<8?INP1o|VD@owR|P@4lupZxOxFGTg@;bD<;~7NSjVwre!b z32}i^K*!)hV~kf^6)eQ(a&%rkT)chz_5y~D7t|cf1n z={vQKI`Q?TG{-GnN=^LrC1hd#c9Bm4^N?t%K=<7|f)>Yg#ykV{D(&ixi*a+uf=Eb9 zAuP{$q?lg0MJ-_PExE6sW4w_ggXt)B$B3-5S)m6+89iD!xIdx)$r3uL_^_&;Pmr)g z-y)=l{}d)KT;uoFMUE($FLBt=!&lpMMZ@0i@$f7Cu-0tT2~LoW@3;eVY#rFelQ?pS zid%P#-fy(KEV3@^As-I6YUOUJ>V=mTbCxuA-+e~aaze>1Q2Y*m_C%B2$3dRbC$OngZ{h%8K%c)S zNcSIK@^-#bjnlCu782o}=a99?QFaqP;Rvyks?Tzh{hUsSteG2=sDkI?V@9Yit-U#V zJP_2aY4J@}1*^FjBBNNca;6GV zZEzNev=VZQ?Yt8qy<9&9`oG+UJ%%@}FPtLmN;a4eua{8R4&jCQYb{ zvp2?vH66XtYd)@Jxh0Ng+p0i19PUj?oPK>S2>V5NtDA8i(Vw+-34aqh=f(|0jf$F; z10a4Qez$LgqoZ3m+2S1AF5)g^+kAOA{F)=CrIWpV!WKjJ_KRFGn(qadmu$w(Dx9pp zEcdf@0s2k!Jh%3V6rqxqelel~_lVhq@H8h91Y>OhMjMkD-eRVP6FRfftPW2KZ9l61n&$RI<}e%*5dg zCXjpptC_@qMNW7e^t~Pv_?*_=i2MRZgz(96Ybig~TmewPraMiB$DPmhfiFejyup)S zDaD&h4@csVBw9jL~aEP*Ea>0On4 zOB)gK%JNy@N>i`84qn_m;?AR&*jEzU%zGBLw^ZSpRHc?swSDjj(^Y}LRhfOc?Q4o_ zRDCl}PQK}B!oB)92^0~jf6jZs@a!(W>R)l#+%R(0uv@-kWN9MgGznY!3-=iPn)z68 zLw(73`jQA-i6?JwMH#eEZ`5rV%OuLyv3p0O*l38%=9|Y zg@X`w+WICG;nW@>+-UxY=-;Xb!*aY8@_@*2bRNzxV5$00h$pQQBqD*2Fzog2D} zpI_1VKe)QOrZeh;s}CWXXY0`W_&Y?;c*8Nh@8j=rb5FN7p}I-BwH^MJ4!jn@!q>EU z?VctS__hrh#Bb?E`}f$p_A|YasW@R}=_m~i@<<#If-92;#Naa72qHZmdAeVkjzryu z_?`)dl4!$w!H+w-VBn)^>Fgjm+r`i@zGsqAgG;8LPZN;FX zdB9Omv$d{7GFhk*fr)xE4x_an%VYr%eNelxs}w|17onTXa#n!*CK2$~ENH}cpGzMB z?bPx%LUkLCjOH~$&ybM1wog9OTh8v4iwkqOv8cN3Xj`*uiH#}D#476pP8yj`jmfAA zn1u@Yo0rW0opP!8f7yH6^|ozgVRZe@RnXdAiB!vy?4(JTY}w0kk|u4wYP;=P+wt;4 zNsz>bB2|)#)xMH5Gx#7tf|TsI36oY&Vu>I=27|$1Fc{46G6Dzv zG`O{4u!BZeO^m2!F+@Ati zv=`IEeXGiweY!}Py)sOP?_wM1Y7yb(MTImay|dsN>1n_q8OTp~NjA1Lh=6B7z!uz# zDKzKE;F7A!VKeLfxvxw#DCCt;(%?0Dd44-cN2bx0G4tx&IR(D4+Bg~@ZWWLJAV2Qi~h0-Rq!!SC1nENwD;!zWR+Aob`t0DN+XSP!V9#FjbbQ6_;5MDXN;! zEHJKEJA-3Nnx7vAz4qTXJMD4v0FU60-<+(rn}>9*c=t^J$w%VckQ-%4qiAo6hmNo! zvV=|>$vpbUQgiCJ?0n3EM%zoJqo1-0{hY6S!FdfY0eFymad9AxVjH_ap%^#;Yg?-w z*Fdh$YQNZSABE_(+DWa+xQRnUsn4M@Szv{NKtLI6dq}J~<4vaDP|Yx^4#U3j8pV#Z zXVKBXDugbuGOsd|r{CD^*X4EGK3X2Z(sV4Zs-EtzP*gr0W>X^j@?= zyymI)Z<=aWegJ`Et(IMxfW3QU^K9W5Qcb{}yUUEcUpSA< zq#~AMT`I%{LC$KJFc(PeI?$3Zy;Li#^nl9oOJAS~`nkj`08oT^r{=jlE z|99*ItR_SW{AP=*M)VLy6b&6n4(wX84(wS;oD|I3pyBtEsHaYL-IifHvYQ*;6~c@- zq`7??*ca4$f%4}CZksQVk#VKVg}5w@oK8b|!gUM(JwTr_tMK=-``-iNtUsfn-@nKr z;@^Ypu{1ylNX>u;^ASzN&{~Jv+ST;=By9;@oHYL$H2yU>c2C3vr%)ZF4+^8Wx3cnY zjJbFQ%iMm%fZHcP;xS%s`1b%|c}uWRw&uSFk_)K)Yds_3t+={^5S5kKiWyYkcicH^ zFH= z&CtaK?xIJU27!)~g+dW%X$;&~DI9V-3?{oaaM5yCIkLS!gFr|}cW z!#BWrClsTWewYW~{X+gAdS*IT%y_CEOcQ#Uw?LS^TJ3TI%*>V3muwNz0o&c!+`QW( zC;9bBZ?ki+(Vg^oL%W-uPWN8t-sLao|BWAcjat?t8d@X-ZSH1KxU2gqYILn=Bh>c# z-99>e%A90?2ml)teGXrmp=<`?I+qs3#%-B|rC;V!1y`*F%k1c$9v!`|HT24i6F_yG z%r}qX+&De-Z92xea6vj7Os(nf*V8w~@v&$P&CsyU3(VHwiS5jBFP+UU1cT-?yq@CUhZy0|#c+A!LgGO0@}uCSyc2DZf9ijo4h^VEHARY140q=iA| z9eL4;@E8)=cpv5fE?vF8Z8Dg4*eH3g^tJhPanZ)IAfrglv2ZNaH~1DoQ`QVOeJ;K> zrU&)LOAfpMK*Q?j@k|+n;M^aW`U4mRZL?oAr3G}knT_LkI>5aEfZne68gF*%yS>{N ztBs2{yKi>eTgIeA)!M9E8;DbKZuBsdhvxa%PNxIzSdJ8Zjc0y$Sz`5GhDM}qg3`=lu7xe9LkXbDroH1;4cM6H5q?j9Nw(djl&s!X-M7HS!nHo zf^XU&orQtCgWsw6jd!AWH*oi39 z?hp^%(BitA!B#(W)F-hf&*4ONzPZB*rkSLP`O0lqPI~zr%Q&@3#ycWsZtMhM;vgB3 z0)GrBxNMpz>2WSNN;jeDasyo};gdRRiT&>{DHSzR>=t`;kG*RWEzUcnM(z{uOlNamay1LN5O z9->p!K6D#>tRk5WcaQrSwu)iD8z)@~OVFPKuXqx8nJ5E>C$Po z)1ym~(q6$8hL@A3bPP`32xW4Ig41Tz9s=P)N#E^ToOtsPv$fZ+4v&z8)s-E&doeWL zBTd`QZQF!pUn3I`0~TABk~UO}x$DDSSYNk?-n*Te(&1{PhWlo^*o}7tQDLbJN-)&D zxs@Js#mE5tIcuh&D9WM_01T=jENU`pI^hy^XxH(NfyLC7<5OKLtXu^k)8io@1g?ao z7dpC-;zCYtPy*y|Xtd|WKSO`RGt{=Z-G3N9dv;UDA|5+KA)K$YyhL|p10+eV6D8LX zT=`k%H9)gLlcD0nnAB1fp9lBI%>b>nYPjZm13Eb*xr-}KW$s=rV!n$aFB-P?d;vwB zd-WDo)8SXsOA~xHLRsjS9;`$CIP~WU>1W@f>r(GMFi?CT2hP$N7rp*aZ$ZGB<2!p&0;)p?_&(XEfo*vJ?&!w8q`VN!0YkQT2mV-XB!HVN-~Epoq% z=YipjKdn#j@7g%cf^AbC{2`tp7k=S7Q^PxeWAZWxOCCMQrh-P-Clm$Tb%>^Z3$r8I zD042E3e$93%og{P&ck@EEk!ZX-E?1iK;v!!e@CCCohJ66+qp~~T#Ary=7|yM9#VIV zqb&Vnyj_q=K;(`|&%9fg`eWQ2KE$}-fRcURgS-d8o?touo|s?3d$g_^^oA4>h5#ih zSR?;_WA<;}F>*jGLkTw4Q8JixZvZaIgoi;KZfo=cJrUib6F(L_dbk|A1nCmmGkbt+9YR(@$Z6<1`1 zX7-BWYE4C{JYCRmF6uK^A-Df6_iv4@oFDM?`e{Cp@=z+VMm<`IwzABF?T&WItaP-C zj^ewc!Zi)!Q{l}ik{aufT}`(70M_|YLz_ZCsjNBJWnC@(2zOKsssh6_kpuQDZzKMi zbs~?30koKuN3N$>-ZPk3{%bK(O>>v5Tvfp&_^!`A{XOj~4{f9}PL~>}at*^)c2j3d z4Q*Wcv1C`edTP=n=n4-|dDrc{kc#z9&ai81uGG+UF+O^?7S0n&*2>d%k%oMz4|zJQ zSrnqwt=;ff;wpvQ7|{J8yfXq@bbjqbMuzN)8J$X`S!y!Q7xNMgp1KtiPmMEF=-dg3 zJ^fVdp-p6V0a4Mi`Yk+srp+1<5teT<<4I=V6H;a{pVGz~ay03_FQ44lu`$}$^EhqX zZwST#={HBa!>-ijD&mwE*YQrjW!tEEBoGU{8w?MbKjK>rpn-?DcdN;gS|}R^(lD&H z{JZ5&hw^v5#!n3~5J)rM429BPe!!f~5&m9H2Pz2n!(arPhoondb6cy(>`3}s z?Tv;!9*L++y%CQLUQaKZa!1kQtG9ZMHB2!_W9!!6{`!1@pMA7*P2dmCTbO5Uahwvj z4;Xhq8MmdZ7`K0k+ej)dYFfqVck7pUQ5&63=l;EW4t_tlf1kcPoBX-c*?4ew^Ipf< zxO=a2|L%iM=j%5J_lnXnzZ#yaDm8I|_S+EX#t?3*)k|{eU&Gb^d z+tJJ7N8Zxq@L+~5_5M=)zI22YjRKOr$AgWSLn*X4dd<^tIEPKT%BJd%*spVp{VSns zm`$WL$O4>g%UriE8+_qUyR<6XCAB*?rB)!VI&|sgpq2~(O*<$$Z(_uYU&J2k+Uv=b zY}cod_aed54Rp9rN4F)7U8t~e zym{gPFzE7P%K+oDnF0Hu?*?!AMMw>L=yXX3R^YXBapAQ8^CtdkRS5D}q_iy-58N4} z`0sQ+v~+XuRw>Tg$8Xlr6zxs>&F^n6-_+kU-hB0D?al6+)|)qP{_|$_&BaN3+;nPh z-mKoPmBZu3xo!hdmcSv%7&37Z7W&f#jqsrH*KS0FzgW-+H&Jp{rP)pPz0?!&Eb=Lv ziy!~;JenC-HrtN@=O4pscWN$cSkx~eJTKkQ$_i#c#s^tRj&V3;*BX)nD62Cj%Z^CJ24w2J_h>QUn*IzcCA-2zpG5CVINkfw zmgow{(o9(bRL8m4bbi0&=qqhu%#vrrZ!!2WN?8j;IMQB*bMjKyb2^1sEUiS#C+b>T zvrt+2io&KdJi;2C>&uEtT!<&_?1-}N(t_5NRaht~+X`FMH{rQ0KLFI7vd#_B8H6?x zqrldbex(yuqE7iR4_O~@J9yl*Mq&4H=VMfhekvNqb@FmHVe7JvLnw)h}>h~ zyr+$c3+p00r02~JA{cgz$Pr$KXZCqbd5ShK*^hwV;R1xcLi`YKEX9V|X~}5;24OKE zI>&ou8G8B2vn5Kk7Z8YmmK1C#=B+n@Zoks`_h9oQi0hsy!Sansh}oQ zuj@*CS!CK%DhCc(flR(kIsk?ZsMXn3%wT)nJn>qJO)Xg zR4te*ea>d2JCJx;OJr2fnT#N8p(u@c=x63NUYFr-@mJ>MU>?O`#9#B@Ib4hbMbe{{T#r)cyiGFs~5gBC`z$wT?9%9s<&?1EL1 ztoi^Q#IxKY@bESMD(N8AP}E5cbj+t7^Et&{FWrF^aZNdbVH2xdEc0t;1_ji_(O+=- zkOxAsh&$Wy%ndjudbK;wn!~TJ!%O&mr?#`*#tb`mEWITLa0hKX&GPs{7DfZmJ6G*Y zo;WNsMU4XzcZOb0h4xJhskRO@owxQ4lBn$X?FrOZYt^6w?=sB3VI@jcbaB6Eo>{sA z#A}_QYLp5@JZY2Wq(++gVZx8N^bQ%l!1n^S-uJ`7+ghINEOUs~fQ0}kGfz7JXd33! zIt6dZAguT`H%{3Pea@ii-VfPc73P0`IC0T#*5R%J?Abz$SVRlP#!{FNi{*!o1zth$ zU?a2#%LlDTXyjz?hdX$SL5qW-t?x^NjCUzthEJCp$7=w;3?Q6W+zb_MbUJ^(9wGh4 z1C3D?3ug*Z&N6-TlfoIg0G>$56J-0mOjA+fFKCLJQJ1#nbS!O^t-iPqKoJ?wZR=JA zt6a~3k?|17%>pP>l75EHF94c($;-I zju)|E+71}XYp{9a*Ro!?voxE^f~$`b*SlIpX35-o0X$(yGC%*pvZ6j0YWdwh$fZAK zvx->qPEAIJ%e+S#Q(oyf$;ro|RUB5UphRI_GUDe9cyzZCwwQIZwkl&psDXfuWx^d# z3?00vkDE~D=MJ-tC$i96Wj-KqwN6dh)@@19vMD?hOhUS8pMmUD_yN~=ejW)7DT6xPxxIYadRS7_GZtf73QcLr^+cC2d5^`x43V>-X8I-)a!`+yP<#O za_yjX+>3fFXD=I4AW!??DDXMVB}lMz1!s`i3Sh-#8pl}gNztan1i`H8s=!w(tH)E)VO*W-l1F}Cvi&ArYd4*My-$uX-c}EfvR;a(dLAYdL1A!+PTs_K zMyU|&#o{IX$h;kmy7;Gna>S2PmI>YE4vw2d$uSxnG^Ik*wwXwB^hLbYZl<7_EtfJ) zY#ApRj|xGd4kUUrqd(|FKB;frC7X(U{!}*r??O(qB&R=lQ9D+1I!ysCm)+^nZ4PcX zm%=9^Jy`misgX~Jd`lu7+p|s;KIF$Ic0tRPuk+KQXyRvDKITJyB7)TPml0pgF|=$! z1%=iZlaaLB2{gZQu+C%Ynw1O}w0rm=&0e?F(TF#Bg*lQLi;pv5u1LXJ6zUw=+ys^A zOHd*1_-QM(EDySHn4b7Ru1!w=^t&oJzN%Cq#-w0SZr|o7nFVZ0tg==$lSB+(f#_#i zRf`r7an5~AtvV+%0vHJ}mX+3BP^WvHN>!b8>aAQi>uF;*!jbaeHqG8STNEu zT9wD%iSSK3#+8E4LeLQdVuva8&2g0X{8$8`GkVHggU+d+uK zwY+j3&853^NN-AjGZz=1!1gNP0WiB{3?ByLta?Ts;MvNe_rCa5;Gc_&3YnsAjDZJG ziTaL-9JVb*#`c16lMr(3N0AX5vy8=IXg__l96EA+4%w9prH;T&@q%AQx2iY+AU$Sk zmF{X;K=jt0GEx!siZ7K1_%p2pI?*z4i3tkznf@h_OJ>@2-p8hfP4r8Gj%G3?EO?hW z>xnEyB)PyL&2PJ6g@CLI?*LuRLK(5OV=z z3e)h~Br9q4X>WRZzJi*x4wK=pfS#m0L>}*BtH|O#Q$@BMdN~(?(R&l zldNv}AVza$6Q=N^KsOwy(M26zrPh=&&I@%b_)+%A)UC34q>1^0eo^sfq1__+NqSLg zI!BNHb#(gj)uYF!NB@5P7>4KWBAIH7q$TESzL=C$<*lt1%1$yj)L|3``N@uLGBuRh z%)2cn)MX1V33QgZswzgNvjNP;Vx>ojFA^f;M-737)P-C`)xLl%a)w9v(d9nQ`~;<; z+--8cl>Ru2$?3iV&t@yy(ycs7zD>`_uhi_pdUaUwj(8%^mj^9L~=WtV=H<*K+J2|3c6zj)c0?)GY4|J!fk z-#43=lrRhwMG-Hkji2zwqHTZ6-NLKG zJg5#&w960V01zTU0}@G;1)vm>Go>#AYsAYe1`GHkavuXQk%mXL1+vy#b}j_v9J@VU zWv#P`2jV?&B>4T7zp;oze40$%0Op4{*%arTbx}W_!xkJTN(exR=k>&saPAL}1OoI5 zN)Htivj8rO&=<5Tu(w@$;|cKjj9X%9*yOCc_{0YYj%HO|PG+6_is&ytrwd7SNk)|I zifvr9ek~lf0?L^gB`oUQGY_|hvMT%7p@c$fX}9ntEvdHGP6h;^;T1H{5W(&uyMY3J zD7^XBEz3KhYgn?mrPZgIl0fP(pUlKXqiD_6( zF6E58b@*GLHb{jQ*jz*e6);V#wWNSrpnSjrU|?Tbc@-2aXSb4d>Vz%1DP6seJ)az~ z*zxN|?D4O24|1YwHwWazN8V_}$hqyrOSqMj&$dTr^Ny*XZ= zR=+N?O7Ref4_?bhtB)9kaw$SX0XtQ!a4gY9Or!0k7S0;gpN?Z`pY_{YX{&ZjEZ6#( z%D*fKWfaBTY%IJxo=n{I)-M++n^K@_rUFz`uKsx_cp;L*={SO~)UqnezKR#37V@P; z!-d5JJo$nO(88i}gPtk)j9bzc6w^5tMms_wxs||9S@fI7Kq47cCQ}!9`dbc^d?R2i zU}-C<^)K>5?PssB zQ(|yLuF{(O=AN-%x?>de@=T@Gf@uGouX*n3t+o_4SVn%()*^~dkHM|8JMYqbOJWLFVCyb@(FmozH-|~z z^eup(SPhmRENgSQL9lyp$~ML`eyR;=Ml+*zC#SPnj`#|tg#4iK3rhNMVanoxBI$Uk zamutHQWlMks^2y=ITt))fb{){Oe@71WvDGsCFRH8){aIT1)>$rcI+29PkI(pdBVa=@u@nrT!A;q>rQRia?NuYnx;Ngfs!i@fDD^L_wz|}YY|mA;933QcA>EVqs{JUc(K^qRrgGe3>~T16~znpX4UE zddeNbt*W3+g~wL;>oS@Bw|VJ3bE3CuJt>v{?9i19TX5p*R0FLv%U zNIRFu^KzGnDZ;zw^IPA%eoHP=cO0U+19CyDmMo(%NS?S;4^8rPts$nbkLX3s;spa= zA7YH{d?5@dP*?r*imcogA zSIamwX^0S*d!rZo^I30UF6bdVdfOM?s93#`mSHze)f={V9K(V>nGo{ zbDiCuUq+BUC7kvZYW@fuDG?Rg}^! zcep`^@MA@zi+&W=98tQg?Zt*Xx{dnEN|-)d@&?j!mVUqp8I)$V*zvuomrxo03krR0 z$tLKYZZ-h1K9Y}sA@Pb6gm{2iY->y>MX2RSKGro#YGxX=)x+t8pyoeYr>9A>H*{xs zp?BAsTt|aB`NC2sU0xFQi1T(f{M2R4A`uPHu$6?E%4fdoH*Y!&4sz|=LP+;$*D)N zwefLj5G4`0v`G}myl0V@=o&PYRwsQ}Q*(f4y#=YgMiU_IiJU#yH;Y;}Y1&?T+n>ui zDdomC;7YfO+SHOtl61{LlX>+0xC9KZdDi+er<$d0%JplRMqi4&i&`zKiPlBi<}1I& zG*4AiM=j|zHW1(BN6rhZPx!?IjnG7}-H%FTY8+O5gA*=AgdE@xA;OPO_A4d5{lkg! z!wHM-s+7}J4oAjmz!LZ?@_jQBF}(8~Q?JyeYLFqcR#f!wrAEs(Lb#gAM)*w<=n5+E zAXl*h1y&o1X|0Mj&_ax6nF8}Ea{(nb$W-`imG?;)CIxwynd|m3S!xz78k44zLD(NX zNH;P*nOW%aEw&o0Kg@Amm2maW{}Fqg9;6BofBBqnnUXVKx_5;7-cmh~&{EGbz9 zCa|-kU-|JfA3_&J0ONvYbl^k2A*HAOIM7w9Hnny<`_J-JpB z7u)Tp7`k_QwDs`rGzBTC|vG>`!ae!W7E` zH=&x3M`e^@o0R7YEBa3L@yKING}pziQuyaH7zkbQ!xI)rG5YexJ^9dOH16(${4wpj zzL6$(d5+Z!ZSr%{#{E%)!RbFN?TxKq8 zHx)K$qIft=1&B*|yWFrqp zpmZ=6I{=t-r!6gBrbVlr7f5GPFP773mDDGXi!4z{gxsDJxr-~~8LT!=e6y6>=M>k) zGuXl!X#%os*G;jg)sq}8bBGIwCts{y;D1jW+H`Jli`x6j5uv}caa;Hg+?dj(9VmY@4wDH z8!tAVmhj>daK~24F2IsUUM?;0q$2ixA~KjeLyHZO)YL*G2oBmPAh%q`dMHa2>{$fl zv>sD8S|hx#CW{F(hmjZARrf|d>>bu14$yXa!h%_*i7&26!g#va;xveA|j}gM0r3#4ET0kQZfRq`bJPfgi@qP@jcyi4emZD_nCd z?Wv-fHL?_{n7fH6ax7(gT`zF(q~oa6aZ?TiIUx^3AkL#Ox9%5bst=i;xJyU^7=11D zhrASU0)I%MF)>8e8U3+%na7O_XF4bw%yGC{VT6jHuj|X(?8rZ9|~ zpGcp*sl*`$qgW9nJFg9^>b>6XavcW2uc)`is}Jq!AK#g484?JU?T?fd;J10wu}@E< zWU16G^^paY;m0mE@($P)k%WLEbQ-XgXbOx5mK9D7v|e%cFK>Nm#|X)l#RyrT{#9AZ zq%pQgy`sagEY8Gv=M}Maog+iOr&;I{L8;O0XN&l;kAQ%ncnq?zUJ+BOhYN9)s-pA9 zpQwxGiRN8t?uYg22Px#=ABvbdZp%T7)?N>e}Kv zcWOJla0Clilvv;G-x&I?dd%=SBTw|}W^nh%Y`sy@NgkHb6&N~jmKM73q6N=RH+_r} zo0~+{VH*TDL^e2-y5lYy+47FrM&II;*u9fu?^w?cYAgV zUCQ9n4%{BFAca8>uOrzum87#@ODXPGUaLTNfosWsI>CUn)>qgwekhTu!)>++1xFTK zMefBpExmpSz)S8KFRaCkvjDA>OfP6lI}tFN;_2B!dD8<~?2-AVpy0lCSYVXX&J1z{ z9%>~*P%WM&IQf-@IYbDCz!7Z$9%sH}!gkuzU~S^}1+MCHv_qZW^)(4lhYD@qrhrD{sE z=d03JExoc+?9#K5fnz;yzNXxIx2U>Yfoz=`+sg1A8F8tpFZ1Rcl(C|W<=@Q0Qp(Lr z24==YQl=>~WNMQXXvz|1rui(*qhyQ>^H2nokv`09z9Nr|Tw-R6(y`BqEM~?`WQnXi zV`jDmg0Ku|4(4ne63G{z8!vKvF|R355@4}jfG=f+CtOw%rd861x-898M5JGP zAz3@B+o)e&T<66KPFxfassyCSBB`gXf;g(u2d;=XfdPdT1b|CbdEthcu(~LwQzmnq zgfkU!{mu4}?5w;?u6 z@;5hxNUH4WKng)CA6Bz;%Ba2d3zlfRR$@lt#Le8EiWn*j!4X1TF5c)u9jn?&mjxy% z)w<>}JD^&mM6;kT)Sm^tONCLRgK4s2j!T?h=bO*lVWgvCwFfB0hvdS#g~&1i6qiAS z6t@jD$iy!O390dG2|yXUg;HqTc@hr7>C9&d`(p-1ZgEWd6p6(QK^$}~n%!b^WK=HF zitE;FkJdL9FVJ#pWiHJ!b*X077B{1|W=1nAwVYR}Q;R6^Yl?Zwz#v+{i>r`BDN$XW z5Yj!Rd0MEFm+T@P%v7_B`buGRQh!lri&kWFF%)@s^9!PQ)79QsFOKH{&27OAXmf9G zNYpjA?5$W%gI;i2J`=|IzAWh@S4axp^XUR9HUxT!)pa&?N)BSKpU zDc`WP7{YDyA>DCLiH^VP+65L{a60^m(>)_T>W*BcBuM2QO6e+R(N-87E3=Ywk+sRg zR|z4O#RGT7hClG9Q4|Kr3pW`|4%qnd`=&F+-Ha2>CEs$BaP>1W&P~6vgQ(`MTY|jD97=J)dk&Riwhnjq$qS4RZ=#0y!bIcMl@Y|@U(@OLc|ed>Fnfr zjGK6cHnI!PHM2&4UYx01q%2droE&4;SZ+CLT#ITnQ@uPq)9=2jgV)mCrUGKY zMb&~J=~-9P`hWwMHus}_HVPwF=jVm2wy4R1NY;xfS?P<*+<)0s5CSrLp>kA|QWvv~ zP?}gcMk_ZwNcQpYhW^JGje;6fM(f_o$dMl~4*E?G*L82UiF1ZmizTOJ%|dk|NDbmv z?Bhu1yye>vu4T8tXXIL-wpID^T7Z59WUnlbZ2;^i411y*H~z%K%NB1Uq)5Vrv(r`*g7im4${QPJ8{-KJ=UaAT zu%JgM?dC2hF1k5}()|Yu(}rklCq!OeI1nj}Q&WU%DLPtXCKv_tbd+!Tx=i{C99PS} zSbEZxC%TAJs7167qjsWD5oc!;b5ZJDsm_Gmm4hFU7wy(b#g_y_AGk4(tSWkvzK3_@Pk0oxlKf~{Bd(sE zo$)xT@FNr85B+4s{3ZR&yjCsnEb7r3e>J58v-#A?q2XCxCgQacc{8+#4ghfb%Ai~@ zdhuQqxynyj+z_0eGIW=xOhR$dZ4rS?c>VLwKi9*S3SnU*4?`V@LUoJV&7k zn_)S57NKv(2!3ItabZe{H*4vP`6;Ch(~Ch(M>4^tBdXv9)R^+CpZj3|Bsm`#aeVcU zm|-@zL}iQ0aM_5f@>67gr))!4Z8ug_E`c7(hj&~sc2G+s7L^ep+gF+YDtZZ`K^=j# zhO(mU!qimHPIrFn*|mY8yDQWf3dOWekXS$fl$L&>-+alIw%gKX+eTAP*;5J?kEu_h za7wFjUD6j`^eXQO!9ul3M5Kr&JkZTHOv0Oflv0X#G?l;~C}GrVMOrX5{1^)^4|0jr zqu~Iiw$_PK6IMYoMqkRwD20+=h1A;Jbz~L17hUuDXD^w&44)R0oK`i$P?yj(S~EAI z@JcE~p4lwNFc)}LWITNwcLh0%ELV}RGF$@%ZKGoSx_no=Q=k24_ssBg>aln%2pmEs zd>IS=N*qK|5Vpc8sJMv<9i4I(TbPL|EC;2GI>q!sa5A_o0gQ)1;!MAo=?W&@Rllwd zU7}qdMG({LpvAxmgz$M;m)6_S8#cARd5T>Og;qO zqT{S$chvEGFko?<#%7a&ZgSU?GQGSCNu`Y>#n+z}^j*|Z&aaj@5~>g?%%iG50wLu` z9jyGQBZH4W1O>Tcmm5dHJL3!)cf}xo|71U~RtG%!7U=*&X}p9XY2oa?9%AsLPKa9a zxch2~9o^j3g3D6FoU5@gD$)`b00O7if;G?8s8IR(ekGm1y<_SAVztn74F~fbi=={N z(f+Q~Y2KAMyL!^pr>4SMcSU5^%p=tbg|bx1mzYmvaxUj1Y9nXHQAA^AE3H&_y0IZ#@VF+co7MKe zdHSjA&=>Ea8+6<{vQd2o&DygitkwcuXQoHeqpUQ73ImXMQeU5>wo~z{gQOw+q|RHHT1k|}Zf-T z%CZDN$5B}~6Zjc=k<_(mZr&|n;>?~KB@A;8TZB0cA4b9Sg|!$CYPJNX)f$Be(>iY@ zFHRsgHo7#prNAVxisu_z$zz-}_SsbQp9C=FoQ^pIGWV~eHPdDBR4XMU>jcV6#f1SE z`>OCB9kd~{?vmqg^1+wBUU$`d+c2jY_kC|>uVDah7L*Nr6mG4B@l|>0XH$2~?4>gHx~xvtlkm#!7Tb$| z1Xe!s0yg9}u)7i{ZN;I|COd;9x(ZgZ_EKN=var`^AFw!_M*|kO9|?C-ar+ne=l=HFIdBs<8cbTh#LKkN z>2&VjyXWBdgZuaCyR*rk@pE_M?uN5*_g?4z-3Oh{*PBjf^T9^v!QY(DAKiKU%;Ut3 z0F>{-N$?o=sWZ>D<%4XaQAs_#FOK^DOg^jH<_lQ|X}M@{WuzN_9$36!ks>EzqxzkB zAF>L<9I<%rtEE{mDW2HEE>H)I8Z42V%}OYE8~}3% zy}~)PsPt;S7boi|M$Fc|giU#vhLQKawsS||&RN4E@yrcm8JLml2m|DC)^woY>CSc= zv&z!AJc$e(O{bVotp){^^Q_c{+p+Zz7OK{L%SwGGar>VniRngtP481 zytkLe@bb%lVADHb{|RY1(euIxQf6sMphsU<=sGL6_Ha;fHq%^P6dI_ZY1;mCS+2Dlc2`VCX|Q-(%{el9V|a`l!_)vma- z-P;OZZbH>rnxWk>=-_SDzffR@tT0j^Ajn}FfO$l@&!2L%mR=r7?;7f#d^SH3Imrp1 zSN`^!i`vMe-p&_RR$QZ_-j7V(-4Ds{5A@t;Ro!ie9zudybyrexhKm;SDBo~R;E1Nq zlgDllmGssrcIdCNv&WNg#%wrJ87^n~I4_4T%!uKR9Rxl57~AX+Ey5R9L2YUq~9nMhO7+pV7F0`U@J#V3XDA;kb(Ojy#t zxVrKoidNHI7!Tck0%prdMwN>ckr@zg{$K1-A+lnB1t6exnKLe*t?grwm;yx@+qNV$ z01Tm{pDdPAF^zJ`a`0Y!dXsoHO>K}Ln;iRh8((Ar=0I-Ihw|a1!|;@*yaJ+9QxB{J zRjwgzd0W7Cg6l4>A3eH{4uD=}UoBfzE=WIV=sgn5@zabh-_b!pPHkleO+7pzJ`$(X zI}AmTdBEqBK~3CwaGe+hCat<97mc{%Na%T77*9zwcgl1UQI=Ia)M&8TtKy{!Zly2+ zc#i4G^roej?$F?IxSrAvDL+>*HTj`X*GESv6bRp0?GH=&GI>Pkt+cevbZ`z1kBVHq zfZA9RG#cHx`t$Q1v4NU%?wPq`(~BU8V6~@OX(?D1330r-F!>8L(^>Ib_cL&rSRM54 zmA?)Q#^ktf(rhP168R(eWk~WGibK%yCV^~l;Oz6p&rsu>*2x1IK}SVC!w*3{O6v=V zy(WQfSi1r6!n1+{vgj@k1ZD_V_L%W<@!jujCOvtp=Hs4AO5!FI+!&BhbpW|$2N_YX zI?d)m?&Huuk!9k1O{pF9&$`>jh&z+IiZi53neG}qN?Zz(ig1~rxr&}%R9G5l-JrUk z?=oMf-^VpJ-C_wV{9R;V3`TiHGGfhKm>gHYYzH{};g%~hHs5=;&c0c-JWaZw zzDJCRc))cygj+^-fk{Cm?Lc6HLO{=YEIX+k?npLVD#iDL-T@k1a9o$yo4yNmZqXB( zwn-K6qGm9WbyJmO1k4g)Me)EYVyRUd5u%ChrVJ)#}BAwnwCNUOpRP zB`g-2C(yYF=CuskcIu+y1o-A+5Bjh3x>M(Tsm4oUWa^g$utPEq!x=#i=TZOEsnDv> z0W>lXrSO*^zA+>-0FUgZf|W_TG3c|5vTSTr=-n4Yo$Kt27xW*Dx)*WUIZCnm{#b)X zBr;$eaM4_nKgD{59M6B;X6l*c>K95@=Q{Ziu;Tebn*HfE`Ieya58@`YbV|XfW)z1kkO^L}DK=o5ipDEe#S@DI0g>7ohg&cq zs@}~a;j5k!YU#ia)#_K5J@-iyRX#0=LH}V_4boBQVR|e={Ol7zx7vbh!i2Ex!rtE0 z1m#PHb8;b|y5y*V`^e(^qQLJlxGEmYIn zmLLZ3Htyo0+nNlJY0RAr{gH6|^JkaTAsBdE_9jtF!mTyf<^!S$zzT-7T$6)mDuJv1 z&nq!8U|HBx$(7KaYe$tnz}PkHfUn;B6L+*00mMN zqnh?Qru1+;o&ZK|_qth#380#pe*E^H)L)_L6a#b3aaih1=atC3B^e-I;7|AD3KGY{ z2-m{vcM*AB=7873kN16?L?qYQnPSSN5i8>rVt*>Doocr%1!@^BSwYE&}2#&ip?V~#oVnRr#!!+MJCAvEs z8fdvLw`b4Raibm1J$U^}d@~ywNWo0(1^n`~;}aacqT^08BXxDO1~jW!6fXwtfV4)2 z4}EK{k}TntT{GG)$f8@-51`=UmGi^k{6=ChQW{Z~K!7nKaRTiq{^KjT|8i0v#$JI}A?s_y*UD5MLYTkFSr^i)Z4|4tKa;{`3Xk^oZc5C) z{z5&vic2l`v+T&A-5Fc9HXa7?N8J|8^Uk=eZRXi9nU=7qjx) z(`X!VWw{OXM6P6Z9Gi#Ky;nsRx~h@L=& z>qbzduUSFRF_gLMKO%sd@^RivSmp{hGCdzYYU{p$rsGkH%e$6C)u?3OaRNJx-bmfZ zs8F-eX*3YeGfTFQBuTT&(z0)5wg5YuTWy?}=a59ggc-9)sKM7vUv^uMLz%3iK*3V3 zoB~re9i|U;z=i&QF9p4E!9 z@cO919^(&8TEE2|oh&sE^|Hrtsk+GiijpG9{8>=3(?FceTFO>wrrW4qEx(|7-UG%6 zbnBXC3hO`{j$44LmszF0z>#blOZ*>y6e59|-tfL)7z{7-7KV1Ko8dcuKRsdGfdp|t z?i4>l62BrhH9pijs~pRpAQBjapNbzSv46+mr?e^u6v|ACi4qT>IlomZ z4Z&OdEbuZqfN=*w`u=R#OCEfGTlP;ot3n`|7i;_=lbZS*(+fIQ$wsjjBS%vl z5rTn$r!@=!Gy+#@%D%o7CmW_Qqgky%z0w!HCFa@xxsAZ2 zT~r$pi=~ypwBjX@-bZ#2%kCXst0Fbq#$FQUcvHQ1#$9wu+}qw$EH9s^CW496*i1i4 z@l0y8MXfQ>tu*7u2P)b!DH1z1ipje_%D6t5$-NOTUSv?q^|aRN)nDCOsY~K4i4Gyz zCXp*LPS5(yy^@UF6{sZ}N+f6MeC3gDcOv7MV|CIL^CL8&hgCR_^tok3Ke$`Wfc*AV zSPKdXi}QkXX6^oKXAV`+jZTO{=EFJc(lHDFH!i|B43H5`ujy@=f^1`AB(BMBR<|_} z4!J3z0jtnV(}!4t6)Fz@xUZ>eyLSFJ%gtWm@v(8d^2|aRaTqdl;@6nxx=_;L(>fAN zbjRo7C5;N*Wdrj)fR*ag`Iu>94Rf>2^1)LyFapW&`nvd3uXdo=4&t*|tHGEx`U=%k z$Hq))0pDBh&g7TCtMAJ4@5vp1s-7+6^F}Q2@PX`=|LLBr0t1pHhgyiYTx|F741|n2 zsew&IwTv;yPS0_+uuKCm~>cxnWzW}l|Zo^IF?S|NC%+#Nw*7B53J`^N2b=}7t{@_6we}7)iO!I=WA=?NG2;* zWgU{QrO_MQ^NeB{m#42!K>AK3DakX|iJZG`KY`hYfENL~EKx;7_UToxRMVOzn%GrbSu00jC@+ME|DnGVtI0Rz6HK90j(W<5WfmDK!=83ak?w4gYt*CMx;;DtZAo(KTb#Bg z89@^?!eJd9nblLu$?n`$z!}&q!ZfjhC;S@(Qx}YB!?u|=8;#Alx6{``B*;uV*%#Tx z0ssgANWWpICm8@_eBOJDEgqFyy%VSKje{M0 z&1n=clW0Esd{|aZaQ?f^1o$>?+cE5qDu zwv4ZOc6*>=7@iIx_x3f+=9*vkg7ha}Gx?YTASTUWGx1eR$h1+FmtkndpB1U!A&YeD zM%A0G@=OCrVcSAEsXE6tk&h7om3XUL8jZ&b5pcTuT>Urv$RqUMe2Ide&))BxFoqsC zqXa(EXR_!~cbs{=g72O&zC;xX75xIyo z4rDIqzT@QF^%j7_{lwnN^7$fyL^yareD&w{PC+R1I1aOZJ?${u1z%TLD5icJY#`Gj z@3V^DC86aWeDFOn{eJH!{ALj0Yu^`Xz-;VC?kkBAIe3u$i+k{e4}y!{1)`Q75Xcwd zF>MY(b_iey7ow3F(@}}5UzH)hKcF_K#|=|ZRrHnnpDq_v&D(mN$X+(N})HWb8?c!SNqE_F&I8R2lGHchEZ zoYAEB^ft~-@f*N|=?!sanHK4R-@%u{9m}K0nG}X|~zOS0kI?&Y_jm^wVY*!?z zL#5qfk{0D57cQ;bDMq-$>pKJ@SNRr_z_B#>Hbyr(6D9MH{(xxbAitzuEMA@HfjzfX zC>_*_kM536bV!UwlilT0x98X85SSgsg6ky|+(e^G_W^e}V}jLbBekGwo#j@6hFLqG zDzB9b7{e5_W)f~xRM5-E>r7mZOQvtdu3l~aSCP^AX`0R4(HzH-aSXOLNFMH5x^H)l z)N@x44rG8P;)W~qnz(CkeGK4|FbO8Y{IRr}|KpTv`R=RnegCtIy8UxwwX@xp+WzzN z^i|90yZ!Tnj<>%SD1rifxxH^>C(8EN)g{b7@CJ?M9%{p7ui`P2-TwIK8rlgFFG_lT zDbyA#Ik+C*i4RWI<|xUIvX4BxDa^V%pS68(1$ND88zn){^&Iv*qK204x4d}+-dDA$ zb7=8bu{>CM*P=CB^$2lf|IRYej_Vmi{U&cR5rRMle1@3rXp-uXTuZlfpP2FrcgAVt4hqwx`%nz0wmV@}t5kA=T+CffsTAqrP%qSAW z@FVDg0J~YA{~S&`ax1HUKDGocJb!-0Q|-1Cq=yGA5?{PFUfwVL-Bmxi;I20|pUvOC zQM1nzg{mL_=~GbG`6Y!SRP;k-l4y$aiR4a3d?W-&m> z!Ln|Bv&>0ua|?pS9#eGZ(x)zu-~HD43+S?iJ7hn-Po-HIEGy7b^!WT_Dev<%l~M8= z?cU-zSogKgiCXC`4_Cdzzc=aIEdW#wP@riqM)Ik#XhSlXpK-}FrKTYP{(&6o!AM7dM;*s}OGIaN<7Cv$3v?v=YVYBR)YFfhQ3kZw zrVc-T1G)o03n^5{W&g`XP_lGGiy}f#tDg@wMy11YZG`3Cy zOzFxKAs~!|Q=8uRk%my&Ue1NRWPwYKpGnBT-ON|zEOLNU(CD*_Ig3;VE{K-9M0PR> z=dXLR>gQ7 z=6j-N>6|@*kizA!f<$twwPp+B8;DReaDK3b`a@gH65UQo{wM=GmmIs!Em45WQ4tBs zc$IRF_*2YYg~G7XaVwSc48&s05WAM^4)$g}>wU%j;*OO`bmQ5MJuqL*o>s%H=`wLW z=|_R>`Z=DJ4r*6TX7kB1!=wp-Z!-O_2{>FG%FpU1pJ-kj8El_RboPZ3h&LkY6e7v>(D!Hd=kPWNlJ9FSIvr;-g%!om^~a7rJL$Mw2rr`E##z}+VPwmeCqPZTx~+3HaVqK%Ft6$lEC5^%XS?PR|lNQz4psKvA& ziUp?7(UAqc9L1jzg84R~4pD9&{W?{bUXMgvc$0kYQ5r<2#R3y@lX!rF;4Re0yNSMv&dtYy$q$XhT zy~V(8Gpzr;1<~#&s-+ZC#-jp6>t_IIf{>xEy9#K@p_X!Lj^SJ=M}wQ~ZTGjw&?uD6 zTbF-L-p*hUac>cNIWQ*;@ciZOTfiRAVZCBC5iihgUJPBmVl^;V%U6d1?A$pSpLM+; zT?3Tu#2!(GosD)2Bjd6wX22C!&OfM~O|*F*?MA4g#EEr*Y6qMq89O0AyxvG(^q!VC za))bR%^lF31hOM(Qr_Rk_-R6UffDMl`Gg>YQR4NniL%cPw@uOZmQAcn=o}=f39`=& zKoz4b=jvnMtIX1~DT%VrbUsj38tR)Gz5WkKW*Dj*My3Sp)S(_vbn+)>E`yJoR(m`?TQU7K&s>kWTp&fR-G;KneF>!tEA{~Ju_F)9or#<8Z(||}huW?((!sO*E2UmW zOI!{W)CCkP8=9#m*p!AxvA$|4Kl|x&rYx-Qj7kY&3Ik$GRk9Sbl@XiMNVstd#hR`P zvI+iy?n#b#DMNV$zGM9C6LXyL0vUMvjC>=qKB)@yh=d{^*b*GhTWk-BS8g5t$}^3* zz(1E@$cE>^-z@$}Zf?RKg}mop?}N}9295*SWdImwosE7IV?P55xm=~WML)=szHt(@ zM>&{2r;Q4DV{Ry7x!XzxeCsV)|BW_XjJj)^620y1DrmKrn_|7~UR8{`9`XG55==ht z*%@6!WPI3Ew+dvl(4)dJkhoH1;HlKm4TT{*N)Yr#z{)?nzV3fC9bBhELgs9d}jf4g{S6GM|@A6nIoX*#g-oMk@eb4*MNJF+OXc z)p#u$0r4sT*DlDhMX6IVRo>KK_F%Uffl0LtI?ikeGqqs!;MQv$AA<{>(mv}6`_33! zBp#TvtCQ0!H>9*Za(t|;6C>FFvNqheTXc{j$vsdzGwS8L_O!k*Z!dqGeSWpx0TWo< zMmlO0(H21&;2y! z6T}9o>i$8@3oH%Y9|_#rG2~^3<~%ILIlp?KEo-IAnA@*y#1i7UWA)|x$$woGt0a`X)nqviTTaNe#|~OL>CL^(9zq|895z z&EI>E95@LIlKxq|LPcO-KCV?AosnjYpT*#19TDNNCEh|ODrdu7D?KFcriEcoE~$=8N84cVT3&8Vh1@ZU_D@@(RmKEO-;w>E^r?DNdl+17GQz!PUfbze?%j#@ zN6^KG=i`j#Z!J$AA1k(wEE50uhv|I}x}QAa^Kf%i z#oNsLc19-M$A4^&r2A~Q0DFS0d)Bd&8En4kd{EQjq(|ZqO2N2T2a^vZY4l>m@@_N z(-5`C=u}+lapkX^KDfofE@CV|#g6f&0;u`;d+{8piO>#J&iaYm1tAuHoaP_Gh9OGc zs9UhtRxT(+q{uZN)MdK6JdB$$0A#dJa}i}vRK*b?c+XfNnOs$SppldlDzkq`3tN{uk;47Z+<1s)zgsrdVxILHR2}xKn|B zJ0e+vN-Q6_9KW#!!#vq9;leTEU&FwQvfmD6sySxGD&lv{W)&af(YVy_ zCjLUbs5Jj6#$57Zh6m(*c&PjDmd7(*-1!iM$LZmA35KQ*Qk73*!(t5TY`DuI={DSQ z``SSll?Q9JO?AbiyInkLrbmBYC5;Z7XvQOE5Uk~uA-W6&N3q8=Bf_Bnb8pK-U@hjR zn4P>g%C4OvRtr=mPfom}P4x*sDX0jlS9B@%w}9^x=5RtXSwHnV&*)BXtAM_J@4 z9DUx-Q5T*a3YtHRK?&HMn?UYc2B0KrI^|8}SFnrXcSeSq-)X6)Ky0KT0lG&Nu9@0H zMd5g8()Yy8s?xtsKfHb@uAJD_IG6D;?t5v7Lz|yU6R~&jLPi|yV8_Z48#p961KM{c z=uFUK34-WQiKJ!*xV78$Cv<8TE-;=o$FUyPZjnbze<_2R;E^O56qb)*x^1!=Bvo8q&vOWKUgobuAR zA=6s7Hz`QbrWj(?Z=%nicbVDac5AOk&T93|Mn~Oo?!YLgwTrFTvU_Z_6H=ZxeVHWO zr#11Au66Kibz(N~YY#;(UPu%KZ>>KZkpWUiCcgNP;k^$rRD;O|0WFtD4~KlLNtswK z2uJmUOO(%iwz-5!7xY~<99hxkg$0FL%fU!r;ZM57u))XYJu0Xm-)-h=cb3#UQ6cC7 zc*uhLw$D2@(h;@D!SE@{o+;33k@K`5ooEr>8@0QY6oJ2SYNRhZ;m2CTB z3*X{TDT%(!+JslhCUydQV1p>#v5jJbCTmIcI^)Mfpq5c!G1Ye{STF{pM&nTmAMef< zHJ6DqyG}OJQ85sw*E2N`yNC!xLHSA(khMO^#!}Y>y;QEtv`;yIPr4~545f)@I5tmP& z{C5N6ijAGRCs^2%7G4SieA?B)qhAaB3qu!}$8H;w)C%fXy)*0{% zS_C!=b!ry3%~I9TWPtKX`cz7MwsfEE$6f7%9hC~cXZ_$#V?UR^AQ|+h;|ZGD2q4!Q z_-zjSrprM8ueeT{3>NUSbt=DMd`KFbmCbc$ABVkcF+2ZjaPBNuQNB7FUn)x-84Q{P z6dmyVd+yM*dImS_Q|%>*{bA^V0K=kk)X@x`h5C&f;7lUD%jhqxNYvyqq4Xxw5RAa5 z=7>oOrmdCf^rk~sUwVT%dN#06$dVmHx}gK&FB^2?HDF`U>VNAC?eQQILkGMA3B!mH z$>Z+BA+!Nn_RfALW9r7UV;oh`V_l z(eeA@Gwro)Z#HdEngjdKhwsns&sXnH?nBMuyXXb(z_w7gues-v*d!EMi=7`vy^PZC zf^&=#e=X9AOXf}Oa2ybD0DGO|g{?4NGhK7YKE8>#XRc=c&=oN1qV-+d7diG+X;O;C z)S|;0pZ?S1nG?s$&9>w1NB`Hyfz?w^#9I4xMV5cZ>P(`h3VPL4qCZQT^aA z1lnJZKVl~t9dDmKfH15>6NaLPPw;Eo3}joGve*xoZ9^??t<{axIQS1)@;_svfR(|8JH=4Ns<^ZM5RBkQu|c>;Zh4l?8s=!=2M) z(%-hi68U{p&j=orXWM;r)@3WEQWFE+{o&QqM~paBK{p>N?86pzyy)YhNq%Mb-r{$w zV6m816(DeP1mKEe@|cvS~CI6+imX>Y1GMS ztdrSsHmNNjAuj`QT5jRmQAFO1mJ4heHGrQr>PCM=?hu$ZYl(qbz&1+O1=I-gY3=h^ zp&gxKTAz!39%?gnxz^HE4$$=x8hKX4Bunxx7v=n0Fz&OmakA*R)P#72Hw_K1v;nrH zNcOw2M>ZEx{tqQ$lBN30N0dw7QCV^%(ep&@!q;T_A3UV!9}LUiG$;#O=^ zOn4F6DNPCCPvRT(AX0OaMPHknr(9MsBKO?v<&twCWZx5!o_P|7^_UP+Q%^Pe7K=e$ zPc_I^2ROmq?-r$YaWMXe|CEFmZzuCT?H&2zxfjOc96Wl1>WlV=!$|tcGAhA&7=V=> zic(!3@EkQL*OKvq?H9z;H7M1B8^J0kG439Y12)Z%s7^8Z13D59vOaEaby#VUcKBAG0cS1OauYbz=`DHpYrm2IC4rwI4T z?vLboQ~(+fyOo8TRX|kM7nHN|6Lv;=p9Xs_IC0$%lm{jg>ye3}v?f;1c>?Msbeeivh@WYgN4VY8q{|cE5y^`%)4Zo?NXNP=!Ea)~}J~GeMc8&6u zsBJ3@Tn7ob^mtAVk!)LNYpI~bs&6VF>_5o8ezjqmVzbG?Pr+DOk&Ssf+r;BSL ziQroXuO|gwMdW{`ve@=n3e>W3Mh-mu#!o4aa|+5y<&Q)_~dMKg@rpE9QZ3w zi(6HC)d(mf+!d#8j&pbOBjft~%jx@j^VJ`|`DJ$Z=E{1D(K(>DCmxf}&HMf0taW!F zchJ6}b=4kk2kl^v|EIOPd%BYl7sW2L8)U4TR~8+Y9yd!QTk%KS+O$}e_i6)&#Fsju zQ+-K{yCx)qm&kyHwMx{v_IHZn9H`U7d)|+!pdcsU^IAp_o$Bpy32?x z=hEhhuAHqtQ~sc?DQlS5fvp0_Bdya8?dg}R?i4;=OfUDg=lcoHG3eLNcO>TN@Ycn! z>EbTTPhz+S`u)x1z%=-zN9b%X{H2!f`bU7A-IwsbqrgDP&zVbPSeC`ZYNg>xN&47H zR4$ewQ7$W@O;o%RHq7OseZo#^NJi!Yr}uGKJ4N?mE+|Z~N9imkgz5^X_jC6be)nSP z)_*zDx8Cpaw>H>Y=HHXBQ-1KZjqckaeb{!uc}{hBEYcd4%j{xfGWeQaxM$K5sVq8h z{EBp*J(9dDsf)qMIxWOw`niRU_0|<{XBbs|;h}8f&^&&>S3gU~a|m~m zy%_lVczc@Xh-nQ!@O>gVq>|G48C+dSX?mHFPK&`fcX4r>!%HR6^MRBI{G81pnYk~$ zhAJtAO{|LurYHPuDWL^QvFm%6Xdr)M>!RUh75Kg?pB5B2w@Nc`ds2b1MAf(9+0PEM z+H*5w=zcXM^%-BYq#XI;-8~8qDdx^(mz#|FLg&d;fSp)QmPL=$j zI~#OOuTTkaMkvLrKdzTRsNq=!^hmf;484TZc#6X)sFP7k3EGIVG0{&!2&K_K-Bk&> zl<^^3DLWU@r_R^BT(~C874Vz!7B!1i_QO3yxwrR4C8ow~2mV`UdMwPmmkdbG^uC-> z0dNQu;Ro(Sb9et^dZU@TIa2R@;+hjsSiWt16Y+Q41>1FF-dt2>>w0F`nj}4)k$F^D zK5htBn4xP;{$`_dhBHg|0n)QqnRi^hEe?b{F3D*h+ z)gxb-5t5I)KGHDpM$@jOCD!f@K$|(Qwk4BxZy%WqO1}c0R6vzmQ#Csr+~sNrM}%|A z1PrXRjlG?7NvAsp93A&IJ0Pp_@+pr*zpvC1D!)LNuVjGW6fc%IifXv%LLvD`*^&(i zQFN`G77N&2liFNtc1GAATN+ExrIhrU#Hl`^P6=6L+B8*JE}%hfPA(@w7WyyCLmC!r zh(n>)EC=eb6(3wsIs=1c82KbIUjOT8L-&wy$bl4cD_9CjAxC(yA@5Kv0t2<`Ga^Kr zf3(`{_k17HkO=8;n2`_yL~`O7@zpTk1%2A=lRhM;P5c@^?rD;i931TkEt602ZA60t zy3laAQkPxE3hqyt z1tCxpA*vz~BUf7nH*Ma7ClDU@wOA2;pPN2dyfp`8dvOs#Uz%`Dg>#O$sGqXiOF2u) zs#{(7m>|*I0TB5dXL`gv6i6A*4*WwTz_1Td-(xz6Q>P`m0-})uB#_tCVM@1c5)Ug3 znA9lC;G>;OhC$XXu~m*MZZ)Q?&u;Oo8(cF}ITVdgtsKh4ev4-9_E<~_ke!P^+Fg%B zTwM5xUOwcO=uH=(eMb&wlPJCG1;D2j;SS~{eciwS$=Wc9#*(L}ZzBMiw#DdePdyG{ zlXh-B2ol8!E-Rq72mcrMB!T!aDc$vr+T$$&D-eVc+@E&exFn?1h`1Q=XJ;B+k0ca*!wBGy-12J}wj$#7&aYyfd8n7<7kY#)7z` zylJa0)YGktjGwY43ONZwCq*)iF_*49*5_(uTL!GfJ6ouIJGk)$8C?o=j5PGpn8E0O zwo1-EVA}&)tQuf4?I~&uK#&L>N4j-s&zMbQk@J0bGPFVIRWNnfYXi3+a z;L_>m`u4L;7Ug=sCl`r%Z`N(oF=$7k$D2NeBZL~&S!Tfv7cQ$Hy9R|^^!Eu6wgE=r z=s(+;f$JLyJ%d2U8Y2MEyIG_`C{WrS+sF4a@a?X}2+nH&(h~uE(xE!arAO}64(N40%Brq(z`4@ z)Yb^3bB90WP6KHJ_VJ1qmx}t^z`0>uTN;BbyS1|%4HvO6vk5qXlm8fV$A7{^1+lZt zFTU^IU0M}-wj8Lj-b4~%CZCRJ)>!QEj)eYv)v$j+THa-9>7Z| zFR!8&2O9e^`{p&!G%lgsXrwpxncaS~7-HI9CvuZEbM}4|Nq=6t1Ss(ZVNOkZ3oqdX z*I!Kum%jNRmV8D_`6pXz^ut{@K2gu2s<{@an{;SN7__ZRl)cIZ=U$`7!g*8lSkLad zhX{!_Eh4bw~9%lrTqD%4rt*Iyp5Hn49I?s9Mc zyVHg)RE2Co`iNt?1W~1P-kc?RdwYAKLxSe43OC6_frR3s#p4G%=q{W6 z&X*isY#sO~9V5U!>x83%D(3tezExg_+vO?!+7571WhuS}GH{@7OMwO*Zid^%a`(9j z{@+%Jqe>lb!W@J5ue!_cj-sZ(NVO4$+elMWjk|l_f2LEAHRx~Bqv=5(a50#zh!XDPNl;k|)fP0{(vAhZ~^Pm!BqQt7h zzMFF_NFwlNCFYU03i%B!1@>OWf1I?Z(PUE&!QRs6oZvGS`F!CKE4uz3W2ly2%tH=c zbg&6;K=;vV^e{H~OG@tghbB^P8F+3>;EX}oVy{d1EJh$B_$IRu?TIFC{`5@N;5j{( zUQ;?x+VDQn-FO2E|FR}g9fz3$<)vKRL11v!P=idoL{dG|9;aQ>RuFx9es1Y2OSqZ( zE*V%Q;IDR~C)uBk6bS!%0w)Ins4AJOpR!AVhMB6{^O=_Xd-Xt5><#>Mn1lg6)vFVr zbSaM7A!u{%*4-VjbhcVyT$$po-JT%4x3P6{Sl|F+)^A0b*Xm9*pY^0s18zI1V$}e8 zDdkh9U<7;GdFusFUDZmiSszGl2v!Fc|F|$VXI4~W40bhulq?evo_6x5>Ke1>s@z-u zr$n$E*&9F`|2HiwmkyfX+*%FbA|k?&_46EHMg)|xoH|DPR@=+my3@WgW2NX6s7pvX zVx`Dz{tyq3qQcEojAFhW8~G~Jg2RcQqe)FKG81k*vtw`O+MzQ3!Ruc3OP9GZGpRgX zyM69HZ5x!ZG-H|BLZ#KjS#{(b(@C5SpQ#WC%y2)DTmdj7-_-t_KVQ`4J3o&lNcz*% zVRtC20S-v&WF#v@N#$_|9xUSW5a@0`DK`pF!ID3kKXt4b=1J4U*=8@hL~ymA@&1nm ziO@)#cZU~L0%~=731vPlC6G4>sZ5*1h3&RmwxUQBRTw^vyY2)Q3?s-QxX3Jnpn+SJ zY6NbqIMubihB2<|En=0x9_FP}C}il|jUPy&$r$#|7OU74dQns!eFzOSJK)!l=+@W)&K*3l;mtxXWeWA8_$YFCH)1 zKWUTeZ_%97m}j~UxsIZewO>HWWu^fsY)C^V5@QafzN98b(W)E}kJ&`ndl00Y9l6= zu+lT;v_SLIWfqPN+O#~RtyYFi_IoqdlqQyjOlm-S%6{sRGSxrbYnP4%0w)U#*zmmJ zs@z*MT&cVqraPxS@mzNP#;doWK1QR7?Tj;+wN|)VX;+6hXLepcsOBASrHr*Zj}E;f z9)IT35&EP#J9o_QBjVgL6aKSMv7T0Irlh(Ldu7&QlAnM7Vi#k7+j3-X7NYs75-)9% zlI9o>wpgH`k`L`t$mcjhdAmTmpAqd+hQWt80|R3X-Z`KPDlyfkv5GZ7Sn)eZpuUu*>*++ z>J4!`f>s~GI%UV;UHI{Izn3lY^7$yg|GY5geL8%dXWl93rrdCNJ@B`?iX3;pCEb(! zd3vjobwooQuepCu8HIA@=O@+WM_~1Shnj2kn;X#oHt7{QI z{qzuq!@-vjMpKJ3lYW&cQ~X*-@i5ZhLFiu&U@7}zk175ggBewpeJH?8R}Yq}020y( z*FK@{@whrn<5c6s7Rl)RV+LdA&!I^!x6h%E84pp}e}d-xsmFn2csKWp(m^;#Gcl>d z$okbH{K%Ru*AYN6;V|Dq=j7Xw^2)22K~sW;22zib)DDI^QT7JvL$MRQIx{qWct%dMIPK}@0{G=rkW4{QYIrE4(n(Z%#PAm_ zB!morujMAmLdMgQbDJ^Rke3lTW0tbuxh!OW{DesD~WBj<)H3QLp0dxMJE9tD@icV5rR2 zF0xJP(}vZ0XrR?NYPKB$>$3hHw1D+t-hWjZ9xzi!uUh}$&=21-6ICErV8}~{XCP$% zRbnjoy`Qdy1Jz1HL)MLsdW+hdnr!)h#JyvXY)#v!**13D-Mekuwr$(C zz1y~J+qP}nyY24N&+~rY%$ajyBF>MAm_J!jnGu;0YgMhPyzVRSyE+_)N(33LAfwYL*)E}}&;f#MA%)h+Lto_J!BLYj9H;|Nbh0l0C~XDBgWm)Ep0bbj z8BrHWl}z_uXI+5#M)~LE!-H6_3-KqtiRx>AOK3h&Me^L<5ri#yk1tR0t#Vzz6lnZoZz@V~&&xvl4IUQ- zxgX^e3bQ?CQ~vD(Z|V(C*(BK9@Wvb3zJ7n)zJ{L6qFcC2|1naYj4?PnEpcD|zIR?& zDg#tyo37TngDp=Jj8bi7v2v~^;F-fbItnI0(sO5|vVgv#)>(VPF6bq)<~P z9}XvZA}v}BBQ#OCQ+|pWgt)i&3QQ!SqGNMpC2I%$jV&3~$hTCd3#*Wv7Wi?)1omKEBQ4)qY_sPsNv4=rvO zzUP=D|3+N)a_PRptD4bnba`yPe!5%kpB{1AG06$8Z$afe`L4{mFPsd|ynobHIm9#p zsFM54QnTHyJn zNSvqDv;@-Xa-Pbv*C$Gr@!!c%)ftUi@p(PCok;VkYBA*jx6Ez}!brnfhGUzl!m-nW zdjU^5m8tKkc&EmdbahnU!(}mMrV3W)+{U_egTDg6K6*7dEcDj1viEF8n)LSli(<1~ zqUF3hdleTmxaZs2m1;QhFS?(UK<{?#=JhkmWs#z{KN+o z23sHsDdv;#n?Nu9q(eTbs0aM%pzfL--a0J^OQ)Q>1K;zGC&p)K7Sh~c|GnZhc5p0N zj@rCLDP)mvq_TjAFORq^H5NioEV<@hS1k8)ErR1w%gK>{9!>&j)K0p{5-MZZYTHJhs?w(omk z#(^Gn3lW)1>h&|BtaUgZ(hKDIL`;MtEz2Qee@TQ?@KXD+w|u@aD-v4t6iOx`w*}#^ z!JWPn4&a-hV;tES#hh7iP~Ar)>G6y4BHc(N^EY)B{p;(MR_< zVA*YctRs{(1&@^>#Ey6oCyz8wgoM-)4mf6!zsMqx%`i8rC}vhvoNPk03zaWECmv21l1`^C3d3mXKJp zCN(nm>KZ1R^iBh@A{CX2Z;Bq$E)vkzSdu*Jr)q_F{_=o#n#V!e zQr(mx_6%8}Bx+z_X3s<|AJhN&s91j)n?ck;aen{Y(qq*c(O;UVhm`A6A^o$16bNjpx1Y*LgNNPkhrsaU0|$8$1}CFAT3+)h zcxXWf7dpeCH&YwFX0_B4A@Tg%i@pw5MlKDEQMC5MQ26nqil06}*}EO4&v?WCMv5sp z&G_=b95jX@O=n`gLfB}&SiIrdcprd1oZC1~2+MA@dz_jd#=j-`SB5rtVormgjd1OZ zZs^bK$q#@yg+-HC^~21Js=`Zy)#sI2G*^}C(pryGQ~0Rema^XKUtWId6f{(1m6|(A z{H1j#glX%UYe|o`{z1q0Y3>)y2}~$;Yo|tN^B~JWiW1KxxxUNW{PE75H@k^JDtZl| zB(q7WKgB*hbKNh?KY+bqCH0qa`@6t8Z#--6=VxvfQg`@s^=gLct{rIu*-@Jm)!n(eEMk8&4qe2>mHoz#QMdUFKMzhzo%l8VU@2To@5HL_6AMgZn6-FpCKBO40kra zHL6MO$hT&X72>uW7}{ zud1M5vts*rILL8rg9Dd}Mt&sFB98+X`4tNZp5`a5LtU;v73v~V9_=XiG?KvSAYP2I z4_(z2cI-u}Z5aIyWK{n+@3Ky;l}4Spe%;ahK&#V>CY2whBfame=W3it>uLTlsa6(q zT*164+V)Tph(MEA?s+jVtZv<+6Kc!V`kd~S+2-SB9(Qowi*RUM__Fa}2*>!l^5}Y; zqgd3^>wqN>;HXBR5A^u2{lWu+lFw4Cl)WOjvl*^*5tHyGFBc;xW7e<~WUC6L#9MtO zm-iY>;VH7!kRagkXo|D+K7mD8E(k;-+Q5T|2;w|;tMQ$KjA%xJLgQ@*!_W3I9!BvN z{PQ3Kq!&&Haz(P7-1=5h2lscCM_DWB)g1b5O=yuwBLimihWPnp!I$7HwS7KJ?~+al z!*p2fWwN4lxX0?W`;9!l(kjx0X)879d)Iw^VZJ=Cx>v3{_Pd`gZoK=(S}jg~@-qd# zU0*QWzK-8#ax99CFXn}4mBKOODwftggw-3p6092Eb7)5mbYaTw=w&W2pJx+RaB>AMQhM9|-ct0^0<}11&v|w4HGiLg`nQ6H z%h$ckF1t()q~zh8<61-U`d%OC17v$p^9X%V&Mqh|;@Y38B`-5k4N0G!9o=V#ilHez zWLdq)P3F^tPPMAA(k;c}G04T-Eof9?E4fxm%C1cj9NZBy7n)w`%CBk$7O27lfsHl&<_4N7 zo$a20R#Z&3*1EKvWOnIbo`l=&2ngLR$xu{^-)7Jn1&bq@sfvbDla?9r1W0)46Mx0| zga^O?`lEdf6$&c+c^}NoybVQ`(S7bjvTA4I$aO|S=+a?a+N_T+7%gM0skxgwyL7fm zMV8>HiyMr`-Pws;t|XSLiCk0>*NJ{FreSpw_Wj9ZgTrGR;Czh>mi0C>sV?*&Mz=h% zF9RQ7U|)cQKNstz`_*sRD}2}5Dv8q)D^pzQwDX;gslg~(P^+toAZ+Ond4`=sa)emO z$}6s5)@eYD1{35wyNLxe$bIgZ8HP&uhS;&&2B_g*Tq3caM ziq-h-CqtHG`0uf#xMA$VdVvFak6Onf?lsH&cRzU|i{T#A#6Uvy&jTx@RehMM=&X$3 zereg?H%`oFwD?MJ6j#Wm$NrhOHuTojS0NUtqEh=p6Vh`UlHZZJ3XAHEgyJW@VXpdH8{JrJvKJF=6Ffxaw3nW>_d|Us z4sjuffKeWsh&aaBWuFKTqj!V3G&x<&BBx^5AdV5(Ze0xoEA(=n!Fo_Aq*X+ zE)R;EsvnAqs3BV3+cCM0kjB!)bKt7xdZ4$3cqZc()5oY}I>pxUx6<;XNsVSNMJh4G zb(omuC?}Whvhx&ox(bUX_PhosBmf(~UHMm}CVFK(6JxN7Z1?bUZa99Gr^nt(nnT_S zcdxe=cdKK zH;)Do$_nf1IaA`8MTYg|2#6;omtvH%o2I^cryqKaC$UhR~Q#c$@YrQ zc_m~v_N*LRcVZOqX@Gt7vAaM2%&-b; z^N7w~K`l-v%^xt6$K?e!t$&|v7VAyaM-&=Og3pgWL=z)nUr&kL`XxfT8L`Nh5(emuSm6*#C`(IHp<26l z_|4rED#*Q0g@^BQ&KAcH`BDkM^Dv2C%RJ*9ioBv+( z9Hhk@VL<_wX^-xX1b32kws56E19Y)BPw?(6~ckj!q||?P&0?e1Is!CobqG z4;TuzZOg72#}4%m{8js1H?Jic+&p%h{FU8tA=wTbAMmD z?fTPb;UEN2u&_|SS8b>=?|5l^m9lbE8N)F+spSnh9)QY%;XYN1fKR1g6W_QBy|O;9 zqP17+^d7J1P?E}%e?9HsQF`R%Cy;(58J}eSYGft3*jW2L52Ndq1NKCHuiP<(>YV9; zwBX{|WvLtfUWAHs^^(bOH#%#~Sr-tuSjcKCT z^943@o`Ef4egvEB%!<87Y~PB5x8cM3imd&6>3C0Q^W)UpE^H9B-m+0`C+%8k(waQA z$Z2tPVJ#Qq!F+oBcBV3kzfOUqFIks3&@c){v}984I4Xb#iQGhPzoxG0+&n%Ag~9bz zN;Dvos0y1QLv+eADE$u%p#|(Hf0yM1ubbElHGvJ;5RE!e`%j_6<-!erVm!LKtUi?z z5RB66HLMZF1!2(-C~&56cX6Z)Grl;OMF|{k$V9Y2Vp+X9XzX62ErCMy6B{5XpFICX zo=LtY__^Nooe90Gn>>GKx7a=oE(S6(KtlkobS^6}gY^6{+lYMxql83envBq~FZt z(zFZ!OVCFS5usaUQ*0HD{$jya$|~6AqOtjDgKU%i)<m`8y!r4BHe!=k?$TE zux4pla?ZnL=$MP*;b_0+Yh{p%(jN+o0HpM{{G=&oW)OF)^rT6Iw@J-<$41UNk2$Y@ z<_?hH=EbvT{*#ZjaYuFW>mIG8x+6x-8{+X!}{Q zD=pj_+Ouo|xbn1A8ATzHmeg5CAd!|d0Y^a*tHHIb8u&L%0(g?NR9VJYan8vz^OK_< z(E8>fAZ_URo#@@o)zzp?BoWTZCp9<%GZr7t>+S6@H6D1hnyUO6ke59y@*3_J3X+!c z4k9y?R`o`?%Pn=>G0H@|yavv>&ZbGmeSdL-hQf$w3Z&x!B1fH5)P%@-th`D}%Re1D zh6HI#dmuVT8@NQ@eud~7YRcsRS^kt3UDnbbi5xg=Kw`EJJ}-uPpq0KDin;NTLb(>L z`OauM;@sHUCbt(O`de=(R%8kDa;9G9_5HXx$1OntR;V2BBS>JG38~RO=%$Z6-z^(TXKSO z=fdkshzKJs$+60q;ty==01#Z*qwpiFpO6sj`Z;kaA9%KqLUB^SQouWnSKKFNj=&pmtYbi zO+WN%WTeL1_O#LpQI{D86@B)?Yf8{3SFC&tpSN4EHDf3Z{hUxnR9>njGYGI?`Ux`4k|;{L+hZD+*pPNA zTk?}WCENj0kQT~-5=wDzzJjgSm8-C~Y%=OF`ZHrnJ7jd5CH^#FrLve2*>(``&# z_JI^gDBwUI0}rIN_l?N(X8uP4M8OLUyP%r{vGoYSy8s3%PyYi@^k-;s6b8Q9WCr^5 zBfD2Lh7*w-f=(xu-zXzmz=qr$g3cta!XnFb9zhRf+q*pKj2YL8;BFS8u@wO7L8dtW z0|>A@hIR0RfUj-`g3g-+aO)Z~BoQPnF#rJXzSZ~!t7t|#5OASxijF%os~DY>3o_#* zOSED*VaN51aa)jD`aB?Fhf*onq4jFnlC{2|3?Nf`SGcnVo5*ONU9A-8d5+VTFSGgt z?n-`givxf+<4+5iCro9n9i)qW80zEp_6}9Ac*;6`r>#{eg!PIkRiDs!+lVw@j*gt~ zjDwg$9c1J?Cn~qsXcQmN8nD1M9?{WY5kcXBzjxL|3T}}fP7CMOHYqDpsJe54Gfiwt zP1VEhKjt5;Gd0nF%s;XJGXL)XFY{0NAM-CG&k_60L}Q0GP$aY}o6BbYa5^DPi}#w- zCEj|{2;SOd(43#$c%MWqR_NcU0af-t>E*3b_tvTm@7c~RbN*D0T(IK2O(1Srz8PR zx)+Y1_Dwlli8|3bhi9P2F(mve(%`$$=?7n`*NYb>CypZHlS@q+&GP|%kLV3w^* z=U7j*`CGSOb?$A(qzTJToY^I8`a_;(!X{D+R@p7fz-^diR9Ef?b=XT6?V$9q@~6hr z#;1D=S#`H^R| z!sbn8;2&$dK%bH)TOLbxn9eXjLO|NgccP>u)kqD5MfVH&Yso^_NO+DCb#Xg6I0>kk z3qPZPc}=bL3I#_^rwibBI)0DR&SF2#!>)3@%ANV5j+H2xbx3F%swb1fy_0DFegQa% za1Z@KkEmrHBTt?j;-z4PteW#*N8`SL>Ad)Q1pQE3rV#`Q9Fahd>(AXul)j74U<>t# zjZ$(teyA8qDC9UINd`s)6+~LfI|^)UrA6iP)2eavU(|b3(Zm^ zX$+xG5cnim3$V6gus1z7J`G@c8EewO*sQY!1hgUxkAAt zl@iJ<{L&PmT2j)muSX%kP;#11(1B#2=#D!jM@bG|kv#F4jLV~FhMCUhgK-|`ZDyUl zH#E1GLxZ!EfyYm03;J)g4SG%txHl)j%+rT6f1wV%wH3`;8MM`6c)bob%tn>B?@Bh1 z#vI$UOI;A$cp&r572Ov{_^;Vb`50_R}N zy!Ay^wh+qC_x!ro7f3XY8cl_1<6eWC#9C%^-QS20wb~*bQ3>V+me06ecamhSj5sS^ zaICACDg251>O?WNw$X$5MZJRn49~O*AiCtX!k$k_sH~Eh6iMe0KgUxp+iHwzvEP6;K*|@FJ zH*xLSLm2>L{ylVhfkT+VQAMp>a0~CBlOO$yrj5UxsM~p+ zzWX?XAJ(bxCR&qnXTM_$|M)B1z+PWqzq!-YDSmHid)XZ#bN$-9Mn}Mi9(QVdP!9hI z_8)v=>IS?L1XdUvRmf!Bs(mnMAL)1Q1rfXkG}2dH_qYs0_+vVl2!YX}=Vv`_%e;HK zN2CABL7;POjGW7vhG+j>%xL~)^7ZxJh)7Rq{Bc|J{dJ)GZK&1a(zC;z+nO^kELL=5 zNW0e5HO{IvAMlVCg6DR5&}OAySgAH5%_B*kj!cFA5H_8_%e~p-RJn=crXrSal2YRi zlaWGX)Zra8r8pB#N=1D(yM_Bbd`<}Yaxz?WW7eb*3JwnT`Tp@Y_S5?6*7Bv!)o#|u zrtukGBlLYnv&z&{#ImPphvy?<&I1B)5WkU_FV0y<6)qe$lz2uz$sFTshxyg@<75GT zE5^6S&Dw5>v)C7ggD-&RzVF#hN{SxGcM_~Gdh-Kp0rDUoMx0NpJq?(4U}8aMkW&<0 z8V4~N(*Grm#tdu(_DymDO7N@$qIKWfEv1On_B+vORXK+VAK~F|9Y#>&^YEPA37PsT zwub-J02z+jC4LWJe9Z&a{8rf2_0O&ceU@TgKMaMcJ7SNvJ@1r;)Fn`OM+j7Jes~Q< z3{3rg zE)S>3lcVVf{AC!16mbtN<4eBQwIt34PONRea@_Fcq7|kdwxIcCGU1=9f&yPguzt7r zJ{OM6_jsC9`J2mLvc0xI?A1K*eMl|}`fVrJ0i!_3A9iBmW8QJ~=H#rhu8SFRlZuMr z`Eaq75{27AD?Gks6Igw>F0L%~Buf@9!*6_S2BJMhftlYgI)=XZq2TSwFwVW)Y<3i% z4e&ZO=eFW18ddCZVVbdtzN?eYl3sjcR?=1-fv8$1p9pbNx=aPql2AD8Tcv1C~pg%iwJYu0a6qJ{eN!O^9 zt5d9k+^#1Mh>i;zT!(F3QQuF< zOzpy$kkJ=lI}`mqNpR3qUI}fPQ9!4SUZdCVBq-oA$92rln4zqGtkZRQ8|379JH5%P z8{(qheWX|MNm>K~$@62d!3IJBbm5`YT6@j%$z!uNPU~sbOh}ReaEWXmijR= zn(esr4XK&xDc3lp4FN3hFog*$bB#;Iz_~OP?G_>avWe1DqqW$^Y)}AN#TbM&S^--=> z>WU2)q~bSg_Aegy$ZBHrX(M`RG$&ncIYC90Rcj=tq0m(GdzBcro<``t{%ULnL=Yb!hUAZWt|u3lE3 zI>uBNfy!9mN%xOMZvrKWnq##KhTf)~N(^iy`>2WvhO?)^rgCK+Rib@Os$jyC7$BQJ zC@`=sjo3JhhZ$^7@D4P>M&>Yq)6R=sw#dh)4OHXSUh0(`Y#MRoQaorzO)@g@D72 za#hYx#dAB+soa4gw08kWE>H=kI9!qB{zAhRKIwy%d;bAj{?Y-n^o57590-J2-UGx` z6U8Ve#LgX5Zw5+f6#$LGYp4LydY$V)oP6dsC)-E+mT9_X+-mLnj z;-_Ym58~rfKH}vQ4to8*YOfIa00dtv&I?PCAW5~0e31G>JD$((tixe^3j80%&tV^c zz-uFVu|SEW0+tUE!CNKokK8!>L+fUwIn1w z`Hw^Tut}ivjds6zIJzRcJd3C)u+np5qefyKHJwbjHiBW1ofUYHPjZWuc#h+8YRg z0HknRx?i6$HHfiUyw@nm(Wq>;Wi4%rK%!#3gk&QgRH94xvZ#(jJ?3rghib}?qXv#dxRoB2d|D}w!LAz zUe67_e_seOWsXD~K;*Dpl8PWvm!(@#Y00N;Yd;TdQ5Qt#P(7Q_8)BfQj=EIVpILU3 z+_Jjba9ICtE$rvP>8uF)mQwtF@;$YFmvv=xlgLJd=(a{*IL{3B@ldJM z{q1pmic5?FJWnCsgCEB{4MMGLz(+gXE(LcEDQ+jdNJzUxrIgxaHn)dN3T?4>d{>*B z-2Ac70duu6f|$JH?@B9?+ayKoQX-jUOR02xwDjB}Yb(d*C3?k6y>OAZM< z3>D=E-QG6n$yi^LmNLU?p}au1NVuV5j_h#9c~smNnfSO0tX%}>GU zXd&sbtu^-9=2E{9ILkz@w<4opBLU|a+9MZ%;amM>>^z&-f`BA*{E1EilO$1sDu4#j z{BG62YMsV7OlPQ>@wfkC7t}p{?#g3*Gcxth3B%h5`jF7@_#6jPN%kMo@bFIzKv@i$ z7#39G?65Xdv1Y8#Pfhe3Wy;b23-wU1RGe|3ICbBPfuS-->)lc-NNrlkza!S1f4sp= z4b=%-l71i{Nq4T6^0XDDDw$wW&P9RWMoV#CF89z&rcPJopL3PVv^Cd>SsBSj|Wh#EV``zrcN_p9cOp3+dc_jL$1av~(DYw}ZbqwJ!zp zh)_~MR;(%0?52U5%9pB)3CJXW>JZ50f z8Qmm+m3tuO5fD&WTF6gf(7?hd1YEV@1k}k#cDG;zCkz<`op$nfy|gHPOCl2pdc&x4 z(=_85L@m?}&(iP%COiv*yBUav767ORsiM4(KfuxmmVpmK?y4l2_>4tj&T!%@>TxdIU$C2PC<&KZwwjov3UTWcU*&0+;7dG`% zFFXuQQ6f$2NIF zQaow=o;i1Ux94}A{r(1^5ow(c5-~oDB`I#cpau?>1h-39p6IYX;UXX-aj=XwXjn!j z0b>{ z1!c6=L}Hblrb->PXT7zc-JL2YW(439=)=1D zMyjvN!h?6H7Jmebx~gqA;oK?~)7e0C_a9PgRs~JNkOQO@Oi%vT1tbhl-9H(tKA#>J zZ4~+WnRIzI%T`FL20D6(OqI&Y8AbXhs1;H<1U zODarrM8NCfSHxPTc(Np$DWmf5dEd4kfHs9@j&6sv1f9P2zCTROw*>Qkd*}@*ABPt; zI(=PN?RPAUtqR)&(>;!WEg_;Zpl!BwX=`lhH#;@gGCQ3S`N4e~_ThY!$;0;HBA*VY z7=gZhh@~Qr4!U-d9WS?&;=bf8K{K0#ZL81dU~^ zcqMl%o#7k=PMfPBdOZfl_us$mr+F`Tm@Fa|`>4-V!Cy`f{Bo1l%Eq&x7o%9BX!$KIM9ZX6)2_AkJ=Z7S4Hy zom1_Gqlo4ByB^sav4*`}Kg16y>4NshZ18>qE$ZT;3zV?#2nlElkDV3b&lfyC?a%6x z>3nLD*3^T(WPzje$gU^z?WE%8Mv+b489g%i`1(hU_0@$w)mk3b2@OM=61bbQUkP$K za3{N-3gshl*nTf_>b-K_vJZG(f!2It4AnzZ=W5h7_Dg+9CDCQl--+Mnv948uI&x6! zshy&{UP==Mx$pxk2Kz!c!b^SDIGe}1eTz>zB&X*PEzx#M5G_(G=P%9Cw!}@<2OHtO z&R!9e-P+<4PziNkR~)tKvwC2Pz>P`m$BT8vxb4Pqu{DNptKHBY!>^;DmMnBO!-K{c zllMVZsC)OPYjChD5oRD$MX%ki>D~D1?N*ua!Zi1st2HH;{=f`Od&)55x2g!mI3?|( zs<(3}7`mJf+yG8~;s`5oW^Gp*H~Hw*`w>IsFI6O(i1h{rJ`JR|htp0GZqpJFXhlDF zCf!Nha$Y!3R(K*D(C_gqiH7Ny+j%e;Ga4f;8lh6Lj+va9u?40HB$HHI`jU{8^q^R{ zHWEF`w*^5liGc;dG5;TQ^i~VZ5M!HukCZ#Vs$)HcuYQ-5fxf>dl_7y~7r8)X?5VK( zdTtZ@dwOiy>486Q+t|^o8JNKpe`ba=!N8U(OJBm4n(F(R*^%yNX1L;GJqx&FeKz!s zDt7ebHUw-b^IjE4I!Ipx8h>9%)xoa9)q!-!HNI(Lp}`g*9U~6r4TT2k`+92qsm4XA ziBAUVAqtfSD&`3Sa_6afrH=~rcs2v8%oEXK>Y&7vbI;IuZ2_D_nERmxyB19f*t>=LwKrNtyfUZ|q zoukZoQD*vtzV;QDPkV z<>WI82(y@QY7yv*c>mz_(##H0Sp%YGgG@G>>KN)nM>dHY)t zOFvs#QHBs^>yeM!z2=LNxJAYP;$?81*Tw}S*OGA#%|igBeVgJ*k}lEzPhQ4vQ9KpL z3%8XW=@8RItN|Jp;6%@WiTlW_{7x)==9d1#Br(-=A%*6y;+9C3is|c>>+RcY0XMc z!yq(EB-2txQI~4RJlHi}EJk-~GU&|iO337eI8&d#5x`s?b|(*5JOb6vDmzHAHr)Tj z!`=i9sg!2ABdQkX~A>-ml^X**@f5|m`)V$*UdMh8xYWse-wLKR5ix$*RoNu zoG{Nob}mQdY>f*wsjip!JE@oiVYh(cLb&*m_+Ja@nFFHp_t0>)+-^Q&4>=VNY$QMu zwhU|i3lwOx<11Q&AY_PYMVwBwc7IjjOEROHPiLXLnk*matd zmf9Ke9+g6RI1s6>Qo?_!NCasAQIR})x|<3%$*79 z*&{;~tj??nk;8%ypa0Emg$T#=>clrW9{R^P;_*)mp<;1Af&H`4Fl=N{%+}O4YIl*y zpAiAXs>zzNk6dy3YxfN+>zhX5U-TwkIgS&}l{cz*`~PYs$%W)pyO95H^bNc8f2D8O z)0_*>)~-a|=VFEp`-rW#5nOQ;an}+YcN}&#g(Ik$WP+$wqgKZni^qvUaaRl~`MDB| z#J?6PXDAH~l4M`k=UcYT5}!1Qf8be}rHoaC?{|V;;=(UIrQSS#=WXXsx8Dui3Q%BP zn7G(j&_362;sDXoYhtPzVEi~H7>-(AZP9B(!xz&GC9Q6X)t!U6f|^bZy%)iuZR;mu`b7M z-V5|R8UE6*@kYiPJQy2@%+ywo(38op}?U$$KM zUU%r)l7DA92Jg~nPP^N4Ly9YFH%LymJ(AC6U06jA17|?esGU=%{=cx1)@;Q7&uk=B zue~kEgm}D;hAsRb?1ZU_tldKL%vX@{mg?BpOB_1JQOJCZ+rk+r+OpB$n3+55&Qof(Gd!yT;-?z|Agq`tw<$H z&}nM|mXq#_=U(q8sw&Xl0%dR|j*=FR$McRkKx>G)SR8Y?}x1BSPrqC=Iy+K$H{LB5B`@b6MrNn28IAE(*&2G{R*3od44(5{OjAq*>~TXxAc<>em`=F2>p>M5ZvNS-J>7yVS0v}b9q3Qx$H|S+uEZsLdQ%=E%u?7 zq)|?F)0ZRgc0N-nHe+)G`_hZF&jYnc7R?z=0G$_1&U9=T=CMv;*RScClSBu$Ph&^)buGbSgE-=`ZIChbm@Ll?G=_3w>T2mTe@a;nYC~@B+A{cZ^CLo&AW5k=O(QXqR zo}E%<=>fSID?{}ouM{l`n!-&UzmzF6DjQO%*Vdu&0Q3uBiMb?M)#a0Yf$fgE&^S1! zbbr7an`j$ZmsHwQf05A-(>>A(&#%(3R6B}|0W$McIf^=ncCo@S!-zWbjznS)l#OXW z5QS%o$q_%Dm5FtQMyI&lk%bX-TnY)F@hqw%s-N^a+G#Lom=PKEeal zxd$qZ8sTz+YvQ17_R`{l{_*$hLq6*IJYWwRJyHgxG>9Lghun;leh zK;~=qwyQE^NpkmdeAqAS8}QKopv2eo&=0;ir367AuTVSI2uAuv(ah-lR2z0kV3DjV zB!(3+%nYx`Om2x`opkP$H$xhfBg7CL~e) zT&qHdc?f3qfXJs=Qo^sGKuUPFe_n1EsyS!Ot6RH8_GZstupLp9PDLD70tOQDYJHmX)^j6@Xy**bb7+;rK+ zMh6{h0GW>YDa=)^VVhatB(4SqYJYHh4{6Xr$gEo1^#=|6q#YTYNIZ|l3B>*{X zT-&>tG=eI;J_|)*AwGVTJWHgqLc{g~^Z+txda_e+bLx>Nv&-IZLc+p}Ud${*ikE5o z(+qRi9vDoVW}UlM@dQp;6Nk^%n^o~<`ULLAwY*}`w#yP8R*TX8xx~N!2uLm6H^kGN zl(9Xx=6g}OTN65JnR;dpw=8*(L|NmBNb7bg1Ez>EpVK4s^lqBshz2WQ8B8$$vbsbX ziT`GGh*$_XgFmbe7hknCe&$!rTCjv4g_wkC$de!XWe+DlK4&qKhX7!VchM{yj4@mu z993ed!liuWX4M{-JHg>Yp`61kSSRhau5GdegX1XGLFGk)ySR%G$)*0Kq_K9*^w0T; zikn%?Dg<^dmUXIyT)3Ty5S5}TJIAZM zkh#V*9uj7A6E+_EsyehpUUr1?=it_{m;9T^q0t20p&N75Fv$&iq`8vjL^(l?_4HRw zubJWm;5+W%nsixp%Kup{a@HcBzKS&rjoX8T{Z+dc81$2V&{NNsEASD3Q16~O&)#sM zskVFgAq;#Py4s6O>INOpNv0v5t{XQIIotJP(xQgdLg`2`LdEGq5Uww3x(UOqVbiir z(=1f{^92gydv+@pkLL!P4mtPD6ruc^46*Nzknr=ziC2N+x?7Qi#=LjKt?BiG+is+MS#4jV5lNonq)Su%s?}1I*1-c@TO7! zrqqo|Fle$wEame(Lr?^4vQ1`tYoF}`8*Gd_9YwvW7N@iM)rQ&GdpW_$r-4W))%bT1IgF!4_c_2`$_Vu(aNf~ZE()eXK(cAE~IGV!uE!BKo5O68j%3$uGZ{7g3=)f-9^z$ z*2~-Vg3MrL^36!k=NnK`igVst|L}hb-1nE^5B_g?L31s0mPHc!dF$ANCL49S0u}*} z;-}i5!awuGE}pyE#1WbL0(Y1kjMAgsC~#T-#05CI>JZdtw~*G1aF@I~Rm*#QLBf9o z1o_MYbba1&{2L!1zkZE={1iTS`tz;g!EVOtvL#oL_xWFR%?Y+p!dv10A}rY22ZjY@ zig120ZxesR0^!5-mnwXHpqa!OEz3d%>WTkN+n@0Av=jXM+#>N_dVE=5$tiI`h`?53 zzmkq7xaQ{czoG)~NnlhE14hdRj0$wp|A`7zU-Hpc1-Mp&h6rwPiC$zdc`p>~JfAqd zh66PcUZX0FZuH>;<`Bd^x$AK0UMXlmk~rq8h1!|Mk@NZsHVMU)IhxbJ{8g*PA!f*OXfZ8v!+{l6xG&PG@iP@#f0%Dr?pLRaA z?;;rg$<~1WSGEQr=ik^GX8C{EnyR3a3=vJgZ5m{dx0e#3*F8ROemBtQ%4e!$6mH%EFT zOnncFFNYRO;d^AP3rDeU_d5*lM0qb z#FrQO?{v*Oc{h-*IY*VUE(0Lv{|}>nOJ_&mU+%`qB)Wgm+(f7<=Q>aD0hCbTb4S&O zYms#N7TKgU78N@=a0Yf)bS4^<{Oztx&OnnOJkG zATtuw5>H~g$j)#*@xM&=p^nCt@Y;q|S*j=!&9=ArM@|2uZ6p&;F{nSTZ6bs7 zCHj4nu=^pw8v{x4-%O(vx5$Z$HirLg%?RQW79h!uE%bll8G(!gq-OAH9C?O;z2pR#4zA z>(fi%+G`lf@~LSrnqk`ar*4|QRY+zVu7?>JYa(XUd&@|Rg)3`}XGE);E@4#{wrro! zw^2+(dAouCX|qX}|9Hjat8jFoDo)`9a$-)QX@h$nzIJb0W;KvOYFXb=o$m^t`p8jq zN2}*d{4Cp5nOlmDQsYwW%d5tv$-_z#>J-CHKxKKBUhm*7f=k@+w3o80>;_oR$ikyF@@{o8bK= zZUpqZVa@VJY?-p6xgVp4U$)zi+trX~1S9Eg!KcO~5DIRH0 z|KG4S{2n~#;g4^T>wh|#V>WRC`hfR)udKF$e@1Fe-5O6@)t%-B7R_s3%2(qCGgnK) znkNs@BG)%##}F~6H(_HyXzg(&gHBO@pS>Yw+JEO>%-mBCf0aa7Xm>7T!u@?UMHZ#L zZd?}8O83-xTi=fGTtEEh=DwEO)(z)>6NGz_PSo4iX2}XT9LZ7AvoQ09#dznc;)d)% z=PB{pY$xOnq(=$bLx9AI>1kMTgB@x8^sRO#wzeZN-Bdggrf4$ez{>K{Qo*uW9grJt z5Y85#1a@Qbe;&Bt|-hsTnYh>cg3 z^>kR#4z)h^JiyM&h_a!IF(g-m%&UY{+13W z6%v0$WwO@jmnPcLUpZTP7DYajt?zKwoGlV;~W9PxzqY~Vr_^&32; ziabqCVlrA>6CietDXJUOoLMV0yC`0BEf+jeQD!g(wshHv8`J1{qeDH%en;aM;TtfIaD&$ZXXHMO_!JA2a^j;o2m!&=%00Z$2ckCx`v*+U_~9A5 z@-x3p{e*e6vC_WG7CzJUUEP@hknB}pJbhv8U%*exiJ(vu^A4%4})SKZ0+ zfK~Q)C^j*74Ts2!5#R)2U z@TZtdr2Na*X!3L^?x$9mlLff5Yi&en8jc|6fRTdlU)zwSh3}?^V()Qw+=$NAFru?PS@_-($` z*T$3)9qQgyb&${J{$}9p$wA|n3JcgeVcK&pEa+0MG29(t+m=`K{o~r9>~x@d8FQcV zv5L^UZ0O>N)Hh5_!=I>`68g+AiDi}84}Tt_b_=X{Z!fH z$TOX_tX{L??Jy(^V&eUw2fw3SWl)uD(q?%&JH9py6@-$XVCNuS|(+NLyL z_PsfxlErx?$Rg9$twa#q${CIwZ}_tmD98R1KHb$iHzo7O6`tuIOt5maI|C{E{-wZz zB@ zzO&p@GQq5#N-ACkmh?%+G{0vF;_-jL;kSm+A6ll+b-15?8ej?I%Wn1oVUTvw?Kc98 z&FQzWC!}<~P+p;m8<}o<(6n>)y>o|SGc--R#4Ox4QC@m3sD?bXN{Nvs04$}=kuk3u zWl2G85%4sSJQ{bkhugsDfD;F;S-4M2XVVB{RdRTsI@ z531oOVq^wSd%>fN4Oj$abN_2T;XeL1$mSQ#(5P5*tCPB)Y`$Vq>Q4!7Lva~gIUrJ(&jVwRKi?uPM_LSTtDmH^GF%D+-R-CA2~rKMJ#t^VY?V5 z+PPqY&BfUr!wZlXq~~|=zx)Aq-{woT8`sG!`e}o5sR4f+L3NBI+|-#b7G_f=^pwc# z(uMw2E`!peO*WI~7Jh^kDne40KcA$y(A3E#tJ0{+;}AdQVL6fN7wq*R=*=iKP8M>g zB)Cl#(W;4ZB3E5TreK&kd^rb&#>8P5f4g1CkYP6$%SQJXb-8WKv*Z-&(p|_?QhBP~ zs~KL`JzZC1ZuqZ2@Cp^!%UovHu+ohyTmH^EJM z+D3As?eJ1=+zzfG^BljNE>0pQJ!^9{U6rT3WbqI!oW9AyL z2e`Sashc5G@j83wVb9T3Jp__%ce>Mo=%6~tl5I{44|9Z?^{CEI0Y)@t72wES@8qNd zEDdPbVLZ^r!+!{J(b$S9v?R(8>A!*xAmwsJgx!AWb|Br+$~w-m>6 zqy|=T*EPybMU;nO!117aewHK4`~ASdx6I_ZqPFEYN2|T4!o}U3<{Eb(0&d0TN9;`_ z?`>ddHBUGWL-%)`bA-8qvbmM+4?2k6aeM?rli#wvl0XmmC$KbL@H;l2Z!pOxHKis& z_-OSmR`^w*vv5C}r`MrOo=fh^av65&iR!kz4}|YnEh`^n&+qC(_96~BemqrEuo#qm z-l-MDW+F>W*>Qy)m5c7NLx-_%+2p5nxP7>;*}Fq`o*{7|K~XK;TmzZ_`!yO5JbYCH z3wrrHeDpMRB$s*Qw^#YU)>IjC>WbK%JZ00Y);inoLP|Z(>=uvD=5QEoey$a2{ zUj?duiNBToHAr7h%#S^qrgQ2VI{ZIArt3y72Cj{>^%^A_ULLfx<5GZk7#^26UWboN zyRt@mK}?WNqd@h3FLBss;SW|7tkC|w#@zWX82OWf2D)W8=TD{Nk#5W+u#qE4bv{ng zx226i{|raWW2bEbOaF0EH)gq*2@|J9HmA{;)T`A~O=BbKaWBv!yI#L>)iYIg7x6Am zZ~eq?WBpL|JfVZ2tr&ON{4huT0CMEgjCIa?l)k&o1(TDBz_&xzK#C^!8X!6oMMmm$ z;o1G43806<_KPc?xc_s(8s6F**VVPocF{`%r-z}a;=S*N9aaLikWZ(b-h*)49x!2H z#C1~yzTx zS_FB@dJ45>m;2fn8)<^i`65d> z(*Qh3x_@((F=NXxHa;%U;+(bLEJr7@DN z(;PDD+T=OPfvSBXV#{cbQyDb9(cS}cK1})cS`zjOcwXN6N4l=^XXUq-wJ8T)gi9NJhrOpzH_Wi; zEtN`^b)Y#s`HTpnNONrL=M)z7g!Gq<@`gRx%sk1i25{5#V?-CD?*>fFz*3@UPQ3x9 zHKmc-68nrDzhw`<_D#l1dV~Q_xu|G<@92>UiMXval3zKz8#!i_>P%}s1ynqcDH(;x zZtN9SKVZMon10-Koc?Di5%~YTlxP^F=Xx^MKk_Y-)q1=?zGCJL&W$9$vYhO7cLlzZ zDCfQ*iLf5lvJEma%{t4>Ocl+AoE}G^e92V0GF(DuC~^CdtP0}~xwwJJ$UYzo@7z*FIQ_y+=7`3nJQ zcxCtDJ!idJ$(*Ls<^+N~(6W+wTid!I?Os0qd?;#!kK{p<)zA74=88c?E>-L}i?l1- zBQJX+ZCF9v`=9JjqQcZ6FyJevv@BVn`Y+j^;>+JlT}=a0*@bDrN%KlZaxF?~|Hk|j zCuIRg87GSK$;DJn73W>GX*u~CWux_bQkF*k3-<{-&ujb-$fv~@r}A$ms4=mp5yKOqo^sdeTK>N<>qZoN@)-Ub z+k@cE{K|%l>as-lvmDE*ekuH4XpbAR*NTV7p`SF&=CgQ?REm@*IsP~NR?T@+IK^b* zC=D|XS9%*)nf_4^Y+7Zd;tUk%vy|f$=DP7xU(S~QfO{l9=NJTk8t|KDlzs#}Zu_;_ z>#boL1RPUy=`@vQtJXPq;87k}#hFmXvMOBEB~I!bSE$lN29qgJCGHJ1*V|t6TswX0 z)YLxdP9^!aqUH(7)T37vQ?VyOV+Qv)u;FYWAb|ubgF}5$_jlD6-*SWi%_T-eq=)q% zX2hq?I+ZyG$us6LL8LWsh`bPqI#-ZXFdmZ6xab=Ch=ht0DmxPH<)W?s!c(n*(G`r- zK@+7X9HZ+OsT|7wQ|lX=G{~sTzJ^et2Aam&qPm_j!~IK*#4USj7xCpH91vUdYbH$_ zlpUOI^yO%zw~<&?CEVh~aZ??U7E&m)%sn16DTXi`>3m#prn>|hf6p=gv);k`Xj#^= zbrZZ?3AmaiU$+PfqT=;qs9JdB(y9oY{cSM=WAwSr)~~4PQL!Y{sY+or zVwUn+5obd7xZ5SRAw6iHXVeEOGoE&O*Zh)1%P%^E>aW9zJ4FZ<4oErqFm{Yxi-uX! zf7lX+z!6fdg!`Td|pot*B*n4(Xaj@pPxn!Od6XszYHp12hsP)eiKu=p8_g9p7A;58rCeK$z{|HpPdoen}R7ij~tjacJu$)Wyo(u z6n+h30ngT?N?0<04BBOSX_Fxy6~fQ$z5&y9;4z`bnw6TA)n0`Fhc(aBusNa53r4eb z0ga+C0#P-Gi#G$jfT4Xteo;9f0$<_+0k^Hm=v%i94sx%}?c-U60zYRGb%zFDbhL7@ zrX-DxDisnor8GMQ87kLCGV(v6Qbm>p0Si|%61w-lf^dvbnt+5!A*gcG4NS)jhVb_= z8TR!6gS`5_ct<9Y7zl2+nWRuGB?4MXEtwDs7Q2Z`8$TDd8rb_<6#XSJ5cGltHXJ!J zY=I_`saJoEQFh@sn?b`ItVJaasr!}l z>+Dns@Z>WRBB2H3N1`FI?;Ji@;J)2xio zuj|ugi0h5JJucUk+jW>WwLjHm-!=Ub?sR;$u>GZO_bREMhdKYWYFd|UGN{TB^LV;G zWt8X6(%QzXE2EZ894s5b$~_YpFxFXUJD0LsPS)=$2*TpZ94OdMg@yrN6)(H?6|&?$ zI$}-_eMSHrS)V%`KMOG1Wf>;{=Cld!M>F$_qu#8>){zigxQTqY-OC+Y;!R^FA-~pazb3q42jnhxXgast z-Td5+!AUm$(-g5eZktBmf`KrdPRg1!i7oe_?=}-Rp6Dr9%Z0Q~UAKtsVA7)Hv`@1} zhPaFUjh76=c-#?Jkjg^2XVds*7Wa&?kO(HbS5+X?*xCyBjJ#H7BX{5ZHc5f@w$ zM$X{$Jn~}wgj;B0XkgB!=IHCkq@ogAE&eZ)89h+=&V4XgasL!LXe>)92!;3oa)H$d zANeX@52cD6sG!&jBkfE7G(85oA~``L+N|)p^qktIa|}z3P^qsNk){tG=C0IqhX7p9 z_;jHOFlaA%TQ~V7qi!-x9MFc`Hb7wiw!e7E7rp@8^Opo zP`b7e#i!~&eYp%*fn?7@cn-^5IH;|~1M^O*`qs;UmXL_oaL(J>rmY7ZMBvXGS<=1) z{1WBcf0U&H0X8gdL1e$du2>>dY9Vi;+9eiMbW*?a4fWKlfv> z=Aye(CK`H#ibM5Y0uYtTL=N60f}lkE%mn=V;2@aG0{d6`x2PZm`{zu?`r*{S$9dmR zuy&Om8yi_ULn57Y$%$!$fdD&;MnC(7=XOAt{3MXMuW%Hp!7>uTK?s{#)z5K@ zrsT6hH(W2Z45k%aDmf;CExsMkoqZnOna&SG$ra1XIeq$s6#xT9<$y~{2bR6S1_-@D zpLKB&j_jx~i(LUdGMUpNXz$I`WBSyKUASd?ovk~iJX z{DZ|?dbJSf<*5WqOx_tpk2wd#!mC&_ZyktjzN3mvQ1xF-EC_#i^OZB7mR%bhkEfKd z)fR@g@B6C_obrXqnEHhVFlnBV=QHiqaF-MaDNIki3fB%U@1Y#9qJGP-^6ED(%&G;dj=TT#=qB%iWRWo|SGQFl4PF2pO zudrVQXP;dQPfu7ySiwL5h?jYPijXcx4oh06QKaF9w84a!f|l9=$x z?q0MQYtwsN!v(9+d+c&s0_ZOkcPQ(;MQs?}BdOaS*=F&1LZL-YC%ft^SI5TOhR<>92iAz+T zt!Z1uTxUjkFrjG)?bkC`C`+V;@z0-o>leC;8bL2dzw}ys1Slh=pi&=3bqdL;1Q<3b zK&+t-$9{4joM@X;Q%>nJG{HZN^mI zJbNjNJ;U-9O4Q~h(NxS?>}^;Q6=hJ7w#eEOZR=>=fp30pz(xy3 zz8*R|cQu{W(1_O~>el&NB@?>a8rmwY$(Hcjym{}oK>2u17?05Meh8{3lY?10t1&x0 zBh9v3|9M2w$WScVl;GoBy6_?~d^-5q0ffbL3oANs0!<;fgWbm{)aZ%>m`_|x#ovs4 zG3v!i3%^JBnPuEtnfi~RVm?0m76!ac18R4?)@ySGFA0~QzCv|b##m10`E#1ZUZpbp zIDHntw@e4c01NzXxO5M)+^&T~8mb~|v`4tu{E1c3 zRQXqmW@Z%ZA(n0|oNVDdf~pfq`&eO_rM}^i>SEZEO%sxbF(wt*gH?Fe@D5)Mq|#N- z1f|4VRZ``VGD2w-?acZ81eAz%+@J&DC56NO9_5Lrky{RfkK0XaAN(Kw{bTKnFr!}h zZLoybC;S60t#LZJ@O)_9RK)L4*6YEXv5eEoH7aC`I!Ru2{VU zUKcQs$wvH4tK=7Wo-6KD>-WMQYe_Z+yj4JaSYR?T}HE zS{XEYv)%SqqSC7#oI~kV-*eMNtV8(;$_e;zzKJ=@&BX2GdaB29wm$c z=?1k-CPg}dC~9jqvW)d+%;0e?mhN1ze0i|9hp5N5q4Xq3&zN&*kq##2aWAp%uK9r@tpD%{43V1@qY*^ky1-L(P+< zn8H~4ST;SOz{NEAv0}kolj+;?bXn|b{j+CbFxIAj=z1MgZJFQ0ujsD+!6GgJ!NzTT zAn%68H1(m4%}_IESO5By-fBfvjV!(bKB_!bKNMRb(zE*l*m?e8D@5^Ef<d2t{Ja(uGemftAX)0i{iFpmu+{0 zJg0-<23}=H@5C0o%BU(yuf>jrM0ht&dc^>;s}O?;6)q=Q4kuNkc@SHguHv{c4@bm z720&feeD5v!O0lx<(|5esOtkUL133R3 zursCcX(!2mjl{mT`ox}CDl~DwjAu~5{ho03PO_n%0>E&wMNDe{3XpAEFQ}&br4fv> z&N&H&SV$zM%u=r7=%hLnC3vx5yk5rTMlqo*XH%a#*iyK*9m5|nrlQn5f0tj#_sBfJ z{IFLi@v)rOT_KF0bbSUFX&JyZ;&Wn<^|Pnur5$+><->JXp_H`~@w()V@x`jzn%@7I zC<42i^`H}N4s#=8mw`3NxF!1h_;K7${p?oVrfoX(oq9wAc}8PUp6B%DLjsT_y=m3> zF{WF|9wGek4JC&`n7!iqc{=l(f%l?~u6mc5`jiLPu*OcY*M${J>C$JH{4FnFD6sg~ zA6lI-%;67mkIfN}NeG*{n!uQ$zbU zc#T&rtqx8lVi6-kH*a~)fq8dI=zV|lP(T-FjqCjh1lz73H$FZ`gs!lP;mQjeUT;2@ zL*(TH{;2P*k)iLcPglui>neghA{1VJ!+85LlciRr$jm$A0Hd2hZO3=8Ytd4@=oz7q z!tj*&Wo{nB?~PR_dqy@(HCv;ty93#ERFwiw(+wP??daf5jx79<(1;@=u2m&;G4=uG zf*lCB_}KYy?IEAj2l40i-tT-)vkd3^kcDn*AatJ~Nd1*+ zNWED+30|7q^Clh01&7>LNj43qgZgM|%=;pF_U z6L9NmHm~rXra9Z#z%Qy74_#Z17V9U=FZDhGL65DO4V+4rx(##gQh8j&t^0zDT{$RbgCt4C%OkQDsuG9QNX3yy0e-o?w>loLa5qIB#} zC<+@T9X=|%;3Ph6`A|Y;n`kwHw?L9RE8TpwT5n8|Zw)kN={LMItrNym%jEC%mTXKh zNlAjGujcY4kM1j$r`zx;HEL}Hzk4I?Z!c|qnN zUmI(4!AG!NtTkoCS@v+^i2Euj!TR%~H$qwEK=NgziFR;P@d6wQ@qyd)lp^N^98J7z z$63P4u4hC7M1$JvtY`RV5&){CyU?J9@ZwtcaK{n~>VC&NsrdY1ctOJTy4U97a^>q| z&eFMJmWH3>wf5cVPUWj86A`(jn+eq!2#OzgJ57w2d7(a3AUA>+iHFD2&7X#>~ zVw4gvSkJcf`Jy2G1))+U$O{8&E_%nqKmpxM5h+_&gb=R?Oy}n56I+XpO*a-@GV?s#3?}vDn`A%d3FTteaQbG? z^)vjlR%L2uG}JhgNSo}tU@5|&g_(*K1*uY>FzLlNpk4n$hr)oNO+3B;@l zU$OQv8ca~iv|cKI^KcY~s@xdf9-FUpX_vCZ>Wn-)x(8@YH&j2ToYG2ujK?NqY=onL zc*XHH{3>chgvN<%bD#qc;&yF>P{{xXGxX0_9Rm%zc1MFu7?e;Ya!PQ#AfrnJ2|7z& z{KlTp>xBc+%=(8P2Wn1?5J86lDO)KhSLx94{{sT%oB z)tB1ZMAp-i1Pr|Ux8Gbt?XBB)It=jH$d6EHQv(Y`wer^vbGJrDX8BfOAuLeP0&x&C ztWIPw&}))tF|H?47)YVgI7e;;iBRANc29Y&u+Xpq+eEw#Cf2YJ)r#q|;AdI0Tk>@A zB+fXpL3>YS5rfztuDP627w3>v?gl?NDAB z8A)WPfDbCbQ!X-s=BfvN&!GWFd7vaTM_XW0M<5{2eK*ojv{K(y{=N1%pC}MN6d!+X zqdXH9m~FmnymuYF>Ia4OPs`-F0V1d~rYGn8SdGBE< zU_PwY>^=BWr4Pd4@hjfC19&{N5te#>HjNg$M#w%7-`DWt6P$0Dt5v&#ng|UR+X3K~ zPx6Sx^><&!yK%#R!+w*Ci`)FI<(oB?fHPr4Qtb!N;9DdHXN^O*{M0PCXRC{2K~Bi# z(T2koW{_Hm_h-=n8;RE(qWPTx8_UNGi^qP5r3P&>Oo-W(_%pM;Jv)-FEIwn*(&vA= z?AWspe%HFuuZMRs$QRS_L5Bz)I6S5aBLa8#eI16gYdif>Y$Qa=%xG?m3Qv_Bq*I<> z8VIXWIR;6W83-zuLNAo)egvoVjEN-`69TVx00LjxW%0$f2Ik9hpZ}M0BSQGf0r(|i zc%`2Fv0^|p7efvhWDFp)7#xk#S~&0}zfew`4ip+oB?xrxtqoO@T!bEzOwC(t!5-Aa z02<|aEdu*)4F;{1P-P|wOBxKZ)>)A!g#-pNy97@h1-4aD^B5)L#ieiQf4=TG#(a$c zd_#S)!!qJMv6Y$bPhgfyg#c5)uZthH<}! z&Zp)Fo@3m8K!>6a?qG0-BJBBKXh{o?V*(RYv%h{e?}P@)`DAW!dBTH5|2!Iu6Gz^X zHL$pFIMaLxu$;|25y|^OWk(gmTg8rw5zAY}-}Ds8YtQm<%~6tcjqkZ`_ZqNK7HdFt z1(Cfy?BuR+fYd74#pIZJ#!}7hnR>uf%?+1&z#w8N;@aBZx`5Ql*u~_TS|zreAtMqZAILsakRV-U0woLjWD$J6&0xb_OS6r_OsE6(A2Q*hZTI=*j75mz)R-bi*j!$s5ErkJd;;n!W2_7!v1a zj;v1b|5a=N0o#B~&z1ddAxyfdhmE#4ev>=QDjc*+7q8=m!YeDOG{LZdEQ12(?P5rL z{=_OMJlE@y9L4Vn$@DuCjtcEXy`IP@n;4l(7%}bHi1LcP>2^)H%9{X!r#{5I=}q6I ztu~(JBe2R2XV}EMU!z7hTN{~#UyCYsX(MH-xHjI?VN=)yj2@0?m%VC^T|ML_QO^ou z(*MY#-v1~r2L`6pgD*N23a0odD)3IsX0ioqty-}_tVU(!yif|;AnX^?Y?g$!=uIjE zq(7Hw^geN=S<7a*-n5G_5kI-RfqY|LSSl1)v5TwLbQx!|kdPhh8G4ng@e4gwkdQR} zKuP(&F9%a)uJ4nrPN)_=L{JCQJQ&-w$&dQLs5&%Bt-N7P_&Ic^I`qP1uw*4~RbdB% zg^B=i$eVpu`=Mjjox!IEz~UrvO~z(rgA2K1p}K4w{RPAWzZMxICe4p z72*c^U7%0on~y*{l*D9QCabS^k1U*tA-tb2sWQ(r8iRj_Cm`Fx@{`2MlLiyp$WkPJSARd`YHCW@YzkN)r%gr(;*8RE_TxjJ*ndH)l?ZA* zjd+I${4wHn|Klr&p4Qus4$m<~kROpX1EKENCB3xQzY9$RMVDAX^A5YyuQK}j)XyQ1 zwRaAlN8Kg)pg@LYd1drA7J_wk2tcAUj(^%7m-~WfwYf7EE0^pU9prou${#`(%6no# zHirQz1OBaYDYf#)MgOV!+4@di(7+E4l5w z`*qWJe3A#=p9hrzQXV$dmMaKA*;nAe@n_E{+pGeA=xz7`Db2&R4@Ip=$6IaS#5{P_ zC-yspu_@p6HP7KKv0xwGD9(=zKccgnqT!;#ZXW=xX6AfvEY2!DZXT7$N3az`bwa7O zb$8tFuM~h1e-#_=W>$` zj4PlJXUtLipG}4Nzcv-)bg5W5u(VZ}VN+dA2gn^#VH%@?&qcq5>5eC0$D%w}uvl%= z_afEI_al7lbcRb=;`%i<_CM<7q8r6&vDYHP+&Lnv$ZGZGv6s`~#cb&|4Jy7T;)eRt zw!z2*O*ZAqc0OkUpRCX1E3wuRSo@*rH}0Nk9RSRt@^imSO>BW-y}^O{*%QCoP+YBH zofXdysY2viiXv$_5cC^dF-U&W34ASMq!EU;n2}d5;JCTk&k|IO%ozv=mlH|vNte^` zrPYQ-MAjSuG-RiLjFPc&feh}^+L)19 zBT;20>8tCIgDVY4OIbg!DVJ{#g#K$e z)z_qPhiA-YU%Amx<(mPjya19+uxVwRXPvIp7p|=l#U`7zLfMwv{ZKjKAqk_iEI4qI zZSmC2*fFKM8d`csG|W|}Az;kkeCUfoER4jD6g(oXw?Tdkg5Dje?;;piOl@AE_9#2- z!67>Hkv(@g*=B3u`t+u_+%MVsrbn;aI-v&W@=wU%akb;HE%5IU>`%Ttz$Qu`gbI~G z^ZQ(u-`=zxr?9_@=SbtWO%qbzZUOYSsJ7mMlu>s sGg~OFl-O=e=x4C5r_q}r$ zfSc7(C$nJ}Nn3ka9*MOB5HT|mW17dejwM`OJu|4_0_j<7F(7p~tzp#*E)Yn&(jJZ# zHr+|gC{GTl5gM+OxO7-ya)#)f7GTb1#;m38+gctDUK{G3x9nSReO$i6!`vAz=1zF6 ziUaWKpQ1lx zoo@8ERhXu49(F|fFzvomxCvX`%*tuY+4AXnM^UHUNv$0W!4p=fPIaw*0w1EsHMD;% z1V6pZIe^Er3=OEzZo?hY(36Q{PkBeOy579b#5!JL1uNiE962l1yg& zUZ8>7K1Ow^4lvU5!Hj-i@gjf|S*g~Fz(-KNt)IW#D+d+CAig$-+}g){;ke>bSwm@( z9#OAqKGsH7K4-3$6I8g=tOB_5Dpayvn5u6E2qRx|WOl?H$ECo4lM0A?Nl?0vid<~Q z*M&d*FGG^L3+(Gc#`5;QNlv|l$RhcACmByTSseC0o}UlFpG6NpJgIYvZnUiUUpF3S zJU>YvuDMG^k_ePHxj}zMIKgK%y;SBZJ;#3Rs2~Qj-wl(6#lsx*nxBA0`L_)g&mQsOfp!sa zG~!%4L!+j(B(WH#OC(CvuS2AvD3t=g@xE_KR5I1t;?VN$IYm;}(M;8Bb)j49oYTiB z2di(6#+np#&zsfyXd$~sptcb=50ZZ8xTTc1P4Q({!td~ZP~4Qrjh8wy*QtA^j_f%J zDk$w-j02uxX&fluUOt|{5S@5QK;wm2Vafm|DJS3199f8b2C^K|qZZ1H* zkVDR-ocwLk!;ls19_)g{N8{1elQVj=4qqNEfH4d5Ti2$){K|Equ0soTc(mG23=Ke? z$!u9d2w-3!py5@oso>Mp`XDsYH(mMqYQLQI_ZxR@2oa91vXIwEdxOcETX?aS`PbtX zkT(BxigB!;TKSf|R%r2#Tm~9E_uLW5Z5tRI1{eC&9zW+Klp0}wWE7&xB~P9Fzz)~- zC^PhzP2wdu%5=vU$;QHO?c~5y7Y)!VKaKPEm_t}Y^E{()T*$E)Sf^oCyIrH|7mb3e zI28MurRqm1Gtyo*gwhvk z?MglrJ%k6$Pj|UbaLZW0!}OIv{iW+}O&uw0@(jNA7m&r83#^Pbdn(Ytr&d;71)1}}y!`a@VHTux zR!bS86mFv5$T{vPy8e5mhk?CMnHM-|t5&cO48QInQbB@b1cil5gpGLbb_$)5hCQF z0EmG(hr7R^XVNBJ49toHDDH!eMx|( z2`U`q9sETxsP_TJ)!Il8lb9=}xYsEwv`-5bti_uK8hAy$l~03Oi!UfprzdU5R~L>i z`{EkalZlCRdK}b*G92|REpUdWS5z?t6y_;O(I(P5{pXjsL`8q53d%;B-&A=|LgaAf341>ZAMjEaOsk;fY!JUs*<)zXKz4ntx)C3r-2? zQSJV(l2L}n)+@I|G>y&Vv2EQn-v=VaarHakgFm`9IKC!rl!0)Jeu{W?-f)$`5LG{p zdL>^Z8HgFVGi{zSEo_C|8BI0FEySKGyi5VD zQC=NoW5w97DX*9)9}R}h$nb406~fS_{Vunne20>62{r(& z1LmT1y>a*T3T2yOG!A`-d;;VcUB-;v<*4d8FoGbUgXjMR+DzUA?=zl*fH(SS2bx&P zY8cqx(<@|yXO@QpWn^^8&Z^}j&s2-}$g1^!arah1dFXk%HLk(k-QC?GxVyVM1P|`+ zPH=a33&Gvp-3ji=dD(k+_w;nnoHO;EbMxJBMHN+nqQd&G_52`T4Gi$iO5qLtcHJ@^ zb$G#Husd93AzN=MmQm9PxJOm`k^TIL&@d6ZP%TOgLw^3P~lNtbZL~)=9O3Df*F;1g}2Fv0$B8pzJX$-)s7?t?u zmBs(1@kI8N=Tx{&MkJE$M9_Jt_jP}=+4Ys`9dLwU|AEzKQ1)VP#I|E&dC52cBa|2< zEV4ttqom}iW-<=<{Qrn!P_W$Ro9%ZIl~5DZu3Skh$H z*9Z7m@}TEfB3t}xWAMvO*PdLa>~DLVg&Ej^Z+>%YnAMY(xFC5%|x`R!JlTNsU zZ06sc*2RuxEa25K-LL~5i!cuVRT7oVhSNXWxXfQQsr!C&-V{2l8r>s*x>3=(_Ux{D z^%-uo_V=o&-9gh>igqM~`FMP~?BS>47y9-ianq3w0u5ZKizJQHPaJjHw49E~Hpq}a zqdM`BBN-1`q6ttNO7$;m-H+k!Qx)UDImW5Zyc!5X&k;D7xJL>dEQ*B`gkpFHnc%#?t5}Vn zr&M(+P*B{pw$imnnjQmPshFTPS@ws9jQsMcOC$@8a3Lh@K%HkteH$wJ&15u>giNj} zFj!|XTYIq;qkaNxwBO3qy4>Q_+YAfQ&U{Sh%nf1Q{8uE0Y>DV+bdt4u$)sb|Q%`SH zsvi{}9AS>qnsRfts29OJN|84x`8Up~7T^ zy7FD@?7PpO`3CUQ1MD)8$cKx ztM&?X6)6kIn1Fcen>umS(0~W-8d>Buz=)8Lj9IzITVJQ84-!P^!4p&7umb!el5Y%o z*ln}2{>m_ZAS8JhJ#Ayg2dJMdj9(HcT@o~yQwwLIHt*wbOPbjeIv(uXO@ix*ews1S zRL7PWY4Q?)EK(wJ@WtlnJO( z&H61PV`D1_)SVuAJ}vOa^#v2(o!n!4pfvu1FkH9j5>$Vg5n#Vqt@ZMIxY%C1c1ONTh3PUu5pQNoaeb>$)M4rJN3r#3qm!sI(yA+^4(yBB z;IBUh7hax(m8rJmsi@e> z)JkA{Rs+VO_&9`&S25qWR|{k7M}p_sDu@G@uaO6FjN@&QI_^yeTEDM_6J&xr58(;8 z)&)L>W=2`Cr|aoOC2J;*bLCV|>Te5i@}2E(={EeB7SW}JWGm;kzEWg{d11SW_~vN& z8cU;8uy$Q~!Bap;?OSr3z72abpkuwc)s1>{l$VETS5=a*Hc#83Z_emOiawbt(uY)JBzO6(e!qCK zN8OnCvIz7TD`uCQ&s_nv-FZAl2mjn}(c_Y^&~G;GBYEI4krc&ewjl%YO=VmxmcOSEfEKqHLn4FKdOlhL|gfdJfw3&yozs@}pL9+=?FHN<{({QYT+4R7H$c z@g1!mNP=(u^{m-PpP{HO7>o3li9@K!2HVY?UV_pJtBt)jgS4tt(i5IHVIaiXU5_B- zONBB_5C|QwHutbjB^CG~cUR88vzbZsm5Y+qfGz4<^pi%uuFKI{p&D>d|(fJas110+W>lD-m?Hg8D)#+xr z-GRT0;)clp!~H}sDFiuKCnfyD@{@^zf*Q?IS>rcD zF{?~?O6-nQ4*WyEDUadd*Yt7_!pqBrTY?_?( z@@yyo6(Bl8FK&2dP60*HqcP#Rr!bRtdU*IBG!b=|0LKem#vA=TBK)9g-8y6*?EHPx zqO~6d5Pu+$;7SPb?&#N8m1a@fSx4213lB9>QvSi@lb8{og;lPWy?&`5-QRM5!A4lL z%&gn;sxKun?J5T)t+v%bF1vH&p@*kuBf%GvCTH&wCG-oNXVY z6_!nLeI=K`bo*9fG|5agOz=D9PMew{Y7KF=X5o}RoATYpL-JZ5VI zd#h*>C*cH+7o-leOcN-9KU?R7B(dvBAdin}y#5{kFrO%qf2Ls z7=lumpKHcn)d&G`$DA4OPXbaqCe6-nYz-UfF%fQjum_c8BvSL28It^AhHU!-j)A6q zYX2}pBIqXT00bmk>+b|aLhBy{#0=%%5D?Fj4+6sc*>yh(Ci{m}(Bm7DGJR#05lxm< zKs9azo#PB`^_NV=Ck-XBYl0XxzAqr-w_DxKO>OnVA*_S4v)+SR=}fTdS1fR;3s?u9St%H zPxsL)9!2g;(=Bf^F!LhtfKlW+pvvH zs8}DD?dQMLkRj6-c(vbPt}6tmPS#@hj3NL8GKEI23P2zim>&qFKlB-M#b^9;bL(MA z>mZDPc^0UzY#qu969z3P(5bp>)c87k5>T(#dO96Nk&EE8!nlhu7Swop0cqSQF5(l^ z6n8kCysLtfAm9+Cn2@U^ysUq3QC7wPGNHl=h4~08l#Tf>FIM>caDMDY9YW3nDt%gD z5Hv1~jGTgkje&t%L4zbn56iz8$kC=JJ>aKjF8WW`V>R8984g7I=+T*DWTHdADerJL*Wjcs z7ZuYkkr7i`Xj@G_aE}VHRZ1;4QjS!E&&pe%iXD_0trm=8W)eJTCue;dIMxI z-|H__wBF9;jX(kRHH4G1k@6{BKoE)DX4I^GmK(?-Ehg=Zqh88a7I%Qp++dw0v#9Io-o632X878<;^fAteH zi}A`S(ou^m@bYr9NbyDXEVI8M;Ou$1!GZ={#Mw_?%K*rBaw)cIn{mP1gTj(fc;7SWKJ(1oo+{*YEg! z-Ej~(F9jBvn$PH@8HkAi4EpW7KkE4$3}zjn>_{?-6c}>3mExNeAXt@CjsfT#xNQ}R zgau2+z<|MNEI3kN&}CE9Pb8?YC90%`ejWAp)d~{uH@7F=n#8C%Vs*%o!<+KQf;z(tXbhY_Fd2gu6xM9nXZ#^aic*BFMXIJF98tPU zS(%@6oq@v;KDTa8yGJ20uUPXvYiV+qpX56(S_JGkrgDF`M4uk7te(BEPOtq`Gdq1h zC+o36x4*PKbD87_;&ID)U=IU#%RyZXhnBT>*(5fEw|Q^p{8z0)uwsssfg_p?;BZuN z8KV z=##X_ngWCW!s@Re*QGl1lDemJ(J7t0){{@~UK1YIXRrE2z3bDN!aw0)HNk0H$}IYBneQv?sp3>UYYv@9(pa_iPs2MvK*_q-p4OY-p2{}P>|&= z+%f48kfkOtfRDoG)9jh*b#p|+^@^&O#N(MeVaAAZIil-BcIk9s-W&!o2ShYR?Anyu zvH&WDr_^a@hJ_F;9Rirt!C`HdqCKU*-!kevjn+}$jkW@ae}Yzstn$FKje&;1^W{<_ zRGk(Sh?`*{xJA|gqA4(jF;z^hU~~;;KFzif&1Wib%DlVcfc4H|Kn6Rq%QfJt`O(aN z?vM#r0DSGe3aPUWT_U{LnwF6PpQ8*SxT# z{WRUJ?-LWd!cccV*A!V7s?3CXEoQy5jv(Yj_G-Ay5SWc>Dzjs;-7ZU){uS zQ&pL`T9uP7TZ~&`XXWGE~GAZP{#NOj05T_!-s3B@{tt_L+twELmFG?^~d zTz7{uvMvCB+S;v4;z159cQaECeXU^Q`NTIr(4|=*@+~M>1eGjNYcWQJ)s@%k!><_4 zM6ZPFCe*j^xwSjPdODceZCQxWFvo4o$0^Jf5gkc>u=#KyB!BAtfi$2m|51dRE$8!ECZl+TpH1J0$(9U9!ZmM{r<;_5bwFhruX(Nc4iH`-S7vo|{ zY5ML-a-NY}-IUf)o_K0jM6x)~W#hO($?w*lX9Cy-q+A-m5iGg-M5X7qADvTbc`Uan z8pXo42u12GPew*gMqXSo-M9HB z&tFtB-G)D#Mca^lH<(ykH>6U3m8Wfs%00eIfEJO1*0x2EUc23C%B@ZfXjoVrn_s+q zx*mRb#otw&z*w*Gapbsv$0sYu)t}2)KNkbpkpK~Z^JDQ9-B1Fzk)4z_#h808mX$r()X6rM8w zp?Ax&X~z%ZZ;T;& z>DOY?b=7VC5#~{~jr}Yt2z71^^H-`i>+pkz(E(`sOv6#s1L zMs?q(Mr_8`@o8BZDb+`jXa9|@5WcX>&CR03&~{=AiljbUL|IZBlERY3f2 zY;6vq<5e`8@3a01smXQ-@_|ovP#z34$LKwPd`~L!gA5t*s8z9NACfQ!5A@Fymhk-} zA*w5y{)Zid7T*^pA207}XY?bVBb~r0$i`mhb?(=LEi(#JmFfF^&F^1l`oE2JmnxR~gNx)E3VsD-msaguIz;hj6F2&;4asG~6;Gz?^`Lp}Lckjrz*Yj<^ zU)uKdtiNU|33z#GvAtgJ1G~)cU*?Kcx2!J(0DG{izEBW_OqX9iiQ(ZEd$z6`D9pl> z72A#YF6~dv$Wvep5&ZUeUNvI&6#Z2fW*7yYgS8<}V&WX_BO1M>CiJMS!dpqhDu{F= zi5ag7ICULA1fh~8!;2b=C`ElIig|v!%cSN!Y>CV45Uy;qu5RgbaakoXrfm!+LC#h5A|rEUv58SSs@m8bvOreMBVA!mTv2x4ibo<^( z+^5ZlVBw)dCAP>Aks8_Pb5}>?QD*PeQ7?Re zg^d`nA^zEP#DM$fx>5eg9Qyqi!wkxTQlsGPi(Ey)7+`PBlj$Q;rNdZl_rVsoqV2L2 zc%d0;LbDh-Mn(1l5;F~+m9DtwxrFs=#-++L#NGa<-h-x{QtX!>QnJ2x4Uu+Xnm&ID zGEXai2r`^~fqx1zYlMFYGUxllQQMV`f&C2*c&@C-PCX68gEsH%TOk zUyJ(Ho=#LcIFJ_MP7&{HH6ee034K0}Igycl=bSJlcp0g}_R!#y72-KlPSd+^4`4Gx zeG(@|{rrK2c#NZQ)4$=>H5&okm}QG|HLZW!1C{>K18qfh<mYKjw6#5FFF6@*&tK}tTOuxhY-vc^p{oJ3m+=j({C%MBCF`9; z34U?jqBESKF($x5X#$MgZU*dNQ4Je`yVQh~fc@7U0Q{*RhUOd3(bb~<58;p9y%`n& z7)kfc5m7)C3qzF#*OYI-rHloKCcb;`!b6z#YjO#m_d5u`BmdL{cRwy;CcO5kCn`t_ zDYN=X`MeL=;3-@I5*skpoSJgyPa6`XqaNu=50+(_1-4huGa_yE&$$n>t9KW>DUxt8 z>{37m3Mxgld;u~zsq6xfpgMo`C#v$V0TApD9g~4O3NhMr2q1&u_OZI5x?U8FPFMzN+JT>f_<+F{2_Iy_QqO%yrS>2aG5YIFb;#hXM zOQj3?jff*vy^A0kZce6k8Ijxoq~lxewaw@wryRGC_fxZ68Q&J6m7~2;K+YkaDErUM zp2S;0jxXy|xgY9^leznuX`HoQ#EM#VtCtv%%TYKwEY#+gpf{!)ZE*-DcaUA8+bgd zitJYpZc*G{s;*yr?JRdIfG`CdMI>&ySv4K25({KG93CfkhEVp#*tjjI-`_x>g%5I- zqIC($T&6?MYL#LS2X+6v2_G(&cC$8!5TQBG;HJTQ7xFSjDFH(9GYP>^1A8^Z6S{Ko zfugY^hL0zDz?{PK5N1Hu{CLZHGE#r*H#PX>Qto3(1Bz#CEDy!72=tJ24Uy_B;?Kkm zrIqKiwhFIC9ViKN#}_!MEX6?!GH77Fo--w#d6a@<>=SjpQ?Xn|oSA?hBlhU5eG|z- zLRGlGEqPH;p(a7ff+^}6zJN8IGvnm}Koi9yTD_0JEea}}jd2`#?Gx(QIJw zu11&ciVh5{$I&1jDfx6g5QyF!wyrW;8pBBN=iYO3JBl;&U&rZj4pu`yEIi^Ath%8% z;Q>AUl!K*S$ zHBa%ln$4UD!jAmkuUkfW%NIG=>0&i!Bjv<^I zx)qaOX2%8#@;UKxkC(#%8{2n+$tw=Y%k*9cD;Ds(MjMk`GKpJ~HeFiD670%TB1Tyo zXGHgvL$_Xd1<}1B4Q**ixsEm)0oWQfEHir;(E7MXiN`(x^#(V^wtA%kVxZC|ZW)bK zLzvDRcmZw*P8B{BAgRm9lWZ(pohCWN_1XCQ;l#)AGPKDyST1K{2?kLq^U z>`_R+WbH>KY*TD__Dc^;Of4N?Fi!>)#S|dF(>=KQ9tVXx4j`EvMbVg!LFEX+;(efA zaXPz&7YIvd6!YE(9iEibhD6+oiTYg4O^?QQf#-+FnJNk44o^qU z;ziV8SthnbZafxK1tvfofAJSs>T5wZqWJ^>OBP1$*J!)0$hT*7`^1Ynw^I^5as5$p2)LQCElrLp*qb^_G<0+*7-)ZIDtidIUtvS^Qu zrYTsCb^(KpOfN)Dk`pG05M|bjj1Vh(WKkT0fEl!h&mX9-vcjldCjo$Cj9T*fy zhYp6fDjcph`PX6X()IXtSxDLXW#m}~L}4FYy}eS?ron*uRFQO!#@@X2dYlG9BaWjn z(u}m8L*R@2PXyY~69<#F@B?NbZ-5+3C_3{u+XQOBaC^vZ>b|zXfXqMmjgxF*o0tdw zI0kY|6x;iNN z_Ky9|3}KpM=j{hry@#i*i9uzmU;Y=KRN;BF5nFenb^cG>5dr6C92wM1AU%-w_*3RT zC7pZ&V}3tXaVv!l(U)Z4{W6qx?p<07d27mxv${{b@Mwm(2dmj3;J02$~r zw<;%pLY)`DsN1T*;BBT@ndo~fw+I^y$f5hS4Ygx5)<#>vuM{cMg4aw1EcGha@FV5? zC%`RR@a9W)$0pvhsK_B#zgxY& z3)q;&DEMoHBo3^t3pIXM?a+XLiDqn(Tl~SL>9f^d7al6QE7i(T%Qyq0ePo@n1Nd+< zi9zrT%cZw0AY?PB)5}AY-3!S+r&k}}ti!OUis-JbFFfzzu$BPZ|Dv7pSd0DqDL^$l z8t}sFhR3s0oMf01`x0!hVm5d2#*3244ZR1Erc6%OsTS?dqI;ugzc&ukZ z#Z9=SZ)IBumqi?spfvO8p9Dbb7LujslXDoQi_YX4$$U6>h#<~`ACVkqTD0cxC`sw0 zJ`bt|)+bz_%B;cn`&ha7YdE|-Nh>uYU64Bq$I_Y8XQy$1$=IS z2&5i%>}8RtB`nQ+eijJ4afNtlsrb~O@x0pwmZO9k9D zc8TbK>e=3K^a!>pc7f38%(3P6?~$v4TDx@<736BNQ1|Ot{AA-U_ZZ}6Q)`ETi`sA7 zp3+*`izz5XndjJ;qTio*F1m`}jsYF^$pAjO8k`~G%1l4^%W4E3uMlTJ!Rk`V!jNr} zJ+<3PyqlA?%XeM}^74_kZIL)a^kX^isdwW1LfS$p2sDJ;dK<2Jji*Ke1EimU{V)ZD zjiG6VZ0#;2aIdsR_!s}$Q?ZA8g!iODk6p7ilTR;# zt(u@%>@c_-$9xa&aeju+$+zK%4d+Ja_J|tmeX++k&LLZm+p{lZcBxIfe`40bY!f2= z!b2b~(0^D1=cbvoa;E1K$qrjR?lx08B0H{4VP+{ePSdApbHZ{f)sT_~vD1Nc|LPTN zIaFEm6kdy&qhMSk&yYBqG?_Fe%+HFsW|P|8INR3jDcmd@Gt41R#KRER?^wqsG2Tgt zeH(j>AMeZtqQgc?&RO?!WtNToYDgu{c;!=pVQRAV!y~vD0=}&Zt-8obvBLH0XmIQ_4lTKW-v?h2fTW%B-sf+<^-K)E1$Ws&LbI6L z@ilHB=<+Ygl{J{ABR_|zV`I`$xI>&)z1KAfl)ekWcm3FFLvxbX9AA`)NilF4_Q?Lq zgY|?N@-bEF(#qsE>=sQAKC*Q+sBAWfLPO|Shm)GYkba?H!A%J)liv&-=%9}nQCP;- zOtA>HvP2KDA0x7^OWG{n!$m}mH9+Kqxiq}=83PaY_9diW?^=Gb%$OCPv4=@-3eT8N zf`5W^H35&bl}*P0o8H5;wLj3wj9u%EujFOoz^Qw8T}wqfar zEGb3pWh3abBK+baxz;Ja0duD@;5*Oa%egi%P1gLW2~4BJA~O)MHO7H=JOjT!ZNT5> z2ugWlYXgIHyF(t<-JcRWtjY3A$37W`1e*4SRo8V=m?a&{v4jNQ!iJl0NX!6sUu<&Q zXmO;|ynJ@`JDe#c#4aOqr8{cj@-8V&lqBkt$T%@CC!;x|tatgvlLxZVOnYb;;CA;u zB5Wu<_rsh7F3WfAOe*>xSF#m*4tjjBY`RVplWK z<3H7p(wq*yd6_$TLOyTh*vRtVD@u^(6tAV?R#DGVoi&=$`C_(T?|4jsPpTJSd``-S zr_!)IMlU-Kv333I88*N!} z{B-Btp;xgfd9eu(?Q@_rbEg5P`-+vT)!LCS>I|!>UT@uSN8Pqw8i>gFH63^0UW-r`fTB7 z!8_m;noFqT&ijr`l_Tvrghna8QL=k0zs1HJqq;1>Ma7us6aeAjLWV@oX0|Th#pV1L ze75^3%kUa#W_JOKW+1E6Folu7$Yaak%A>8PLTt?R?!Te$b?Uwk=l?w0Rih|i@oS=d zE2neCcNWtPDI`Clz6`&b9W$v>B)m-fW{d6F`EG7x;Cjecue&)-6ffSFmifw%$<+B2 zkf**y#*uKh92mEwqrsj@(RSf2Xs|s%VG+oj@0sl8xd$P-Hb`bcWSY2>&S!C|ReuIZ zTig|_J+6;x`$6R`te>G*%FV=?uu}hk?*w6k0Qm0yEBbHnJ^JfE;Cs4*#lUU}<*$6m zi0m6B0j)b()^)L$e=;*YLmuCe<^%v{rt&u_VLd)nob!AxY6b=xmVGI&Fdz{{GcLep zSI!CeGVjBG*z9uEEuIF%smWc{TjDM2sEUUs&?|jf%xZ^b3nI%O=)Gd9iSkq+WzMBk zA_(jLl0F+8q$dYd+VxaZQ7~;%C_b7``>3{cTIsuF5aR z&d5|O6(^~S9ZJ(GuYtK1XoxK06ls*1Ge|5paWXeI>R;RU468Mli2B2?{l=_+D6-v! zCTILQHpkeAQ@#Du%5)z8)5?Uym-)lW+((A}2vg4wAOFGKt3J3pqQ3aw!qh0FM~Q?% zAF67k9x0bc@;+`sJkM^rv+bNq#;YtUYqy((bB$D>x#%?;HpMHIAGT{>F4#D}v@H<3 z4=XA2cS2)yb@F82{OTS`-tKF(qQPiR!^=y+rsdfcaF3yOc?ZDXl>Y46;B~c56lK zfBmPT`2rXAr=giB=${Hks31$QQ+VLt`?QHyAJ)e1D1Y#yPioN`FvoSS?dhIXOw!`i z#^~^Q*;kPj@KDyf`24;u>(o#SSlc3j-K54%;u8GnLF_cv>v2~g!#K>JZ;>S;UhhXJ zGs{?llFW;VY2E=jpem^F^BQ6$9Zedr7G???e-+4o!#xQVZ5uwP0rROv5)&p>T|MR% z;btVfUlQ;s?}3#x7~%e9h#*!!`ZnhAz5i=*)019sN@RdlMm11;ghC)~0YwYV9d+89 zec;%XiFChRYu=e?TV{_GlZEr@g7M4yjwz~6hXxGT;VyRV^(}LD1=vQ@*KJnDib4^N zd<$iCB9nFpx>7D7$K4lJYDK|W6*!z^B2~-A1ph!8CX>OjX%RmDtrn&*dgeN&JES zHRIW)9h>Tp(dL&IzVX9qupMHGX%s{xi^qfcRg&6)vs#H6Cd=v$pdAY5{C*(TH(tS+ z{V$wOBHcfD{b2K%8~1*qnPz2@-+9`S4|hz_du9xhHZQ~y3Tnx+jB}K!{+5D>lNzTD zc>8T{9pCKL1ETJ9f#dg+6{~%fP@}=`*NgFOVx1 z_z$RoK1(!7%XMv1?W=z**Fi zy^k&CGUwgqgPqbt(5+|vPp!*j3BWH4H+-ae7G8PV_@Z+hm0#VR*6cVQ?$fph z^1^_2cQ2PNPpE!Xu*j@lw7;MFWs0bG*y}ma{%$0xU_g=yjheKY6*&?=)URm^)^;31Ps;!>POLs!tnT^t z4Y8sTqr`&&9E=7`KtgN1F_yd5)?VrI&P}l_z#gxqc~W1rm_LctU~ZO3CF13cv2v>+ zd9y}h2D#|AscH9#qf`@Dd6#*e6lNODgNF>AXtX0b2erYoXWjC88uFCkD>8Cs>u4w= zG2DfqH%R5`P4U;(Rr-j4rv?;0=iu{Vl)KRK_nXvPedLhW;JaV7Idbdf7n4k`j+ECo zjDN_Z=rpS9J=xG31qZ@{+>x{Pjux>>!Zeal$EKBIoC@-O@79%}e=lg2KYzRgBmrIm zbbecQ{_zq}9XwRmU;?&uu7vgR5@3D}GtipjN%R0YtOnv`25?8CK@}+9{%}VFNh|_% z>96sFC)t*62E+g>U_m~G7-Lq~y3BwTFqmh-CY#GaWG9faosW|z%LJpSwruTx1+*+s zvbl*LCr`Y-z^NK`8vsZ9olGgoFJAo_&{qE$(Apq5q)4bPqm%5rk4xWiJFW9SB%l2G z5RkHfW_?0Dh+rP$$QzYJJo-)QfEDl%fTDJEuj2gYLqPlwW~r_`Fc70eIUZ=wA;3d~|~Ev=9uioCMN!q2T4d1KYa5N7_tIRD$pa@i5G1 z86Tr!KaWt)Og~&uoO|X05f`LA$j?{n%oWHuhuB$yb9W;$9}fXLo4I0?stS<{f)H=x zQ-6+twIBLJQ6@Mz5%#%BxHPmP3j3OTL6!Ydp^3}9|^ zKw+%-Bj6oCtVkZ$EA<`l4#0^^UTKiVv`HF5kOPWbo(&CD)Hv{E>=S&oRp^tAul%m@ zPK*h_9K{$$z}vT)qyx-c4$eC*6gkra4xW^4P^_mF?ieJdg!<=xY=F5bqoV;fz^d&S zUucD{KMtPs@poKi&{HunlR*OUS36d$a!7p3!~z|5QHTRGH|J85HW8ZZY_M?gx+!6| z-s8Ik?L@4Arjbx)!F$lIpbt0pzoEafksZ8Ws?jKb&WW>@wX!%`u^yVgjbj z`!0k61Cx>I2k8?H6gjYc8>r-5=VSJ~&ssH{I@%1NiIwR1%9ZXU15Uh}BllvWPuhEo z8@5ICB&g!p5ux4*t0@w(<6~YXU5a%qr9gSg&8K4VR4w(IQ>6mEWqhH0Sfitq=EOD` z^NW-6u&X$)6T4%wc7}_7hpP3;1*&Fp9(8|0vJ8Y>_ImF+mb2@~`ooksd6 zV<|rKRs%V0=GKl1OO-I*#=1PXc z1RHtH$At-SO04QM(v+*;LTTNJMO#-TicXAfoi|;Iuw-g43|MTGEW4?}2E{k#@m}Vu zsdD&|AS&4Thd!4a&u9!W3vjXuNKoC*C&@3|N1S_@5}k}l94h=+(R83(fsNd}JFhlA z;(9QTt$;&dcDH=GTtLuUzb~5m5>=XZk5N)e{RN$jHr3ZH_Y_SV<`n=||j+HOgV8Z9gRXZx_ zP<;+6NG>9s_|!GbX3wt!5bKr`+?456(_0ARU)}wPInIN^Jc2R4;g5^t@oV)bgp6Qg zLos(m>+pP)UCiQx9Zi?N*K{s;8ekft<(B-#w^kp|+qVZT3B!k>JVew0M-JmRUR9$W82&wPjOo1jF8}aWN%ltiz7u^*!U|d~qIz zzE0y9WUydqV^TI}t+0MDz+Shj4{}axgVL0V^-`VTof!>wXyPN-Xtb_!4W0Lq`f7Zk z)q%4LnprL2LGY#dfI34)XT7MxD49WP!5KG3qGwd)dr70qb#dwxwIjwWC1w+^m+0Hg zgE4mE)N*9kxxji8i6-j+Lp6H*-0^c%D7of$Chcx%ah})VAkOpg!WWsHibLbWKkIAa zhY57{DZH+s{u>F4m0_1EhkY=$94#i-W4UyeWbzZ=Cs$#R!@5tElJm}ZYsA?+rjjPl zv*&e%_uF3wy62-|Od?6T2c!50VLWSLcPCOtF@zM7MJ00!oG<*e~lE!$gfI@h?UuF^5k z$U_sD7(Bl?=2UO5_wf|6$Unp_jhF>VPPAjDu)?H*IGmi|`Xc{eJ=+*Kg z4IRJe^{7&NQ4f6;Hj)!z){f56p=F~;95|Xtg}SDJg;7gPFa_j-Y8h!>(Nc}u1S&w} z5it+->@A#K>AathHnYR`LlPB>jj5(>eokHy8!4B#t#!d|{p#_uM0BhyE}}y4_(Ham zYhta9X2^tQ*bzYI1rD2*qM*YY#_LS9cFK6=l0;{FX~Fc{_Zt5GEz|iIhu2X9@#r~a z_QTh`8feEB*c)B+{in)=sD2*%qGm=?E?9HYb8qAGJ&9r(&xS} zt8iPJ)|zIv{HC__&ZhMK<(>8&GWMyK2fzwrUv{|1qhtnuz+$D3)0^hFVN|A(@C%`9 zvuY-iGUs4N#ExJzw>8OMHR3k6HJo5R=I3$tE}Dftyid0+A#1Ll>ZVLMrA5*fnbO%V z-(a)Ck9m423LG~C7~?K?|3E--<6cVapzFfe%?!3=Tic&i+wOQE&+O36Z;@`i0m>q4 zpY8m7xR+`pG|_M!@KEZ??=k6Ih&orhjalRL)45}xzIp#N#^0;5K0V~JvDWN6ZDYz| zH|a*Y)_mOuA65%!#*}JQQ#M&qh&aDHwq31Z?7b9x zK3;HMFSO~+B;tDu#rrjY&@H-u)SE$=Ki zIo_`)LMlA_n%xNFlNra>Gt@NjV~7#z?seT)nF_B~`}<-ejUk;dg*X&i_S*sRNwwoB zkBE!=IgsaTmIG9w&~aJ})HWet0n*;?|Hay01;zcqUz;FKaCdii2rj|h-QC^YU4py2 zyF0<%-8HytfWS2Q{de|#x3+3#w)TdbrV1{)y1sor=RA*hiWv3q3Cp=IV$6_^MFAY# ze9S?|dm&tu-!!Mabx5`>25 zNt`A<_3?&g=GcJs`MQ(b(m=qidhlQYHfq?^jK*rdU|b4L96@zY9z6xEtc51?cPXAL z^;$mz4A0_90Y?gl4rofY2R>+sLvzrMn&LuogjB}ifsICzvBIbgm|pimqx^wrJ+uYIEhBZ=)K?&u;G1pidfXQo$o1!HjP+K znD5=IWv~{qMl+bxxnRnqM@2%W`jguO^%2cJa zJM)3(qjI0372G!GIzvP3U*(ReqWPCVpP-nfe6J%n!%(Hx&K)6rd_7(z*f)_-TiayE zs1<$ZMAQO?k?V`>ELwY!-x?WNfsX)jvmD|B-jn!Ng}-v%(tue-o04cP6wH(qWV}9f z@5V1$!tRtRWQ;`^g-bM{ozt5SIeO-$$axalZ21<(LZhLx^(^K&J4*OxPfhdnTXG}(qXqn_)W@k( z^h2h0af9b8on&zJ_j+EF8XlnIB#%F2yN&41KG?LLG!nMUn|q?w>`pBTH%!mbGs_pN zLamJSjfHkh=JhX>!5FAp96X@f)HBf6v^@u{Cp^@<`rQw$OAMcE-($<>oFZ)DgB_eJ z8N@G^C&_3x_R-|VT04Oru5?&-H|R4qM3g-A6VYXUokr289THt-Z$^6Q9^*v4F+pD< z!52wiJoJQgrCz(+d+_V+zyh^`_|e=XLkd8>cWzsfk@XlqHmAN=d8{pti+nhZ1Iy~A z2E{BKJn_0syI1ZQ_gcrpi=%4ob)#*MgXRT4)1GR(PhIN7LYacyoZhPH4~sZKO$u>Q z66KRCs=9Uc4jxYNh0oGn3P&2#aI^*j{s8txS-$7u&leN%s0YD8~Kt2W0o zn#V>KTLJMh>5D>%dxr1n(ta)2&9C{yP1+-GxD!u$EqCwtaktdYh+e~a8~_?&jHZ!EtIqxDNOoE{tS+{Me=3(LQPe`s z{bSqvZp&>9yJ3UE)qlWJE0_zWB9&wJ_%P^wUnj!JVlNN8N8(Mbm!F1 zvU&a2N6*lQkAr>RXEmE}#zz^!1-m7{A=2ww_gtXrwOwcF<>mDTxuem1jlU}=d});{ zsGu>Y9IJ{0E4jXxU9K_KYjt;g@^*l5S?Sm5ZUps{!|+qx`d6McIeK9slBmy^lDC36 zIzsOd=U~Sm=!H?Nk1sCy01&C-mYcp4~ITx@fLTypQSt z4LbkOEe5arLlTb1M}eIon1FSeE7^RA0tDutr?Op6YGzU#Tqp(Nb!t^_PKqS)NJCx@ z+w{ii%JKJ2KwE0pkbg-+LsFye0i?pcL-p0k%xs_A=ui$VhAMfrA&0t+3Jb3`*6t{k zbG#t)n|f5_oPdV6%GTTI-d?Y|50$CIr$z(594a4E;r3d-VUGJ>*j3=$krX-1zk_wE zv_DvWvSFQCUr3E)3g1_GJu|BdUZ*y%JMU#nCkq{ABvsC zqSXCVL%-3Ra&C4$G~_ed2YJP?59d$~7;#QXiHV`PB>}V0MV+|CI5DorTan+EYZ|m{ zS!r3s$t+1SZLX{JYlLQoSilVxze$>hE5HdWtMjxGDp{p0F=HFCFCv$A&CbjYLmP1X zK34p+hygH(5dKkZrfpZV@3~3Kz;j`S6*v+F&W@g!QLbH4uS2>vCrpcEJ|GjUY+i(q;nWiwgC9F!TTPnj_VhdWz(E(#ZwIhkDd1oRm@>@F3S&V54lN$?+Tg+nfQUh|S^Wzx zLDD-Ft#Fa`P`^b6C$IqQ38WqR0eb=qz@DI;QJ>z=bxhNNz;S8!@vuVm&2#7^ z(NKKUrM~P~uy3re2a4m^oY|pkFGQ{eZycQI-@#&nIlYqO>tNx7s2S0=si4)ME_N4U zHJ53G8~k&m8yQ?@dEe7r$CVzU=K5g=ASRm?eRz;W0x++grZdt%v7|B|#hB z!~<{)dn^mQEsb}n$@{38lH9l?%tX;U9d_H+^aHbZOu#txu_I7%^Ti+|bvs zC-~xA_Y?3PtK~-B(t1hx(o?2FU4^HSH?aR z&yoD{#mYEhQ5^!s;W5(trf#3^(4tO#CZ0XnOY5Ig(?pf>>rzo7{Z8iS%oo#`Cx}i>;D|Qruslw5@3TlNc9P!582H;CcJb}! zdr)R@E723kkgEhspGF8&19hh=-G_g~PF)KZx%iJ}x$O=xvap}R&=9P@?-jp)|K;CL zRhCTc2~CNtAb~%y4~5yMybUs_QK}0Y`2hl2?i&|aLGX2_5I4AF>jT^=J*X(TRXVML(0QAn^0;9qkWMzo39eg>*Pt0FEL= zE|d@6u#io*AIL4jmi{()>*_d!vYEW$i^h4A8om{h_`)dib*C5>%&0xJ24_)APUm{& z@iDhs*cfeGin$|&n_4LXU3yl;!6%Z~&%rILtC5w(GwpUau>)p6=5Obx%RK?f2F+$R8m~>tLYOeTbS@?dQSv;Gp zVE#SGSGR31iul_GZGlf>fbDXix)pZpjo=KiqpkgfkArn5{8C3GoQHSeD*jhw`pG;D zPZ8%s^Prn|BX4_tt_aUJhYfLP(C&Sj9%5_OgTL^(*JhH?EtFzwxi;1<&FtZGOBC+G z`qZW8``_wL8l}gN{ZM{8bepSc0E^;#FqfMifJFi3rUzhAe1mgyStcfdxBkT~`kb|z*GrFj4> z3pVCql+4xyjk8Z1S(zHPh1D|%fn`G(r9v5+0m}l5hE-#a+uc|yfMTd>o54+!=ON$~CO3GHyylK5T3m=*J{PF6rHhK7rX{L?@Z*a`LDYE) z_BY?M_x8eyW{4a1ra$in52&Vf15GwR1H6RL~-u;%LpDNWQmhUvx?CqccFsSDf zoDMZ;dZ$VQ4C;b>@^qP<^}$&JmTh0Vf~PQM5v`aSYxs_>`G7$MxHLeYjW%|3B!E-IkSz|F|Nj0z zfqIPxAxI=?7H;?rp5hh&$2m)Yg(rgYAC7a4!ooI>mGw2l=ZTQ_Y5c04nSiC8FqY9- zkiTJokceJNgsvAD*c&sCP}wkTF#|vp>qLATJBcsqZ6xWSKnLJ= zLXhnlPXB0}&Dt)fSrd@{DwfYs?BoD{deM;q;Xi-+R+5Maz@J`;6U`?j|NgZqsGF(j zERm9o{zv1q+N^kjQ#>{u26DthCH=Lg@pB1TW0v)rR&y)oy?kojUCt{a4VvDsHV$ok zZ`sPOYZj^$**?QR%3ThIGJ zv5ri{Yd&z_;i6C3{DN_Y17MsLs6Gk$uQ`|dZAL~NSJ$hwFL4-(&_!@yg8bp zqli;B)jy-i+0^u6qZr?tEU5Q0pQU?89C{l9;?2`FV zM6R>fA*>kvU;ZW#SH`M&9z&8j9%ypP)4OBeV$KN98Y2P~4c~=vGz47yk*2()PuA3V z_LRASo6&zq26U6fV667hkspt2CL_`Vjy5bwj46rL1S;TE6-nCALPc33r`cvR|L2*( zN<+^B+=_VfH9&;>_h62&m4NqJ;Q9dgjOS2oolmqN?mOUHQ_o94SI^S%@kO9crAY`C zZPd+3wZ1TMt6j)KgpiG^o8@Dj2+yk>>TVC)&Dd&(Lx22%hPYSPvEpNt>tOz{3g!wb zuL0OeaQK-OFOM@%2&>#5HI=UUSoF*GJ9%R1as2gSqmmePQ}q*|D2><4-|dQtFp~6u zimE~dKPM6X{qPI>WXWmvxRvS(Pa_;Hl@y1;q{ygY#crjfD`Zie+6LtJJL?OGnVkcx z3%|4;FR4;pU3IgK+JdpcA)WCa6?&VBV-DPSUzMh(2MsbLXFyPVvJs)TZ7XeXhvjw4 zoU}2jQH2BG;jXAgiCZLnyR9Py!Cgc(`B6s2J;2>A>-@zTiT!WQh>%Y1zAnJ$!9eS+e-sfvoP0uwG$P z0MrS!;cc%Qu7f>IydofkUxsgH)y~SgHr(^1C@`Gp{;}Xc=5DpGxSTjJ*h#yL+z-|> zDr5Fj+w_F1-s-k|NJ~8D@5-S8|I|AlKIFMk9CNVd+pvQU7iyD=qYzfu&qPeo8iZT2 zXp;)q;oLl!ikQ=J6yyo=gL)Lj0(Jb`km?pQgZOmoK2lFm=X0&Bt!@7jYlQnU1~JchHKi`Wg^)~}n?yfJ3mGxG z$%qcGTgGhO=&L@2`0Pt;!VCQE!Eo5JyQadEnRD#mH?I;DG-)LEBH z?(gA@b+?DFVr>l^GLL%in|<8Kv6ZJ^POydO2ilnJ%KLyiLDDy-IZWd(>D#4#aMS%w zCeMedmQ&dL!4__&AD}sH$d?wm`s%CwFgg1UtHc_u>07+U7Svh83IG!itgd=b*Creg zA}p9S+OjEmanWO6;MAM7%o;f+IzSO+ERein`b`R5b=$)zEO3pwSAWCfBoi4e0n>=v1BRk$j5L z0dj`ds90nQ!CLd@ikmg{R{7C*#@T`Y2fFGFD80w{YYOHLHLBK*1dR^PetlX{Xd`6w zGNp->rtb856G$fAj`_ImKI0v4l%6-E(Y$O1Ld__LE+TX08gY=u>tz3;MoK&MM8(>O zk7Vk`bX`cQ?L=LPn!(uQg%Yf_RX6RNCsIPd^*ht+9h%pE;s#Y_w0L?X0tG@#N)-6C zqd^z&k}Xj}0D6;l^y&%9r>7hZ@yhmc$872Ba))@OLLsr~j!ZoRzOV@_6gO;t5%Pxo z*4dwBorm|$gc;fQ6X+MA+E*AQlZD5(#Y#O?#j2%>?zp@6rWV>uzv9==?AI)iopneA z69PsJqM0+S?ibn! z#W=Ux7}R<`*@GC=p#iwDpBnjOlg3M)PU87=S(N+{#bnK;)ts3OTN#Z`e2_a?yofu0 zq(fXnYAviS~2W@Z*b0XXx5n1JHxmptI1#CSQQfUJwClq0;?-5 zY*ePW%Q7C1PBYxLTg`#`5NQ#F=8hjahY`+T*wtDjJIWt!sZSrL=H^rF3~m&)XeTI3wUMg3(QDAhg4w4VTaE2(CG>W@XEZwKbvfK(dhHzPu}*-c){WUu(!RY47+!nG@7UB>ffs2StEx2nw{~jenzK~ljTJ2jl%E|V+LJ3RpYr@jyB)G7w)hf~9k)8Q&dp2F1 z9KJ%G=$J9at{CPZZ|4@aO+3$^3{1AEfjl@EfZUGVR$*P%*Y? zh&^e$r}`IVs_d=C3rP;asu*O-^>`Wk&9BP)7(#MXwTM`ken^B2`j6eLbuENU`A~Ym?|G-@ld8!;4~up?z$Dr~sYf)~x@?3l=S+B2shp z@O`|hCOvQ7p2rMRK8ubcV2nWiiZ3}fW7XZO`&vCn{NzdX)G<%D>JKhIer%jH(laNf zsL}dH9x!<3olvpgy^HJ&e)C^dzmzP3DTHObyHxn)q%0`O$AO%n)TClfY%fcRf;Lnl zxXF5)t(FY_B4gzbJnUOh*O=5Gcn+>i<5vA}JUu<=Hawb3eP-MtJm#4$pYwBNq;(#n zz#J+$cL{<=8!uQrT1~B&5FKHoWd;yOtX7LpxB}{2qOYc2>6Eze03Ko)w0RWrQ%z z^ScqDskzE&jllPhJQjS@3>WL=cK4jwyEFSH?%UAhijNZt$Q?jDMV=w<&?1p7AY* zbPKf?^;~+`d$awvJWIYbKP-Xkp_FBEJ*>oi&9m&n1o9z8Q&w6oJ`jDxOIM{zu|>0% z@!}TuB^?^O{r2iM_w#WlWfaKYbMK{%W_aUj@^|7q7vZbC^gqCDc>o%T41j7YMFKtY zk^msx&SRFq{@=DpHn3*(RiN!P`4};lU4svxBYC@@{9o6&x{H^QM`n}XiXjebe@rh0AlDI zDapSM^|e=<*%5DB$1lnyLl1z}I5tTV)HX9Kk07Kq;J+4i1Xgr0q5WsF4@|=D zd*ur=7*I`bz0N)HcSbZp0p4povTb@GeAPe*yciIZ$1^>V zlvhGE*j+i^52ID_vlV^kz`bs5m_CZIQ0?^SkJ{fj{zM1^ALGi9|77pF8EY15Cmhz+ z2L0}B$e&eIe40bD!^>aPF_39)3cL8hSh_(aKxc!Tx6JKMEex()QETu-HS zDtQicBD8G;KcQ!PcOiIx{+qY7?!6@N*|+#Wl0q(8ek#b{A;k=?Nw0d+3w+5<<#&7F zS?epNey-%A`!SO&h=A&TE67>%e%*LV%|1Y7KjW*BP+flkYC%DNO0@DC>>c(;YCq9p z&DvZH06lRcI9)k^mmgumA`$cLPer96BZT}NgAo%X{24Q>ZjB#=1ND=IPkN!GtCpb5 zfRiSxg{gzZkR&yR8+#w&y|DEVwxrzpF}zW%6A1TWoNz%_&H|7DR!FDQe3_1Sxp+th zSiEDl5EiTAzD&oKe14$E4>AzNj&~5_?KlB9$en^eW3wcnIj7~VCw@q9T+)t~%sst|(`>6ltiNwCo@%pln~5cIK!hu3z-UYHf=^~Z50d@x-?I<;)E(sT$s!QHi|+YNXY{R(Jb4O zsZ0q0zUcJ_bcHVv#Ii0)Nb?F1=(#?Bh)W#;#Iix;86rfPo4aQ~fBYaBpgJ9))#U7d zJEe*E|B*?OquK>BqU2!^D*Lj1sg5-Os^imotou_Y)V6Dq6&c0`FkJluT|?#JFGJ8C zCIz57?e396SlIik@3m|aBE=v0qMt&D0J44#n*u<{6=qL$@4sSsaBm7(Mavxv1^)gM z7Z6Au2rv`&m9wDFd&`*7q_tN}F18<^3VCI2i{@0@CQ(?J_mJb6lhRlq1CEz-F$IpvnJP8l}oGKcyi%0 z#X>Yi7u!*SlP#DGoxar*#B)A?Oj1GmPnco*Q3CnX0d!{iUZa?A)wC3(@A zlU}ozGrqyRWiR)%KHqWMI9~g0r2Xh=-LYtV`?M{D@FeO*x%pTQt7O3r>!Ujhv1n9I zbf_+G#0_$olBmOVLgGTg9zc7|4&Ajm4JmK5CTf^|(8$2lup_3Gi36e#N+TOc)okr7 zW7V*3=yE?WM6bPlwy5^Pa^_Y`ZLZNf274PJSEQlQX<5`<F{3#{)Wg28ltHEK@=^@ z$19WbSJB!|LQvZfQ9$(jvK+^4IR}2oH|u>ken|D(_r`4#JS{}LRc&z&)5DYL;)g0r z2=&bv7Dv9Vu;l*-I#GC~gTGXe`~sbHN4sD_oVekWJO;UeG8W^_A0SG$8FPRo_ZLtTF zshc3%E}U)ut=ZG|yaV{_<@KB%2KAb)CFY;**5nlBN5+((hI6Z)xM|p z3vRbNK;%O?D*^%6TEy1mQ%_>h<{>fu)i@h_&F1$cC(T-aWYokbP0FAHnMN*$-Y^Wt zjrEAo75lj{(!<>S4>dB?&|ydi$OQK$nSO@FD+;$Om1q41ka52*bpWjX7ng+0QC+nB zpX1o^4DHfM;RE0}o=vojltCF<`y%6dPN$arN5;)B1ux4T+BE?_Hlli}6L_q}?4sHA zrV*tFAI;}c{9&r|@gL^oB9WC{9vjlsHz=U^huaf;02sIIA;Rdo;R}o#HV}*k%QBofcyr(+Ao!&?PHIWB{ZbrXBIaIR zOL)_6#!mwK--7(f57M4$|3^8|tm$x`J_7BdZhi~KNd(w|=I5RurzpTui7Z|k^OlyyY5M_5)_9_pGa3JII^HU2+UNUkGt&asttud_}1bua#ePjR6u5&1$>ugP#A@&Q5%;#gXmX$(b#^s`rdcsb#eLr9T zG#x$ZF88#$-VW=^_t1_KOEVO2&Q3C1f&Sx*UUx`ld;Z7A}vbHig{MIK<_EM*Xp z)Jpm59yViwCxf+CbQL+6?vl3FKqlCXzs`InYc<^*E}S7#zO!xDq4ou>B~~Fkh@jeh z9)mw_rS@BT@Oh|s^jTAByj-p0;_&Vu9nf7`6Ok&BE zV3+i)mulBOxP>KIpdupOXibcfl<8@^aUri2FX1Xh*=Mqg_ItKT2tUOhIm-yiH$a|1 zmc?{JYDjy1uP9)!XOJ{?d+QU;iP_ry<0Uhl9lhEm9lN=&6axF+Yo zUiejIZhgTl+1NqgSDDC;?E9Uo5%O16cIArTYAqI1`qrybWRO*I&Rsu21-g-}!nvw3 zR{C3N_CL}}Z1Vq*Ru*B(f}0vy1S?3wKsEHurF`5L|ntso47d3>+ARwEJ8mP+k(BSC_CS+*u+D+*>bPp48OA` zD{}U?C1UW*t+?3egLK?zzF*^s;krp3F3t&8HVa*{U{I9qtH&Kgl#L#PYoQ&z%=Ua( zb={ChaRB1YF=MHcQCW%v?XpuzsTHGV2pQ1sF?X=4*dOE2XO*_NE5$(qIE3s;CMVw_ zfDg||^sY5Z#x>ueDtuPc=og6UPc*q)1tsAp3M(NUovvSXy;3igpayY@iKBQ;u8?cJ zf=6TqygDl?U;=s6EMb+FPye1+5x?HM&2C ztS_$WsM?T}iKN&U_C7e&9QTKeXGOnVsHx z#;a}Xq(5Wr=NFo{2G|q)SXz^hHla(%c%2La{$PW;xcRr=hU_!_YGJW2lMVRe%IfrS zkX5Q41Yn06LEkX;LQneQ-6s)R)1-<1uA^5p1;WWrK6Ss&mV4SZQT>o zl`v5KmBt<$mDnA$nb+A3Lgj_vXJ%@`Tto2%`>M6D-Yar7GMumyD4`4^m`Xc;AUSUS z&5teNb=2Zp7yz`sCM@f?d_BNbzdTsw1^FriMx0D1v1`pRD{|e-*8ca8`OZ~Io{6Su z>UB;t>K6NVGje5Q8((Q`H<6y>D@R^$h{2n`R8B(=S&ai)WOXhK_5W2Gd%*g?q_MFr zA`p!a>42v++90$voyOR=B*xZk0~kO$X&_TOn3BF$j=8q%t5NWm*cg<5c<^Lm3Zv6zYU!k8ve@}g`(b)ogD;Pg1fyG5eBau=cdj6pg%X5~g{#8)AD5l}J~gnn39 zZ+Q4z(gbolbB^@3BH~F3=_?9(f9R_tGDyNN9ns>|^Kq^`=Fh;3B#0X2n`q;tW2TSf zwoP-{FMa zWZBC%$+xt;$ehe4s$|t!?|d9XMkJ0OMf~widD^z}wuHb}Xvm3;o7~AwVWeF}s5b!H zvVrB=4@S9eiKV(a#{-hLv4=w$bb^FYfI-qhdsoLMhk9B`PH56;q`af ziB#JoViib_AiPBtcNk%;Jh{gHR+<*QLcggBM(*qj!QCjt)_HL~b+)*1vc<*HWIW|Ssdj_M- z9oSRWPyR{KT8)30(xo{WpMmRCuQ8l5upGgmQ1-`2Q?;oNb5|c)@)n-jLk6mN`POq-qm1(j3DdR6+j_Thy zpAb*u1-#>_b~cG7Yvfv)24mj`*zRDGZBa-V%KUKT3Y{e{K3}XQHSk1kCoS4P6&B}+ z=oh0u?+uz(W3);O2}uu(Hlsp`qjfXg7eU~%bG&lVI;)nrtG9|7F*JvyG}r4MdCYNB z9-j()XU)JzIO=@DMh32&uevkLGPTz=eOI=Pom$UdT=CTK)l*$~W`?6Y=ZupUFB7!h zZzc(ymEFTRataa@`MJ3vgM%XxIWky34HL&6%qkTs38)=q;VihI2PAG9H1W9hD9G%YG;mdqK}U?dk?1p zS5FSSKDt$xno)i;p&kB^`e|Oey;}bHAZ_3g`2wbtJ{Uy#RB|u$#N;@##6P=IyO194 zL3a*llg{LRzU!TLw7e}`@eTYXfst2v<@-p`37hmDAgdf*H{O|ZcvhMhi>d!v(cerG zmK2FqG4MUt+w3E8nCk+CyU(DR&JY%Y)*L*-J5wZu)RpzONBMjem^y(CGM!17<9EfBGAB{(>I28ARgh)nMYsix2I9Qk-^?clcJ4-=VC6Ys;aw<=s zUquekB8>&KNQ3^@7U>Zc+Gv9=Id<#8<83wT-()s6q-1oo@PLMv3d@%TfPB6FRZ)Nc zqtUoMo03Ogw7XHLnB(>ptBzJT{s={sj>#BJiUXfx*%-BP&j`;BIb@utTpa~t&0Sdg zwL>i#{;NdltQJ*M2q=-#srdcxB~s_`MVK78u=D7!bW^-c7y2CFrYg+&kt=dUZ-82Xzh?#a&`W|Mth9U*#HvL1r;S1*=Vlz(Nn`m2 zE81^)V^u$$@vl7^^6MHO`>}uSLM_^jD(5u$IX~^}OT_-zb`Sei9wjK$pb&mK2Gjd0 zl4A2_8hly4wqK32`V0ZWby@Z7l?AXg>7YK>v+M(=+tOF-FX*(i?F%yC)#)rk9*P_k z>c$^qpaHj=SkQh=E%wKE1_mZ0ICtVh66io2L+CE9ht1lU96pw9lnG)0ulxDC@9*Gr z6?H%}RKZ;b4VoOlyJ$aU8sdQZwubgJg5^vL^Q|8+pEWK35HSv{@AKNA!|}DZ^ph;> zdB8zd#3YM>TVBD@$Nvc9XbeVk&65eIM#-j0{@^x;exEB-NhDP!70r!_~Q*Fm$A zT<>)eEyndf4`Egc*hehBZ3faGSpuD?E!V=1ReDE5hOg_G8FNVgt_CQ}3SW?K;9~Lf z{O~CM$65COOMUdTZGH@eMET2FcBBD%sYY|J`{Pk3*`p@!wVDrNwG^3c+ao#=C@%S> z+TXL9qpG2}vaMhHq>(_z*oyW|U_C<0bF`U{Xvg3q;l)_18_C5c#>pcW|DuER z@MyeVDcKN!Oda5HAaX!B=U2#to;k8B8h8+mu+T(xeGX}F(ky-$*Sv4;6 zj@XoAa1InKi8=hJK=<`1f189mjv<4*bt)@pmP#67We+)N3FBM4|AX@A zejp{DzPAM`SlTuBxFRV)=WYPdxwq#+v1AfXg5`pLOV%rO*78?J4+Qh|v>x{MgayBP z8+Ad6ru}l6rD7&KAVYJ=aD3&pe7ZSgqbFZ3ck0FfGJwndW^8ukhjr61fO0`UH$|3H zSNY0=FG=V+WCoyI#0(UW@=bC`LVvSAiw<=slEBWW zm4M8E%KUAxFRfL5{I1n4x3H188=~C2v9O_9*;D%l#*aIUFQB>kcb=Cs-_Iq~0HBnu zMJVEOUVB@&WP6ewLD_dYorR|Ad@ew2q#K^7(K~NowA$(Q)I??e`~R=%XwA#!|DEcn zdfCiW!Bn?P_w-t*{PESqHbngHRa8G0QvP1ew5IW30G%F2>2yQLDA$6Sg`shGL>=o7 zkSthtmxRNml6X@M-%>V;$%c2?*bvxa-_mCC{(ivE>&xzU+04zio$sb`*OzYV7azSF zWdXXQ*I-?}k9%j)0E=0ar@=bylCiec8SRL^wi7b#h<31S@UVS|FTi4^KAPvc5L?qrCe`OFoWDNmBNoRc zQ|X$~U8d7`Su&-u*3Uafb4DZ+cJP_F>w4~|9gW(4Ozo#3r|yv}_}7eXP}P4^*tU5u zN?Uq6l8p-EllR+8j9VR4;R{BxFo!%t(O*hoKN?taRX`og%|1z|F=o%s<5#{+?alg3 zVBBOVdJg;Ryw7Ll_Om`pC?YlNACkIJy?p=UQTha*4g+LfBgr>P$SVn16X0ZLFwz+g z@C3QgGvYlg)&+xZM55!!Vs6MovMqsywmf>3JIKxxut&G2+Aqbk z!S^^e2MVgxl{Y#C5~|oV%D+*#qQ3=`Xv9djU?u+GslHaaw%_sFiA-Zvjk**DlP`x; z^npPUs=}2rb!j_cTuvQVZE41W-~?!ZVgzoA!WkSHB4TEir^uUjk{^sD;X_e|;exQk zcO1;+*qnPZYQZY>z&@Q53*a*|CU=d#KkAXZwDNyxAg-Y~b|T}YfE_7gmE$y4ns^W? zL-v@xh6pNIgOonL{CnuOx+q<^@_)f&O!(Z=_RjNui>8jWhT~Bf4w6YQK%h zF%FSJWlzLhF-Zqa%16U6@D=wLpG27rKJUnA4r4Iw&KeW$IF2V0{vg)9lKy-c^aT+h z_2KClfdrzb_Ss+Uyr2LQ9@=9x03V3HC1-kn!HtuDlm?uciD3Fwcd!k;G7$)O)wn*hhB7d_6 z&b0*tlG3lEYqSPI&P~tD7!0mGWe`~ud!%cNfMCR|zAue?4&c7KF^I!4AYSHz>dl8@ zi-3(=m1NK4nhqA#G53-wt-#z@)s`? zoZwDSGN36y-~`fvH+?Z2pmDEZIr^t@&&InBe4|1 zs+fyJ;Xgeb#rmoJ>SqpqfvH~XF?h25uPnL?D2tB8O5v+$xZX?DI3qu5Q_#0K4uOV^ zu+mW;eQ_y7@?-M*zbd0Ihi|e~9rw^;Dszq0m)*=6R9f@b)LJ(&M!6huWL_##Y_i@opdDLiDzyP}GS z|H4ju>kKJCNz!F%VYH92L3nmpJ(#w{q`Lw$mSp2sV_IlO;{a8k zdFwaK5NT|*Z#0?QZ|$_N{o3E8xgs(wSidXWXW)&&7wu{|-+o&0je znkx+fnkmIlHX_N9e>~P?YK-~(tD&(1;zFmBCl%<_q%iqd@p8Ise{w)%GVJ8sIl8cD z`d-}MlolA4gZ8vkqn5E$(cIaYc|vVeOQ;S0ChO@J^107(|x9(()+Xgii?}I$Uh@$S#uger)Fvr zDe~TvRUEk~>97J+g;V?ejz2r|F1`;ti$Iw&;_|m)JsX@9TEuRqIBBnv{I$@4QypQb z?W=e&Q=wYQZ?bf+Vgi<#_AQZ5pS79_<%=*U}?hH<%j;9Vg)zCD+vT{2JOn{%?m z@Tg8g#H^a8RzOUi8+oj`6&X-H@}U6ThWaRLXWEp14HGwy{T?@X#qhGDdcYB3*aLov zkW}<}|L=idrv7Dr#+i?5;CxzIEttSmK2aFKgTQL2dNv~bd?=!plT_m$U=~I+jD$^q zH;?rcB;ju%Z%ShgSE0>qLx=%FN1a##x>al##%ORGT#S0OeKJb}5~AM$)!F(vzqPoD zbOc&VK^T0ZO#{clv}g>h$an;4_R@ZyG`M2zm#Eec#krCMnONZg)x)nM(mBWhhlF7J z#+wNE1rt#GO`vFP`4wbGnm4rgMusa8$pQ1Qmf89g;89?A8RQPUrU}{gz@!OD1!HX! zRBdy^VFTL4vjJ2+`&|HQ1IWe()Vu{)v%Fw|lEM}3F>}B(AKpx7#h8;oX=cHTMQ-3XC1Fx;NXD#Mm4=meHLPPpZ4KRD zmfysVBn#aa9L9J$O?oZfjqp?BPC8fS6q+>fD!_uYkF1t^jM}oZ_Wk&l41r)4fYI={ z%){X2oIQ2lpWVZ~b`0nte{eQy5B$B>n()b{d)Bw=h^hg1+PM0)>^_skM}5GHLojl4 zGl_|xbS>P3TaH-t*!X+PKTf`$nCkZ9|DA{pH(+y^qlPB#nly7c_bV)JG>^5t;$V5$ zl~IZP*G&xL@K!l}I)RoYxUZLLUe$UfMwr9u|LP`w7x}N7sO1BynLc81daWrpBaf(g z2Rf6AJ15&+uk?AE&Mb&}3soXYS84PJh{Q_17jxHq1oZf3PYX|4Y50BI`+dA0e`>BY zZ{@l^V_gxXi)j9DkysNs-<|>e!U+Sl5uVBrZIX~=DF_$)&1*+vh9D5AiQ=oMsA2v;Ma5BH(yw@o`={S=%ry#Ghi(jrKbj+TOkglpI^HKMDyx|Cbyscn|4q#Bi7-xvrm)7u$doEsw;O@cR)U zN5lJoYDCQq|{O+`XS|X-QNmbdy=~ z%^sNszx&gXDR8WEMhiuNw_Hn?-JWf9#q(1l*BtyWgKQ0rF2h?TT)#O`5xMsGV}@69 zQJ}$L6E$KTOcVcjfI>8+##V4XChXxezRcN8fAs~DX zok>|lyv-oTI2PFZV?9p8t0;%B%=j0dJ$*GAQ!wiyL)!QT>dB4L;28g_G)fF*w2cmv z^b7L#Rye;nK`HJ9HLO1Ka6=iDQ!@+A(Vk4=2I-%zMF*tildC1}jY3R14G%~+{+!~% zxaX&3~dZ6fVu{{jzCQaAEM?Uc(*NvhY9`}927twuZgb+J_*Kk6&|!R=j-$L01OZt} zM+rV2bP_cAPU%6&n8PhpUtLAF*$%L`)s}@Mh>bh`*hS6NHWkyI2nkpyb&VqS_*!#M zUz^FMX@q>?V264F1%Hu3e&ZwS@aag0gwPnPVE_s?U>zG3228Yv*M9$SKtufhT6O$C zh4^ z@VG#MGi}x561WtzZ~DO8*Mo6iYhls9@^JYot%hi^xP5*&h*KxZQ}$m3_u>2cU!#r@ zNacO05tiQv=thmcZ8CV zNS&F!+n|MqK=dsXh^w-Ihtxn~u8@Ds%_>~rn`agZU2Cl$U96?ZQX^d7qnzf_&@%@jND z^#V0>5i42}DfF_wrFz3K8u&YY3hCz@VOyHk`m%&iS7eN2BGe(Q8dkEFeFUm7a{sWM4oDDL} z3<5jb-c=8Xe1QT#E?~q_1B0rD%YpaC?Gv%g3<5nvUDMivX^WiMzDpnYb}#j|?Dj-r z;JQi7BNYb$CX-bYyJyL%**&IgTntPXE9-S1gBoHyv|d{!hb>oeKZ6 zeqF>NGA3BF>L8Bx+y4Cww@453(LiM@(&Pi)0eojm^T}sc#+|TV`huZ+TuZ01j}e)t z(}-M!tWOOCo}P{T9YqD=TuMgo{RqD6)GMo+i^rMP(9UO_C)UU?XPx8~XeiicM-{>%xJ#GL_WugB z{8Y)rb*!xt>B6>!auO!yT{IhENadJ|*L4e?B+( zN#^@+P5f^YX1HKYrI^Lz3ep1&#S;$j11x0S4r9UxLT2!)2d>xwO+}c+|H|$3li_tO z*3R;0jB182x1u7{tp+wq8qSQTPPMcbT79z6PVh6tDl43p6)ffVBbS-#h7UA8;}iG@6bJ~cRK*T!Q_Dnlh)c5 z#ESdklFI|CV(qTTqh*aL%>T3;mfa%YG7Ix4IPdc?`alQM`z+w$yCh3?R_C&h)yAIa z=8mO6f&j`Jkwkf>I~jB~?LbJ7C4AV#UN1_KmqZM4&A4EUTT1r*g=InT?^!nrA~@_# zlabt9m2a=i>oBkorl5;G+e_+<0hTUhk#h0KQ*~~^2CK3i$iKmjsQf=OLDK&k03}C% zQLY7k9Oy=2?xsy~ixJpQw|v;jSNV)2z&jIR+;C5urllqp?3Js*>S_qX;Xh{=!9*o+ zf@B=ti2cu1w+}(2Q{tcy?Zuy4zm(JKR{M#3zcwu+J9hnR)ot;wRkucHcF96Ys|XYa z?mZHZj~q7mzelbq-#8ZY=uvos6Uuf7(;z#Zhy=>6Op!x69M~bu*DH^54w^UUl{BRP zp=ezW476srOtpSe_@OBmLO`~hf>j#bw9a4u`G7+=|5Kj@A@pi+Hb$-wMqmnLW=zpi zFW7vS!LM(ASCv>T=ma5`VvuRh(r--e-ZA{9_6^`gd8BRS0nKml0#}K`Nm_F><^f_sLe}*i&V-$dDO1OwYZwXpjTrT*+q?=DC0Yj0l1wILXwh;s!;yjn@^$VE%|>d* zu3CJwmv3qdmSC!lA|f0DL`jtm%R4#u-WDX4M?Xi~RXQaRD=i)z1b?wv`4p#cVmuOb zhm%|^pso)0D@kpx`MP?2>*oi>jE0NsTU3VkS}!_;REfQni|cNAXfh-}ncp_uFvOs{ zVW^qG?>0FO4V$Ff{h1DV^BY9_DL5PY4~Qo44~Vw?H$+2!gJ?s4L9~rGh$j1QAX>;jAsPuuRGt@L zAf@*D)p4tL+ky|5QxMrPcIA8V`)j~AWeLyVB!%q4z!cMyx5D+ZgEm}UHlzys<#3cK zf)`^WDl|s^>$WBaH|clp(Fv?_tBgH^HzY5=t_M!SxGyTngPji4)S0EB6;Zy38t+4ew%O z+Pi-wRd&rpj&V19N-&&-knX4YYMGq@#S=>sz&h~Bh++Ixx!92f04Attp7^VTC{=uAOIM5n(or)kOKyf9K$ui zA7_a*JM+w@jR$a?@8N_)7Mk1-l{)80fd#dUL38O=pL1YA&DC4xU5^wtD;!!Y`sc^* zl3vIPu;}Qj>9mMZ!t2f^h&YQ!TP!?{lzZw1Xfuhme8b$*DVYErqFny4JJ&uj+45-g z)gHXl2|;4V!+%17piy!G{E&vq%I>U)a2m&l9LhBR*^I8O5YAOJPla`b2_dPwnx4YA z8pCTowLEX}#=D~m^QPmCf!>GP)yQ)#n=W_xc4V(wUzA{9yww%US=tJBUwN{oB^pP* z*CzU(a<=~B)M!*tNnaeY8m%p&@9l-7{c=a&Hr9CKi+-c8R-HL(`r_DuvHdP(ny#>X zHM`Nu1!mqc`%w?+q-}WnkL&cvP3FG-_vJDha-VVN_M*-1DQZ-ep@BPbz12>u%Ekr7 zC)dZ%DTa5t6nB^zQpLQQQ5w&3DB(vk1OK+L2qXQE!eZ^4d~MpC4}b!{%L8l= zBe;b`qm>)CR;+%y(CiJ}e1Ln00e5|>yZ!R*<{BO{@4fURdEfJY;Q}1wTWC_kIDc`0 z|F5V_L9j`COqbCjA+X6lOj*lX876z*k}>zAfN?>-LG*FfJy*F6=Ar&bG*9XT0HyHjZ`q|CyI*(0G2}KYf7vZ@tBV zh{x_1SC!L@yX==RFwR``@R9pskNQ80?B`PB5--{byrLWUzGk}5Kl*Vbe{H-S`Vn}> z7B#teQS?WWh2pQNwY|iy}LmOJihs@O%g@4GRRpx?D z{HUCcs_2%ouX?^NQ5$+h6J;+(b`Sjkn$iB}($8w}KjlJe-FsxU-9ZZ9f#dRS`?*Td=txfgZQpa?W#c){?zLz}WrcPH^ zb?)ZvMKzCVoF>ymSVj(?xU0c}{EzBlJ}OXMq`DXS;QOb#NRRw?b+I4`>sxs6{bP3x zDN*Vgf>XOVI;CTwfwY#D6Mw8ZUj^_H4J)6TO0 zXKKbdZDROPbSK$6R@Q=e_#HVn|(V8O~ywS*y^;Ew@vmRS<7Au8t;Vg!^>=_!TmW{z8DmW0}C*bCRxZNWL-%> zpOLvrhRlAy0ypJSISc437Wt~D6!PnF-Ar7h-Ya^unziuRk?Mkm1GDTW>sSw2Q7)=g zW8nS_4^y&#+11KR6yJ8)`zL(<%EmObmsTXv6+&*Ot536@^f9k+57#QD&h&H&4uGU{nx!KHanROBRNVk+uY1H6ll5{s-63xwEFGI0ulwo4^n;e zRF~bo;Z3n6-3FgU*Okt!%~O-Srj`=ca&aFEjdt%HO^x|76T@nZWrx4B6A?|Bb0w?i z>Cr-jr!iin3{5{UPXxfKmwF8;6AY?Tg^b|6oqGlg$pUg4_3PY z^Xo}XAodGoDM699Kl#e>3v-X&=>Zci3TmDR!0h_1A~3W(n9@;IsbYBU#7)SPf>;?_>q!UeK6U#RacQ-s8b8yZJN6_; z-J~_s=c5(O91}+$)oTA0SV8D~#~El#OY0dE1@HdJYYF+&6ru}P;mape&-z}(G6dhs zi}h@4Iom_C8ARSm>`;R(HaFxGgseLzkJldq@WAl;jP>)QTZp^J>xT6l-(<4RzUAyj zYa65TIi1b@mC5wpdaKU9m0+pkow048nBASQepcv|ovJAf^xrsOk_~AE$OH_V1-fRD+i5!J|5eEbU1xN!aO{GaL>eKT zjA^SiCcyNXtRG*yKr-ysrR}hWMN!1nyeAQX*!mjCS44FdZTSLX-G0`8E+eWSgxl;+U) z>J>`%uO6gMG0AYChtv{X{du1yU@C##l$09UZNAT-w^cQGmkM-X!ONi-xH2Eqr=Zys zp&%O^o=YxdLiVW;)DFM`>D{keU5^c@Ch_wPSPm+{Mius@_tpt zLxOI@N9V%0wDftRb1rI)Vq!KNxg$Tu=}>>|cOBm85un@wpRaAfksN|4{Gyquj$+_T zu2?^RFtVqhHpIm?LBQ-U155Ce<#d`wDfl4(k{PU+SMsxZ*OlmGP>^C9p2%omkV2jC zclA%o`kIlk+YEHm$3ynNmsA1$3vl%otE;G16ah(-OpbvIdWCRuSIVSWEo3oSAo!^` zZk`AD%*uoiN6Bx#phAaA%XH*>(~fjOk|291NY|L>vu7Z{AB#>tpuQ(mf#d&4dtDE5 zQ-{?~{nLvY*orNEc^~KsnQ7ZUR0P72C`vh0Vfm(8>&a29NcrPtn;S((nir15$Leq# zt&p%vwX_41o+SgcX0ge^o`D#^>^hAK_=jIiyhw1Pgt=^o>F++}iuDZpLvIkyk8cS; zKgUhWGf!8V@P9Xp_m1C#k`OGYS~f+RF|0btrn+KCfV+eiB)cZ!f=At|Rodx=L!z*^ z@FYsB_I-$de<>2lcB3xto_S?F>;#qFAX1DM;cB#w-mJdvp26t-9yWVKKp6@f;xZIt08bXI%6i1a) zCR)5e)QVhk>$AAQW14mpAuU3^YRW>JrCEW<8}Zp z%Z?JX1g1IkuAWZ-T1M|}bbS)Y##(P7Wa<;oal-QCz%;!>Kva=v#%hxa5MDET8ZTyF zmgkDTtK2piKHUo-2^DL&E|r)jgDE~=rj6!eEk1sU9uGirCoJMy;Ul;XY|fUl5aK-I zT1@+EbbZ~*HAr8?*MzI2e)cWpA~@^!j{}|m9|!u@UkCdA>$2zKZlgVowcG22a&^PT zp+m7j)(N}J%CwEJ46Z9z*bj%=yY{wLEo4Y>De`zi3a+EFw8yi}-wn3#iy?_GI`n%>IOi-OHxM-WEK}xpKTDsh_CUR+CWstDj3w6B} z8!>Im6J%l;VnuKu7m#sIHr7D4wT<3=!+Ic+EvuJA4~;5Y7CTDNsGv}>l@~&d6^(%i z#@n5Vl*_q#c^=0rBSqttLN%6->Z7a?;5Lq`p$l|IqlgQr|K@{eelMJ8w_+9%%a2fz z!g4BO#N;-{VKJD&J0LaB1Q$FuTrnoew#1ihx=qFChQJzUUccDu!)`l7(;ol#9Rv14u3CGqoR>D^9t%rg#seFaJY5^zpoTO&C-uZN zIw4)C;}la#N6DLnc`AZ+%JDWV9mG%|R zb^8+i*muv_II_3h^u>}v8wW{%u2UMOoj(OOR(ZXaahq#sGt*%J1Za`suMml{G? zPyD?^D@$R+E+0Rz85yP4LUUVb5JendFFT_6#~AOD4EwN^z|K0~S6c>y*Cf1ZlU+a` za^G65E7DyVjq^ID6QMhT8A*InAqw@Dx^6&!7)j`fSxU7uG!drlkH%OHD3o}2IurH! za(|a&uv;IRTdDN?8B!-~ta%{1|J-b$W+fD^i<@@ZfgU}F<#}Wfso+P%H4PQXs*8-8 zZFm?pf<$VJH^+NmfuP{w`?JcJ_vZJH6A>0uoIduD8pdiWMN=Mf<(p+A$i&(&a^LWj zEt9sjDyV`5N$0OP^L9+k1I?}K-KcZ!S-}~-q|}fkNqy%EAY&6%~4Hb08$O^%X zJ4PDkv4X-e>kTATtvxGUY+Eyo)u=MCLZvGrC5_QlMeP5)Oi<-m8C6sc##roAyxy?>&^mSN`@} z5gfEgm7#3jmF~r~--^hP!W20RQ9Q+1^^$gTK4aRRUj+@05Pqr7dP=Y$rP%loQAVHB z?R4p45g`ZLD6wD}aZrD4 zi35<4onpzUCmgVaHE3!-_EJx?G|^oGhMJ6OEne+aHVi!w*X! zOVqdQ#cDBUsiG1|o9VlL!JumqR1_R;HJV_+K#k=@F?Ec(G`pkQ0g1DV=r`V?Pp3=R zQK`$gT?NZlcqivL*RQ7U-krRfWRzr#FDPnQ)ZgA_yz`t)A1|>kXld$loqCCw_JRf* z17kFVMpv&rIEu3MMG0&K=*n;_cW)iZ>bwNItjosg)4+YjI!6*Qyn5>)7%H748iG}7W2VH(wzt&MR{t7|u2mf=q=JC~%C>T{Cb z6h<6^Ptsl%1nSE6`0$_9z=vDod#AZVLS9YagMaq-4%T$QSV@ zZxku*2x>98dBy8TiGF_G4A^z6lS@}+>8*rI85X1b;)V^n(1c}AU!kE=r(fij&W_`tGoZ@vq5kMopDeK>@W4a6j<(DgnyumCZM z+s9om1vP-6T$X*K0SJnH>!(6{fS@FrJR|p)NQrR}007>bt))7oi0@~-%&#q=N;Id~ zzV#N6nBd}ees1B!Nz@`>-;ViGpp5_`H_cSupT;xNq4x<1V&GnmLD=3D=olr@CCNMT z|J+G-_1H-Q3Pwp+Ki=Nqd1Io2z9_f|NJc1{MvDXGB5^WTVL$>!Tf-}zSMVl*Vxl8K zdwV{*7WhO-;6aeHMXEqx=S{4HO%eiHWK%Yu4Axs|2xUzHy?Qz9^a&Cy#e-BS9Ki{2 z(SHTydyew|Wq0YjJwFV;RS0AuEZ8^oLGKHJEX3pPrW8Ko9}E3>@{nkwNbJ| zO=j)HD{09SUmAs_;WVGWH-_mnXjmx@)=0`$oZnS_9zIWbi#=GHvLYD#c4h6~x?(pY z>b4WfF!u<$n@3<_HjSEP6-e=|NpG}z4xQC(1F<@hAXIdbr2wo>BT{J;YHTV|fYr%y z5Xd_Gz&~j4ecEr;XTAPy`}3qzJTK8@op0H-7ez-eWAq|y_a@)a146+XKq*m@cY%RL zW`vS~{f~$ojx~)%ddZjkhB2yvj0fBC4cn6^NuV`~q&>;&B;bZI@S-IZYQ@0;oj_Tr zr|-$@-EJ>zHspIowue|6{^;5T#I(wSVh(|Eh%YG2?+SC*ope zv4||&9o9m7uJ<|92ten#+zs2v*PZ$l>2s%3Q|hbV(hhu;^HT|YEli(=iPQkIJ1`yK z$9_B)#uulnN6>(XDpv_kUwyj*Q_;bS1%MQoia>7ws-P)_(DQ};c7~*l1A~m(peO{> z`tAH3b?nYt{QbonOo0MmO36e?1WK_?B{+1_$Hi-!cQxb?Fi+QNF%Q>Ru&Z}WKcX3C z0ISn1|A~?a&=Nx5#3FgKI@x0o5xrTR$j7150jtxh>mU!}rxF$kKs4`fLt8D1Wbd>j zo-R+$lY{_nh3}g+U1zt2MJfvhN;at`cEyrbskc|otcaOig7neagUM0KJ&#*PFoLCw zZ@yu!F;Lrb{glUeXz}c0ToING~~lxOvuLF&q@hn|Fj`m5#zVbxBn=G&g0CC#&}cP}ZGA9lC~vl`o8 zyKLt9=-$8alm$0$nQg3Q(GF&7l_N$QW@nXcdK-2amF+j4;@LjXJd4#%*8%*QMu;_y zhYF1-LpmtwO>qxBYjnTT-m0OJPR*vC-Os9|QN zD1V{0`-8WUNd|?Whd0jhRY&|z%6aNXvki6AG^SNj8+)O!2)hh&K4u3Nl4Qb>DotLB z5s$7FV7?aTXwsX_NqRAvCuq~$4ClyDFX|hUY43d9G<7Hsmps$rkPRjO>k7T@)6?00 z>ZXs&yPWZllRm4*_=Y$kV03L?lq3Yd%brW@?pKw3JCg?@4>SeWIJoHvK~oBVaNd5= z*h&7+eyxss8HRsPg)kgqNwc~f9GfygRGgklZlwUC;`l~Xl82#9mPr@|Bn0?mV* zq5`bX5-PSXF)0JRAt%t_zAgm}h)5D#e$;C_pf^C<$UfKy#%Sw3k4XLat#m-m)j>JUn>;&7C zU7!h6)i7EJJ?|a_AQdJH6;f8IkGO)0C&Nm>fUWRi2Y*|hlE8R_fAcRUE+j_)sVpw1 zzk3phOHBax@eZM9yMiOU7F~_b54GWd0~5(QL1SKgQ#{=;c*df5n%`)p$CPQsYGOU+ z@iO%ikkU$zd$}zN!e)-Fh#jqTSq)>m6ZK^DRRnQQ^wkRSKvZ<%tX&KF0?i=a!n6$mD>J4)KU=qaE*&8zs3aUH~q#o`K%1wdPL&5o@leg^8g2j(vxFA@Q zarhd*9-XEH9!O-^e!0ZH6c0#6PissIgG_HXDK`=V{}q)VpDh{n2pWi-_PXA+u%AH} zsNQ3cx5p}rJOv6P1u$W2Vn4dTCYF)G2|m;)hpamx;}}Uh8DQdGGF|?%bA@NU{rQk2 zpS1bDLqvuA%MXiA7XhkFxbNa`6Sljb2qE?j@=#Yp&Q}Q=J-;#44lvm)p!`~XlRPn1 z3-kyt2?LTRm*4oL-QrCv4DGhmIB+(Lm=%0NBSoSJ0X#Bto|EBh1nRvw2)VG$m1*+)yMiA7S1H3n5p_^wV95xWn73U{TJpV5D+FqQAG&7 zQ5Z`b9%_pZ0!cmQ*GJRNI-cp0nNHd&1Mi;AGVEe%R!S^q#G_2ay2|_k%Y@?Ovf2Gq-l+KNbPRd7-@EIg=6l!H8kv>45!|G&t z;I2MX&X0EG&>#t)mtpxFmy9LsV~wtyyF3?Ro&`6AKTBU*-{+cPG%H??W25PUuPiJU zA8|rfKJ9a+OKDhZ7IMy;x1>TvajCJ#LMoC?qr&l))a~kroe93%pjYrYjyb2UC}_mf z&@16WA)#XE5MUU8pe3Y9DHxjm5JMdh$b`RdBqFozhJjRXiL~n<9bY@|YPj6E$$7hq zrPoVHnr68Cg$0%TxDY(wL~tioB;U01`!Dj#Je1Zg&^%3-Pvi1zG9L{ihoL|HhIv3? zJY{wcoJw`St|62+9$*nRhTnr?l*Waa18EX46syo@A|4tV`Z6Ygxz|L$NJ9qAfUV*& z>DQI*lc$h%$ckVtucV{Wbn;qt{#IJzImCjAW&QHg<{BquVAr|{x zFsYz*kJd8zz;KP$z{kwTPI#FmS{8I*%oro_3|jmteVtj>C)%u<5@rhrtw(zaCL2re z)2v~?+}(ZZ<(@mZ@kjyc2@=iHc3D%QmhW!stx4Fg>wv1g&6$3zPkHy3bXCOjvJrl9 z$6w+L^U!AgrV9|I?WjC3f^=@vW|5V4j5u@Bt}FNbS?pEAPOhKf<|C0G`f@$g+pv*I ziGfKxANAgip$J@~Mb7$Kl=SjlZi& znWJgCM!>B9WSv0UT?6gCDjE!M1#nmPb8b{Yi9R5I#})IU@VuPPTVt$%-)iF5D-uH& z`v)!1J^VonODi&4?Kj&o&=_u_b<5mK8*B%!lZc2*uj8z;Y#Eh-CBJ2JK2&x*?{%-& znOvFwFl)?dKwR-1=6>A)U-S8@qK>gsOpZvIYmVi@9+-!JJdO_|%g3e(dP6$mpx zh$7_}le+FyR;3T+U;iVlu-UDm?rGpuGi)5Zp@;$zrD6QZ4|YJEedTk7u*S$WO^g~^ z=P>qzRIFDKSMRanXqhjmHM}`y814T1s~m&-E4(4kk!+5aTHAaGJ}0#!u)`U0@JKJm z_$yqLYlESfX0V^uyPh(UXhBLtcj@^mSQ+gVhb>}dlKOhQ_UdL5jQDe4TPaH-myWI} zODl>ylO!3;(>eJ%7L!@K@E2?~al(xL288Cw@>pWUu_x)LxOgua4Cwi&Nce*bab!_l zcsFOX@~z*Pr2LB}@;2KNRlJ%lpbT2m0GL4Eaoq3Fu1-E4m%h0?)Q6UG*6XW&T(@sf zxJr@>N?wmsmt=J&kDiq|K}`?cnwy{lgNh)?_#{6ZhzKdaUEkqU49Nn9FjCU1E%D z@UZPMZ_rNVSBYLEFZcRL%hqsmIBRAi9p$t_p6Un8eHEHQwAVU2kECyVK85ij8dI2g z9uw7-;f#fGUuzF$K{^G}!hv2;eEc|_rE3_a8Hf3O<7ZBiWKQV?JV>c-9>{T7B?YKo z(<0q|LJy#pj+J$`{s27|#)M87<;eH5fcZFt{Do3-1l0e$;k<1abdef3)35uvWPvz_ z&kbG)5XW#{-z+0pkF9!y11LoSB!S55A0z=uU*(M?zz8T#nTglgL%N7-QOfZWX9{-9tdKTt0@6N zj7-QpE*eho=3FSNr+ld$34T`+d^h}N<(`-b6(x*Qu|_*0568&BDFk}x*Bo(KLPk^~y~|BxiedVl_R zB!TPd)ZlABt21ufbnAYlNLGpBm)!n@%NwO6ys|^{QiB#k_;dTKosMI42WfPf9I5v``80Q zf_RGAECh?r?4z6vYj?V6Do(#~N21(^1{g;^0LGEmPFXDn<^e%tCS^)Y;yJvoDS;R@ z^f&8B#o%Aoku>W;EORi#>O%q-$^v3^yKuY6c)9Q1?d%b8aT|Ji-iapQ(%(T`&e{y| z-^I;hlK_5bJ~qsyf_+L(LW%Y;C!jOo{p2h%*%M}%$_)dN$!$nDzG&1KkoI*(O4}`) z$Ep5se2if?_>vugW}y&FdX4KyZ!z7qO?DZGWbAFo1eo^BosD-nw^e$xklt_7hl9j# zeXUX@BiqS&VLx%nIGFdR521zfb!t29m@V6Xl;U&}>^Tcm4?RTP?oZliuicpA|NEP&9VBx z-9fN-6Nk?aBVe{Je?5Mh_@hs{3-GON`znHTw>smlJM&w&(IocwcEZ=QALp*Al8>*) zDhN(3*B(s_&(_P9Og9J0J3oXoxPEv%*U{unoX)Rf#QnUL&`$`RYFyl>QFu#bj4GPW z3m7FF)-f{FE(@svAV~(Qok#rA;fGjVdGqWSG!td}lJj8rVEd9NKq3vio}XrI$^2OT z^V#RPt}ACRudT}99ZIV(ZoZn^HylxhKk;s6>eb6eo2Td0qk5Y+iPfUoptGP)FR-^| z41aZA&-^R7Ae2hjw7fd9P&cn#HFCdQ8Mw9>*w`EY8u7E-*L}MEQZrKTwIgayLNX;> zV-(8tIxfw+82<3a+Gz4lB3`%C&?VQ~G|PCxE~B|0g@m@pIv-?uXg*Qx3wf8#b0PWh zvjq^#ur1}iTbp9h)_g?%Qj%v~8spE>I+2N>Iw?{|@OUCLu0_;V2Jvj!>veI}mSgzk z_wq+CR#)!d_Eo--*0`|kC)f%UKyjjjDk-NcyR}txIM}Z~a>mxqOa@gz5*VQC*G`!h z{*%k_*e%ik>?0U}ePqjopJr9*1Nz*|Ma~KnzyHs%O$|3(O(5H7oH7JW0oX@6s$ye) zm!TQ>21y+nOez7M=xIoF)K>{$w=UTZLVT+C%@f^fqQb*lsyq&OqIdMvcYRWnfZaMR z9%QPF;F{)4zDwtbqPN{TdSTg4ZFOB(IQQ29>|o9*d!RYd%F^0sMV~VZ7v;A+*(0Me z`6SOoxTzE!B7aGcr{slVmn|0f8w1UVgIVI*!em+SL~@p@2^Y*`joMOteFnJXCvXkj z$SEFZTp5!R-hvrsS*ngCW_dfn(A*ksGUE{opdUF7@NhrY3i5S)(~rdIDGJ$hzUfDz zZ=91u)Mz36x!7jFm?!eXYW*T=c0|>32UMA--`mx^r%3_Zk#kYxm#CrusKlk4Os96T zCL(CZ0&T)4rF|41z3Yim^|U2=XFGW58Zt#7n1P{v2X*>I0fuD}YO81RgnR6bc$iw^ z{elxVkU_k^`Pj2MMh6Vn*>i<|YTX5@6VA1=Q(A&Rbz*+-gkR*OXx`DBr`UntM*kq> zWeh$rwV9daYEv7D!j96CsLb-Umc()=3fdO64)u~9Z4~v*KVsuFi}nndqC+oAQ2v(|>N= zVXNn1*?fIifvL2k1tEKjW+X-c0+NVe2|N5w$B?D7mWd(k$!2xY@1}3%iSh5SFqrz7 zKzZWFsc$L-*_y@Rug)4P>Sk@-YA_Uv6g(E_M|S?x&$9#agT+GU=jqp%gk;3%V%X5l z-pKQ4;=y8~g2$Z7v@At_S@j1p&U-!aIfoPCr|=99-OF-p1PanP9NQl*a+&AFgePO# z*lPyRGM*5k{%>X|rati_Tm*1-%ZSk-Fv3<4vMzPCfey3{A!;%F6wOvJPdPxqQM8Pk zBWqAotXQY<5W{G!5j9g!1+c| zw3jqLXjVis2;M@qqr#kxAfwxGLX2zuiNORr`va*FrHQb1Yd6#-H;!&xw`KK%WMDhq zZLhna4Mj3Od8*S#$F0ZyC{ZWpEl^%z47M;k^m+OuA35T^+*6-X zmt*D}v4(Y5?q$9PRi3|2z5H#=uEu%+QrW#lmgSCRMCS3_(@#nZ{j~+>#CJ>@7ra*> zQTC~KW4<)Sv=7N2PjRr94qboqc8$HsqG&|OzSBh z#53^9tKhP+YRs{<(MNFP@r(9Okz=OD5a*#N--Ao`7nWS2YJ5R|QoQq<;^DA?b6v_sI1?Kfi5Nu6PjhIC?^ir5eScJ{2>2P6 z7x0-A^P(J6twLh$1x3D;1$^%+Jjz4jAEXUCfL26TBZ*G|AIu=4E z%nH$tSx^4zd$g<26U{72z6UY1!$~SS7Jaau`psI>zMPvd18t4+63oS6_ZL`@M93l| z*zb#T-u`e?6b8+*3s2ZM)G+&~j}aTi6^8XFnBMMM`MVojt!Zhc0=MprB}W=BI}t$~ zRbEf@=^bJ}Y885{_k(VVQ^jU-gC3UHWaRM&c+!zpZTnX-5mz_cOQ9;aF;#PwzZfgS zTE8p8&Mt@NpV>v)wUBR6;h5-eRbV$#_*{i1@sh~;(k~Jrx)!#2Et7F?lNnVaMqQXvHV7kaOM7@6!I@tD(NHy-Q`~jS)SFK)7B|< zl0SU0(0pjPW78KiCLtxOBHvR-en>&1qHh_Z!C%;v1PZZgN zR;`I8@~sc7V!A6K*pfOj2T~S@6wEI_c^@RwH)DN$QWj=QyHnd@RYLmKk^);P-#O1y zF_aB#HkYnAr!%jNh*xILjfiUpC!{BRagaVibNS6t66L!G7U|-5V5WM^F1`%wy>G!m zc{e@cuG4n)M8IW6*~Ixxv1R^HB1yBd%pu0+W}pr1syXXR*)KniOCm5_-W3p|ey4H>i#q^s++xeUIZF7kHu(qQaWLGWWR> zr;m%?%fd>2-9+~u;TT{rumXmA2o&d?dZ8|wr)vvWgQ$`yePpT4@sVBcuKEcRDD-7< za;EWp$0SkeGzM~BA9DZ_(>35+_tM@eYtNgC*?sMh$WWi&NGu~m+w*1djM-Kx;ICq`Xjab8UY3|2`v|^Ok zE<)dEANH52wx^h@MJUr>M2|WA&%BJ5&9?5$-D0JIM0?xLg_~?xl318-LEdND7nJRs zS>;|(P@Ag*-4NT=1I+8A8e*izy@k4t0~<&2=$Pov$s5hyR5glajY8;LC`4#G@05hb zdZy3xul?=y9+O4ApNXLvavBH8rPplT<7bBw@pu7}Fa(sRC5#R;PBxOns zdW%lhL=P=(#}5nW501kLl1|~JDV#^$4qxsw?#;9q;SAEuk%zIw_WW@{);YMJ*bK>u z$?$lhX`p1cAU+?hY3GM(nWlnqIXssE97fOUrv(%eG-JhuS}`ww6Rs_WL|u`I8!O{Q zU(p~h%E}vt;Vv{nRs=a6fG5r1Ll-71VS%wRO^^6n+sh9F*#h#YR~Ni zcRE?Fcm2*ovX+^M5=RrV3NbPoH=wdT5@ATB0EyY>6fRa`OGO(#Xp828JJ_U85zpmq z#bfOnz>euw2k{NWH>ds>GsFav>k|xCQPNlp0kW>sl_?8*>~|o@Gv8oLKu?CK5X3wI z>K`*xfuDab#7FTCqI0qHoHXTYEkHSD-1(+^7(tYd!ba@@TZQ8O$L!V@tt;WjWa|5#M}Wvsq4@L z2fwAV&7cs-p9!$PrkM2k44<4_MST88u!D!tQ-vPtfAE-A-`aoSF;$ex|DDHliEI2f z9`o=r$mGf$yE+!uu^+=;O!%$THOes#9yec7w9UlBRDr0ZTtuEe+Zu*CF> z(xxyPIiny!!xBlOV1hgzC`Zu>F+IBnRItCnJMyz$wb;hK_`D)yuCY-h&P?Et|F&W8 zfwOYt;HhcXae|8GE2jZe7WRiecGc)KM&{LO8-%8`3ytVw3Or^f7Z!3*-deRTPiY;D z1TG^&OEYaodM9z42Z`@T>*b~}!TP0AQ*$J8z0|tvas~EC@oPzjzwD9MN5Ii zNx+^T`dnM|Q(#-rhQJ9#{CT{Q-xaK(QIzU89Qo82EiyFXTn{o^E6o0kXg63WX6&nY z4AySH9+=VwY!6g&R}o@&hzP*Fn($|~ixY+X5)Qs_fgh~g`E9m~%fDd}&`ap?`u{cC z74SCOrF-#&8;s^JS;)t~-85JZQh;Mj_}yzGMF~X~1ni5k9^a17kx~Pe{!s;spWO1a z#D)WMgh1?f*_fMD*_gcVMT5KjSP%SNa(>e9Y7{>J*$%}ZLx)*bcsqQ$2?L`YHY_## zqGdibdcUmSXG??pJM|)OKG>;o$lC+|Kt!$^2H5@*zz2J}UB%>qA%oky1GHs!-r6#x zZ*7?*lcOG>EmI(EYZ6UCmpEu{Rzv!}v^9CfrP^}5ZLQ=4P{Ll>l65obTioq!w5~05 zV!w@d34@4V%rAaTK)aOn#dT?uzCPkh6~qkWZC$%vKb&*)CjHn-sDIZ@-RBf`u{C0= zvutaTg|Bm_)zLh&-gyBuW;AAm?6ty}H;D9CXigQ@LQ1R<>Vs@2=%6-mKGX``SCa@4 zd~82zt2F(vQGj{7ws&uxaC2)F;UOuK;B;@k!oP#o^^EiR*imxdTm0O2Ii3G3M)q5) zZP$iA?cr;cCd<_B%<39oF)q;itN;>JmPM*d8A-H6Ah{18c3?$2V)r2iVu$*QP_zX|Eq-8EO`79^-<75mk4tC|L={h1;0_>= zbz7{yNiAX)v0SkO?}}22C(46|NM}ur4UFo-su|y8wEF4rx*4jfqY??bq@#6EVV+z8f!-tZOE&U;qP z9<1q*)23t=d)Uj;BnP@Udl5Ms&$vvhlV?BcTDF&CJf97%w&i{rFUCp$rI|zRvZtq; zx%tl$v=D{Hi9UgXj`7GEKv;wBtTmGM&xqGN72W(Nxzq-;?oD(yIE&3g4{W_QZ z|FHK~L3KX-mL~4*t_kk$1b25&aCavV+})kv?(XjH?(V@IdXxV*r%#{mKGieRH#5~Y zn<{ouP{qZ5YyH-Go=>a=!Y9^(3A>x7RajIUkm($I2K-!;%RqV|HI&5kD1iCC6+!nq z`cZAf*Sp%ERNR+`*=M+x-xQgxg6k)}?KHKeW+CrDpy53qWLB!+F8^(A<1i+5=b_A1XvnL=(GaC}7m+|2bYrw*XOY6p4j{?QPzN_*Q z>A={F*#A9vRRL|9)Ws~o2fLwc*IKQOWnm~kxmA7&GqdVwPyo%@TpfdG|^;)ZuX$)B+UNoQ5bMYWPq zeHA3z2Y9?_te2l5%p8 zYKyO?q9LK8Mfe#Tz2Hoe+zUaZ?&9_AYQ-jdvmnm$KTx?(6e=X)EA#xIDf1CN%b?#S` zDNZHKg`>GxY+pGWf(b~jP82>hx6w6Kp zHZ^x;o`Knnh^pGQK9Xg6Rn+~mO2iTq$hnOvI7c%JxOBJ4E<(AU2BM3+hTHlI_QHe% zGj(odGbZDL@m^K}G%>tHO1ZKd>uz5V3H}wxun)Ne|3TYz-J^7J4w0=I#`?%m(}$ln zPePsHA;?a_7q!8S;WS+GhX{8QtB|Yu;fHvSO+e~U0S7ut{yiusv?7{edI~2Z_DL8To4)Bl=3!(S@v3?d~~)$}N!*eKvP` zH<-@I=?M)Qv(wDjzukuq5f4=mr9d$&z)X{f>W>8v?;>m}dTfI%7U){DK$r*WyK&$4 zeiXB{Bi8&=#uy4y_ksL9FID;%gGy{YI%;j~t@8+uL6-BW|M#2$Q=RtL*)cPP9@8Rv zL5TWjy@l(g6YTxMC`=O<<3iP&2yTbKvzUX^gF+gI_IakoB<3FNgP|{ijHMK_8Ky`y zY#k(VMcrV(cJU2rA@&pTr{gds#dP=XcLNG==?NC~%L9BR78%Ja^ulTM!5(0pNk~at zP(X9;Ps9`DGDHas%+Zzm_NrqCm3uKK(g2awXkGH(#0nMms|}TW~t8siqSw{}^vLWKA=uH9@P9dt;Feen& zA1}nA21s_AD7XA8g5=l6Qw*9oD{gqhj@clYSccC#xZrycMymrru=5NoWidaH>rY~3 zxvfpNY*dl#VM(K^!W7$=9>f1NBI?Uor!Q(N>Q99$U3mXN$k?|aw~Yjm|^%#Sl z!ldrv_%y-F8lRFrdx1_t6E>l4L-)G<7T z-DYv5b-0sP5qyGVELg}jdGB-8wl@a~>_%$Z@4wu|J*GUSiN)h7*3Kvq#t}3O(aR!7?^5lo6$v|Q(WIKN`QGrFw z63)iOh~A1fyiR#@?>XPD>;p4Qh{Vz3J}E8HKxOW_pGXBcwb(U5x(*pB5TYfq<;tZC zZt|~g9&`X@W0!V0nMO>Gp#0@8*Wk?$`*Yv_VXXyEG&_tAA)&EIS2PKXR(SE=W~9QY-VZLTb2P^#OsUX zj4CLL-_Z>v`)|xlGZlx%0&&4Js^r|1p;OO{^c4=)46dvi-rG2-a*R^OH6e(MM}#&w~V9e-~IIC(RXEjOtlbX(Lpm z43-ZXEzQn+K<-z+CkQ4NxKsuAmu>j3OCeFTE844c2-Jrauk?fUDv#DXQc;^2l;dei zAK0opg3OK$H%4<1Dz65WoD0q06GN>AF-4reb0GZE-0`n7|Cq*ESV%_lR5}-&3A7s( zY@D|yZH8z|*fnods9!bZ=4@TDQa)!ZamKx(nzzpFaRZr;?!pwAi*dQiGvSxn*2$EhW=b{t!b*!wYhcbs#KPtr%*vS@#NkTQ zQ?_Q|rH_Q4#0XWca9!8Z-k-c%#g+D%b_6D;f4cJ&y@rs(Rgi z8`8huYWxxb)lY8mksz+qE>4@665Xh&=G&x=)R;1ZDsb|C#ba9EGVw|qlR78;&hj9u zN|d_qvQ}%TTgPu-FR5Iqu6#oq=ZNpKE%5$RKNBshm2!^;HZnmRI4(~O*opp7q+g)18Lg_j;t>BD`)Fg(_)La6Z4+G_;fe&d9)Ko zw6jNeoR=jLbe`lAHzJ~dH+S27byDFPgj@vG1ju){)j}NOOpE1AEiy{AotSCN>=+L% z1e~c}F{)>X_qp~c4+CI%oGPzyH#0V(NT%yPfL08vC(udCZYA^8sM>4db*IPjB%5ip zn&3zBO)ppWnvr{&AbEliox@k=y$XrN=`ZLh zzDrIj$JVaVbnatPxS*6aU$)sWzwz-k7Vp^uesXyK0`ymyUdU|_#__77uv)(MNYWDK zv+5t&RN)(64_)KV(TAvn5(-a!MipYy5fvcbnQZ}C$0D==Pl|AhJ)1G;z=SD!%;#~# zOQ})`n#vt~31P>E6{hJBuy&Zs29#)^C5eq+n-)N&CoTw&lAb(kvgMDjToIzpeqbTO zV);S@uJuINJ71F^W1*8vv$df#DNXjjhuF}U;;R>1s!Jx&GDOh?;VTh8{yv5Kh%BqB zCv0LStUced3291yST{aBetGBKikav|#HqAn3Cz^h-&)pBW+Av@aTdgr zC%)(dNg*zK@Z|9@hP0ZT3q>ko_xgNxw{P(r=FM2`^MywxZ(4m61NiMscLd^hYbyGW zs=6FG3BrXbMfbF(q3u2w8(&EsQIY(U8X3{7U~eMU+aM)860Y3Z&>h!}OVq(L$wEdi ztNZ6&^ddR79fc zA1)wCmmLK-yZQtXM8)JA_0sXLh0v{jr$-I)|7DLfW&}U!BSz<*o)+i@{&Pyogp@JkX8xWZ2Tt3{kjP0~aPypE%FHrwl z3q63a+kBTTo!WrGhM#AU;u!7NH^H4u`SN;CFz&C*8|C4)!G-s@U>i=a!8BvQU1$&T5hEh&XrS7-FhWlD%~ zci-m3kOzvh0u1kVFOJY=Qpf)f6-L)2>kTLZwVg)ErA8-1#1c;CXb@{5AuUG zXm=-ny#e%s&w9Hp8ozWm3!9eDnF1~i=!>Q(H4} zjoWDRb-~$OiY3P~8E_wR?jJt7(aDrIp1@f(Cz5+Wg`6pNq)8@z6g zJ3P6rGuc=$lqChBM$#w3tC5JRuQ7r23w0Y<0&y^Qmgt%>`nKA#>30t$}yT(w<9NA9XjNMD`BP_X4vX2cd8)6Ex{%noy!zx{`nZn*@x z>Z3E8yfniXRG|yLEM`LzXyXV7wTRUnO1G!`0j- zgV&_J>f|-PrS_}gvn29Nza6fmi z6ru~6D(Vpy>EIQ>mx&S)h{{V4^~_2Sye%F5IAbC^PMd1ID{l3khoB$FFz_jgvf)2W z+rsX)3Jdne5JcGDUq9Y|`I!KHdxHU2m$QDF9^paYqo%OnPY<0f9+fh!notS4;@mELZy2J!CVa zB@FcnJ$_MwiUbO*L!fSxSs(|HNV5N=&D*^XFB*bA`mbp)R3bJit5de1@9KuIfJ? zlx9qD<{H)i!O+ zCnKlF7Dl8Sl`C#@|HO%US z!?|z>C9A%_U-8p5cs^DjVEHjoFx~AqCF;8!&NlnsmVNz||JTaCHy%&_N!j;QWRo5? zZ-ps27&qwx5>jefFcBaa#J4}tx033n+4mbDsDv<@8vJT8n6*p|s$VGWPung9F+hMF zDXUQ}4GZo`EI;NS(m6qsAeT#16x}==WC?8_U++9*iO)KYY)-}y{+p8s{H}uZV~cLP z5sBMpuk{P|R$C92#%{u?C|Uvk;xHI=(Z(?Ds>oFVX(oWbHqe$A@X22TF)t6y1RKdf zmLTZXhsNqM+yLp*D3k>|nezcHc8c~k$M*&tlw`l3*8@tvOLBn1ub+=o@^3DG;1e|- zez9%gEfh-msmEbOs;;9tN~r&~@0-O%z%5#|=j%Tbss5bk_rIs=Yx2tZ|D@`xvZ%O< z;9Tz3_!93~`e62c{>7C{`h4S6t8sNj&A^usAs32>vg6s^$zJgNII7pWF+>+1%Hc@= zk67dC26u*g#bllk`CjL*@CYc{bkB?0VexbgbfaTGapuYzj8Rrm+Zx zHdm;B&q-JR|34?Ov;3cP(*HRp{hxEv|EJDLB5O4+t|!k9qH(zp!x9e)=GLDFB>-yj zUk4@9e;t%&|Lvee|9Maf`RAZ?{ofyyTK+jG1=h1bv(&d~9*SJ-`r}_>B%sm~vbs*< z`g6@hleY;Cr5SZeAH*yk;{gAP_#tx1*aHm%Pt5=^^y(WFc)H}EXfCZWdAgTBLalU; z;-4OK5rv+gYDrgXmNCB?659BebT(<}be0^9rl~d=f|DAG!iM!sVkmF1ZzK~#KHeJ~ zrOWD3&Z~s6zOLK3NvIb9xQV>RCXgOG;||?e{uF5{={6SG#YZ5&sQQ6i`CZKHsef0K zhf{&!nCqbLE^HH7VfoEBLtOLy&RJ)Ad-#_VX;hx(LS!I023oRYNDs0c|4wuG$G(ZZ zUOkpjQd@DA=N&W)lptZsvD(G5{(nWFyJlxN8-Y|yJ zx@5qwFotr6H%y-nQ=nuW%}mPc2by&sKkFOP|h+PK)EM@~taOhdj$ z!BS3rE~q-{0Q5nNQ7Qni(xfjDIDPC#H%<7Vksw%~que{ok`dEAPmNY~xb)0)#QP5MNk3mFs!Z=dlgqDa9j3nOg*A}Ca7wzb`j4i7V$eMjJJY~%W z1gVl^`5x@iB)?y+5}s-?ZVm@v$n!ydGx-v%LAeuw>Z_2@<9AGZEWtjP9Glbh=^RxL zpwQxz4I!(8lgQJ2G1Agh#~DaG&||fAG|W89_w*!qnH=CD^Jv+g@?Uf$j)I2<<|$;v zYRD?y?7V-!JV#q5-_x3dF$H9qjclV`fGpEkE8Dm=uYyY}nIRa+MbLcfxf*qn^V0Jp zeP9X{hb}H*{htXiTCh1WE^Y+`@8(?<;l$|x?u>Fr2V7CTB{&OF@EI-(VmMGxh{{_> zC68lD8!;-S^0UhE)apQ`U-T_wVbemjUD0C4;>fEuQ#=xFxK*q#1o}dL%#_8YbL^Y; z*j(Vu4k)BUE<*Cx)9`6mW&3wFdtKDas&wVLT$IvM%+h{)R7b1^lmS?%T{b08{Zi`> zSAsfC9h3J&aanVwU#TAC)JT)p+!s1r^ed#znqMo_Xe!*&xflX5di`FXe4U^0BQCzg z>tHVr2w8wSiPC1niFflmAe&`ZJ$lFH>%hZ;g!{y>v>=(6)c zxSGNp#12H4_Y-&mBj8*W2@gt(m{~(!yCV3VM<3K`)uB-&$Tr;#bf?61)?}v%OIbY> zIaS!JOjPCd_oqjJFPmkwayJM^@$9eJ3NTeLzFpjS#fKEUK~7VIIaMMVbyY!v>wvA+5!vI?oRM<-R8vcr+gbr zuVol`d_1o3EcyVDIXSp8tv-5U!ARXxXz6M|l-9se(YEgtZLwZEuogwesQs4oIJpmf zj15qp;!rJ3DcS}A2aVHFcfL%%s^y2-?x)FQwL@<*lM@ z;Tj!qSw>JR);{me-wZ(A?v`WP0#N6UmpSd%@vn@V zls8PTtlAKq@mjEDHAEcfmNsub|K-dfy?{Rf8p)+j|MNz2mbTa}zu$=&lR-1QEufM7 z)7`z#(T<$;6~X}alQI{D|6C7WIY5}5<16J&l)lQ5{2dPkneicb8V4nNiox$2mtas{ z)9;dhcH!_qpS$o7tTX^;j>PgT^Gb5Xcu|CKVw$Mip-%fyGcp)C>@FfIbBs*>d$~evU9z6^3A_v%ozrewaCm# z;h+Cy%=O89x%m=kiA0GlZX9|xefCe}q=*KHoD##x?fn1F!h=6&;rPw(bANOsS@^tJ zK^fbJs|E~G`S1q+?!r_5wF@VBc&u44nd}$ue*kt=Fkv@lSw_pH;Nr~C_>SbrON||j z;y|-x8;%|ByIg^#$`(_cYe}=%305ir07VxJb#G-=4 zA&}>Dh9}vkeX%q^vnQ81Nh@AA&?pNMUF(m+G|DCaqm7)q@%zerG%b0`BOyaW#;cLvL-oCLYyEZf+q7v~_+r`jl4%kn!y)>1Y9Dd^-#x;=2Gi|4bTL9^i}a zOGlb^5kMGXE5T0l2M{Km(87Lpk-^o_fVaYJ{I>wmxg&hvov}Nt^ms@RgP+HKIZez@ zRaGNNUZu@Mw$}k~w?ov;47OAc7JY#9=(#gP zt%Piml=zK8){2s0jmvl{(YK3s6ORP&w-uY*7cPBMg93KiE2VPb&$r*+-uocX%8eng zQ$#@GW=;Q71@u!9n82M3&NMyCOEGgZNcyj5ugQosTiIvPPi`m^JzPK=4!W5NV_qAI zWBI;6hr1Bg9AMfT5w1XUR0Ejye6+s4y4#BwO-CBSvgfc5azN1riF~zhi7y8JtrtMJ zTaJs%@AWi>AGPaNx+l=Z;W9PH^i*$*EXs)pBnpm)rCfM*HywjX^nWWa+E%}^YOx3K z>WpGor|jx;j?m|pR224L%-2o~ygf-2auWtApn)_5)?iHMLc6IHb)L|_Z7}`(8x&0| zyi8BjIkMH!nrkklT;6NZHWcqJ<+F!gU%u_=7lZ9}wK*Hl5;goXQ5wUH>W%>G#kMLq zM&3|kpPNc&m0g8ePq84;((WflXpwH*3KcMvhY0(|%TV?xEY72sxy(~Z=l&7u z!JOy-gnBwXHpI>#!!8m`U2Xx4H3QU(5fswDD&n9~!KrJdW00VJAPE?fz$c!LC zPZx{{DSM+NkV3&8Us^z2j1?qOx6!OxbN+dILj4KAevwu9ejA*AG1+&`qIQr0LcD9J(F9SbdJE`xNlv< z%osC(W)*dEGu8N9z~QlwSlY%Io{}y_)a;bL43)eSZTu(=Ur4a7LO{jm~8wO4ta0a`0Px8%b6_f08i)(R$?0O}ta9ohNkXLqD2Qmh>Jdg8> zYt4ykhHo`eu$C=J%A})#$c2*0dKVAo=WAvRn}@H@>LZTvBRa>^)G)hMKCW}z_8YOf z-#u`P6B6mr>l5K80Jx-8Y3!NP)uGJGgfE>x2hYB}OmK~+Z?oBjkxFX&uL=X_#FSE2 z!zp;JKT9Yqyv)mn1#QUxx@gS?kXUbt;pBu?5UD1#Xu^QkzAcm7t#& z1D|#dUHAv#9%{KCEiYW}cXdCoRyojIms#@^aX`G>)u{M?@j5w0#lixcVdrmdO{IVF zPXsvf!dmHa!`wm6^bGDsr0Sv2jA=D(Ir_(aHJgf=D2noT`Rh%5LAq0V>;G^xNQ*Lz z(#0Tu(&^mwhzTE*$ot-*QfB%yi$Snlb73jIye9zEdNkWmvA=_)+QhP*#>;+s$(N== zW)lu~*NnW;6$8|I%|D4$*e;QI`3XYb@APjE9)JCm>k-NV3Hf1MxshHe_!ae>6W<6SS06p!V78 zZP8eWZOgxb`Xu-NkypIdx-g_72Q0KRr?@H)B&P%congfmP8y>*3rQlP1@OD;g=VOa zgZOVp5~SS)!8?v@3}uA)r>8WC)!I-XF4lSArs*Q6M!=W`!%9<8_s;zy033O8?nP^SMqh*C7)r0`#A|jxrQ#nW}%BY+)XM6@jz@GJ27 zDCQOLeF0g^Zpoi}@`(kWEzHoqbi6;O-2TledH}cHjx(Bw<0xQde`1*RyE$-X>Zmko z*)M!as`PN?r}Vz>TF(^XTM9M=qn(-gL2oO8;+FD)sN&+gk<`KvF7n0~4qXLm2?<$b;0ofuSqpr700l0JVzwpV*Mj1%kuJFAq5ul390qp)BOeJ0b zyC27MvGCLbgs}ZWd=IG0HS%>zumNRF@fzs6G>@7Jm&rBock~6%u?RaH1h#EAQ>auu zU@&*?9}1a3-Y3@(x%41tFYrLKHj zIJ#l5jB-b)-jQcLnBrba&?B>U_g}Ks2r{mz-qfRNZfgU{qSzu|Qer|Ab6~DJD7#iJl1H&P~KW0UoGUr1J*BANxs_Jyc~JQgMkCte={N@~NIJ;wB=sM}+mC_V;)XB$s& zh34h6e>|}dhMVr6VqL9m5DYro2*JTn5Z?*9JJ2ZDLohIO*B@v9E4ij8#WVQ%EvQZG zmDkdNurQYRN~UYW4=(EJHQdkvZ-6xk>rO?#OW96?!@cmDgfzK{*~1jB$|q2Whefb4 z*%r{)4b~MD5-q+tV&l;s3)C4*9pGu>xG`#}Jlyy|1CMGVioq>*vMl>G(OlsKf|!P} z(CciGk<{F^*MPl9R_7mm6stt-4eD1L$K5AYTxp8s&zR#Hw>kGa3_AEx8UYFFVDsm7 zSy4ZM{p!pN_A+8>qo~;?GIKM>r?7n5_Tx9_8t!i&x1|md*vVDDH(>XM2gg5X=d4*5 z`z$f|g0u-?*!yhCqOP58Q^ImtQJMTUJ29$u@s3wWDM21bK#hP$z1n)0G&1>@C#c-Q zpr(iigz2p<44JyLNlm|Q=C(%mpZ8~f7@~B%=rg37adL((WMSd~+U+7C05A{Y#f81g z6?55#+SmCnM_}kH?rc84V%D7g4t7m5JDayyT-LI; znpVpU9O3a!rC%iutt&S>PjcM=rz=!OX+FI6IKa7TlMPT6%;sdWz?VtqiOBtnCFCPu zRc|Z1`ezy+*%KMQFXF!+0JaZ^FolbVVaRj_)0@1mJaS{~0R#d~;>Xk8XoG3K{a%|r z_;NN1ylRQLL+Ap#VZjM0K#Ga6&Pv4}_fpbNraGJkv#OT$&5sB`X330_bgFb1;gvl_ z#KS6LDAEE1JAGnoJt62=s;|j5O_99pWyq9W5@>EmT>Q^}LHec~$wA>}j~q~C)xB|w z>MutYVjA6~2bXHsJyMIw;7iFUHa*uzsZol9OWE1xukbPw%cv{*-n=+mN#E5Y8S6wz z&*Jc8>Rwen{J?pA2j#F@7<5I3Ot#b<@;%JFB7F}SWlEc#Tu{hLb`GQvbkW%%F}zE6 z4pi2DCODLYrtuHemG2w~ptCQ2uh==@x>mNkp|Y;<0DNQ8COb5Zex|QsVEhI|IZU)N zv~hAkPWqmEP+~k6LgG+O*KyM7^_y&62E_Lrc@IEoe6zu#rBB_S<}BI0vkTjf+Z7x6 zCwW4~#)QXU`=u0al#9w!K*sU3CElg<0glpo3ZB`t_EG1dL1($DWUuxkb4hyRtCfV% zY#wkH4?i^uIIM&(lZHGQMQA_|XAG2*G|kIzVX`WR=^VarPZq+a&Cmcr4%?uc9GtpH zJ#8OV>_inx?GnY3Z8LL>xbW*jdo`&!&HZnfr&8O=5_fF~5k;jhlV-oO4j^7Zfp=po z1i)zSiOyxRs&~)BV=iUklav?Fr}duGKo@$V*tABVl+^{=g<*xiX#YOlcO+w#Y%+(p zOd8r6H|8W6jFvO*+>V6dE0M1Qk^^|7Vmj9rYIO8r5$?;~FH3ws=$B zFfnF$i^V08Q2A1XHj$a?9Cwq|g8!{HcTc@GH;+H% z;f35%Z}`~Lx>h1vYcny;>I7b>m`1Iy@LjOh*o%D z%05hK(1odpnGCtKWFmRmXi`$JWh+fL8D&apxGsr!Z4qltwMQj3^}~j_Wb{=sWMTFi z^^M;nJYWyZsLi2)RvRaYIa>(OKxyz^a9K8S(H6+N_gStGXpQb z%lTE}1k48pCM;tI;Ga&Paa&stk^dmH2s+CQe>IO2sUIfkl&l{X)T>-EjL`z!z-iE> zw`6-EHZZNO$Jm>Uz@<*NoN9mt6O(6?i$wbRyQH(jq;&GuIp8t6vQCyfalw$`=y;*W9H0B{Sa%yrmb3e+( z6$PBrEqOgRe+A+7#0p)2wVT}^*j&_wF`0WF^4*JW6wpKemYh(vS9J%9OwWI)8^iM? z*1-x<=diKcv(p`OQwz;EF|sx9pr~Ae`vKG6cr@-il|iuEZ8?_2=6?I4v%`x(A+^3R zPhok-mMO+KW`q}$lh`mu54{p3(#~sx4`1dv6lfEI#&6y0>T-BVeUyt1Rny4U4@8a=Gt^l?0QZ?Q#nUU~3_ItI({?F=zvK_m& zDDV9D9bU~=c*`#D6H2yq^-9CV>Uz$2gS$uJB;1kAvOCr3XBWIqk|GMxeQ+X7uT|yg zTv`wK7kW1^tv0N3_E#cEL;{jE=%x7-D$E#sQ130%N7gLgh^~8kHLVQAcANC-+a%7* z*`4M7h~NHPEyIez-g73I0gleK$(*v>QH#K6Y}L6>x#06D`bxGdG?7I(p8eD*psc(D`P@f z+5-F6`&A|X$77?NPGv{Y1@fBQFu6$nWiEa3%ElPGc5G;#OfMo&OCXu4GT3R+K+p8B z#33tFmJRRow(Lh=T_x9_G9;0D1a3#3GM${MFwig>AXinMY&ZSt%Cx51+Zt0G1qv^* zcHPa*Rpz11!Bg)|k2_e#@e9 zAfcFkH8n&vTm-3=?7lhpD;Jq}{5RLvY=^t3FjPN@Y2+sZBtL(VIPBJ3My4l}5oA`b za_I+LWtwm);Z7@3!h&k^Gh`;R z#^4vZ!sL~|jYn0w#$LGR6j z@YP56Ol>#paem{76_x4#gFh>1Fxg${p>aHO2&Q;&iL-Q{$}Ko$nC17|6dj3KjQofq zZ5o;RHPR7N@_q)+gK31tLd(C&kZ0?9#Z>!lT_L}K?|E319pXMw_WVd@O--9Y$v9A& z50~AQ!R`lo`jLUn_wV3Wd0889St#j=7*M)YRUdS8fIW1uQ&_5vD{3x@rHFDk2tnZ~ZH19$H#A5?l~*(fP|KY3$!dzP zjN5l7%+GFMXpnpf`iWqW|;6%4*#doj_cD_u4jC2xj259m*boD?|U zv4IlMqpYvD92PWNDu~ai)0PYvO)QYlN&K7}D|(kJAV_9@z)yAUR>uDewTL0_4&y;8 znmCt-&O)+PB!CLPJVS;xq7LLvLWHGWK8_WWv=`VKgPfpRc7=gU2hQviPYnVAUN zt;MjZY4*FjhCmunAVm<6en#G=K*)gzIs@i?5ctC&z6_yn;j*8U(R5y3iV6^4-%?z| z0$myz0B981!A$&+%u*};l~PyWGh6=gnJvFHGREHWe7^5elc@a#qD2s@=XUh!Eblmu`FJ4?Gmc*xxLcswEO4a+e4Cp9_|dlT!@u}Z4)`(Z4CvvH*{_SdE`5lbfF+?fT)V4#YsexlTEBd7^W9 z6%oLGrgCu9Q9Pz_3j;e_j?n0s;RCVkkseg-?6(Zj)iqi3*~3sDbT=Kt<&3|_xk}V9)297XO1#j|5cRV@;kYL&80WV{{VXK{z~Q?R6tA1EzI{Fh zRqnn!(rmMiRc8PKsrUp;kd^PnTCH@@re?2oDUt_+lToQy`uYm^cLOzulo}7oVX#02 zj1lebl4^6b#qMTyF0sX-C+|Y^*Ta$@3;!5RhJXLdXo93m5_Ei3eeM!VpUn9;ZLX)j z^b5-~C6)mgO(q-*fBvhTNT=#&eq=;=M!}_kHvt)~8x5Fk4BLrdCow4+_nJ zwi#OTsfwf-5{PVX@0tnP-aTtMlz7%@u1xqZ^CHn3Ztms&)lUxEhIB7*W(}Z+Wv50P zGOy&J-)4AfmLwJzaFW&I&ZK0+uSSD2{c`Y?*3uU^KvACB>Gq4fZaAwONEjJ_d0_+_ zZJ5yvP4Nm~UJQ7_lvE=^ELbxK)USepTKu99sPBY?SP%$30Rk{Drf++~2kPm`(U}Ghq!M|MD)TzX9TJ9k30GZ$FsKWMUb*bW+)qhR6$F zn{N-|zo2Ce2Ld;Qb@c7g;34-Ke)2AmVa?hKa?!`s6GTtec0YL+l?IEkm?I)Mnq?B; zB^CK>I(y5r&M(++s+Y63_bfjrbj~Mk8`iDQiW$2RAtk_&FdsT@W#z6uT5^llE7B_O zo4FmAKUS>ST_(voFy+suBCDDncA;Xv4vgx`UvgGbmlNvoUEtp%I6WZo#1GLXu}a{n z>5o4QB^wKUvPiLYKr@KhF_YddBjDZ00ESqy?;svJl~+9M4@bf}m3;0>g>#uUNcBzZ zjNQwnYL8tu@1hfLYg2aoe$S1#v%~AtW|eOTFXso?w;wGE_`F&k?OM3*xDzAVy!J*{ z##aX$9l8%cg_;~(Y8wS;npzdq$;ntU=EpIh9loC~_BYpBeyy2!)kwwBupy(7i2*VJ z)yyDsYc?y>P+c<{$F41FntkXAoN1cXWd5<;G`phYQQ0(0ru5-#!1c6YS2$kqu^4f3 z6aau-99xB}vYX)nXDQH+rRB?FFQ#&jrT_%7u!+n%{uBNOrU0HP@?-OD&zeR9iiXKM zjZ8!tJ8EKqxOXk_NX@oX`=XX|8V#FzW)?^A+VtaU-9{^%$9n0gJH4rV;F|+#bHY5G zmNhL-`m~raTMBdXN$U|HX#Q%`X<$cGr=)*u*c4LO4^2*&E3*UCFtkcs4W;C@{wTm0 z_PmeqH)uw7jWKbH1O&}efS{S)dw%62-dSysahKuglSG=`R1EhfHO}?AzfLc><#qL( zRX*5plQ+vNiV(`7>keNWALyO6mM}7*H>tgzyC?XKD{Qt>!7xHe^piyTq?0r(!b=QO z5%cdzq_3YOQt5w3BBhDebVcEo5|f{#oBta$+v^dZJ}|Qjc2Cvih4C_jGyEaLlo!9I zHUgaFgh*_C@#wBL!p|&D_G|q#=XszU^Zvpv3<0nUqi0}`WtQ;%TYpNuMvht%VfQL| z$Gz2ryZowX7n`#md7!iaMJxbz!DUPK7}SDI5U>VB;AN6;R-zd31^AiDWhfpqex-iL}@Wfojf2Jj<-e_<+w`) zIAWay+H;)fXg(dW6vg>VXe#OBpF$IhUm;;gqX9&=n4+5A0~#y}7`BXwJ5aE5kD+8O zAao5m35wn*k~UOBORS&p42((2`%#!rL&>v|qW=ltcZY9sGE+0-7Qkanq5Wctg9R~L zcCwkWrbv)yw&6?#3UctPB2VLia5rMSTU%t3p#%2K_q3Z=fpE8YsRW|iTMFJyy`b=Uc z`{z;sB+~i{%;-Db$S7@>J_n%hZ47=xZ1`WB^7nwdk|(rP&eKOBy%Rhh1aU+FK{MaY z6hmDT2-K}CRSpd>(EL0+)33wdM>asoeA(W3E)g=4zS1MW-cjyrH4pGJhh%ZUv(@AB z+7q(&;cTP62W}?QB{##E_%j0@()kkFw(lMRIr0dN3jB7Y+^P0mW&ojy4nSyvI?*r4 zY)ja712J^$dND=NKUUtmb(3OCX{uPI-TQUP4InfzzPZF0kZ4#@Xsfh>v@=`8q!ADS z2u)bSb-x66ns8DOTl${AM~cu9+LMm?)cHg|K}zsuDknR#R8=zXD=NV(*$G+Z?h_0u zz#keF$K&7;z4{I3R+!|aMjl7%^CZkD_oBajo8oE^Gl2ZS#3o*bS2e>&zHf{a+(dJH z=PRo7Vyu)|B?i78By9P`j&o<8`!x3$MJ~pwSbInD0kmwap?)&xIVc+%p?x(~;F66I zKa=%5QxtnxT#%_}hL6Garz6evy{<o(#RFocpB>Kf&>+jOtDDDHj>Tw zID!66o&MWxuUO$BxN~5pqYoEBe`jg(+a?bDC&_$#%S=4sbVY5##T=Pwcb7p50gv0@ z+8YI8KRdPR>icuiQsuZ3?vkhL3Yin|W#rVUfup3Mma9~A9Yr;MW!9d4DJ+{hkpcm{ zmL&9fd7e>m9h1%6;o?nv9Ro!cDz;VK@mo*GJ6oHDq86fVBSP@$x`EUZC>f)`-3E(@ z_TO#m{<#~MLo(rmdKiA^=rXfUQsyGzGm&fl$AbJMIe1bpj4#2L%U{mu`IR0^p86aI z(j)C z>puC*lilMFf{1~Q{3z>dlgs1Y56d37oVuX~GW}vQeSdULn5x)?vGdE@X;*zn62vrw z-a8TxQ-fAJX3^wpM%7Y^FGhW$U_*jzUT1|wuP7e;L0`86!jF!63U1`6QG>}Ax=|gx zn?y)}@h7`Vj&PchAuy+lw&(1T8XWU~5KKB13|vAzK|@=vhokE&%73$7%y(Q>NXD8a zlGc00(V8)pKFdQ+6+)BA+R4MmLFE#K$IKQO(lAen^uy+YYlGe=fwsOjDHUC1h3W;N zG8LM2)|cLeXI#!S>i42GX8^eQ6C0QCh4<=y`gM9X9g6Ij zK)0pyHcq~;&**3XtQyhvv!@(t>K%|wo5ih_F-%JXp=AvNq?yQLgHqsES!_N@>&0tU z6es@WHt#0m5>b-Uys84Ew5=}8+uMc1H!{9TSuv~ijXdTC>&x(8T8%E8);2giOYZFt zH}17sw=9U0YpZ_TK~_r!fX1H&qUn)a%%16wtHd$Pn9a} z@-)YV8m*0@$7#em>e+u`@2#ThY}9m19D)UR2@b)7y9IX*9^BpC-QC>@?iSqL-Q6L$ zLobqlOYPdHs{8cmzN(uHMsl&n;O1N3%roD4>eObg6gB`WMDFqqb?Q1J!3UgG_!{m7 z%Yy}j6_{g|zD88W_uaC7N+9fsUmQ}Nb#k)^h(>$@W#IP}2r(+0TrvLXL>P=Bw&3(_B{?DNX;pX#V)g)fM95$;~tKwTwjt>&@uw?EL&cBAvOrlyOhG zqxA&4TUvPQJ8kmnq~oJalWuKMj<}>|g4goF_FVi(9=q~aYik`kV-7-3*ey{VL<7yE zNeqq-b++{>%;svaK5*dey4G)VI zOHf22$Sj~EdV|Nrl%}ax`r_gfy)@NqL*Dkl7Q`f`{BYK!tw~;gM>;KHG5KgI(;biW zaa8pl{$A_}b}<^eQQL&#-_aa_HQtzfQ<8&^O5(yPw_qLNU(pC1`o z=I4JS9f?0kC(>=>u6ine{6n5uh>6y**%=f;Y%7vajw0^}PI^|ZnUL_vFNrDS?=`N8 zr-S6vrRIoRF;!l}rn%O$j>7RNfEWz+YLtJ2JckSN9V*#qTrxrIcpogDh`KU3*&}h- zZ=&OYobY#|lk=PCAhF2&MRb(e*YG}cEznX7bT|f`uYfsS4}*>~3F1Ca zjBh8rAmZOC^=u+Df}bw8_T-xc%9rATj^AuWxdGXsCRq#!IoN=UScju}95F(^VsX?9 zJ%VNY*UTmkDUT2mjJvDGLJv@v%m>W=qoE$a)}Br_uKJ_K&j&u>CvYejGWS^YxNvlNNoK zPa$wAO^Bf(`bIE$0joT>DN%M&B!p^86p1efB4`MHvL}XiIdPDn+b4&7)~E<51BIV2 z07p>qHLBGFamJ#XnB?9wFj5$QGBASg|8|5)jYPAH5;+=vql z@f%Iy1W2G<5O~ayAUl5Wp9zC~EBT?SUquB9pp9636Y+)Fgn$YEzB}r$ z>uwc|LY?=1cQpAduELxmDc@~kq1QwPzLi{s?R7;H6M;h?$!t;M3*GGio!wA~z7oX& zjJHl7|1(LwBAaA&7QX>a=AlSbY-zke!EupFundE@HW)Q9X3^d017s%Bn$Q4Tev^0# zu!RzN)a=0F^dO|f^{1oR4}8!+Y#)~{B&rUB^0j!0=xL3$kzvW>d{m2b$-FOhN(YgZ z83A2cDm5?S;}J>TO+Z(c=~iAQ9MF+0XIR$~yQ3ec4m0d!^04QX@{p%}i^0{MwWDmPQ}j==DN@NmrOa&rWL z+_|5yf)I&z05czkit5Msfk??l07y(@Wa2&u=IigVA7d0??1%2n0xgpyp&CmJYn8Y+ zN^&_!;YGt0LjR%H@crg!4lO+!jBpQ~3KA5na}PgO#i0>6gHnDp`yH$MfzkBwLfwwP zO>_X7shqdL8IxnQq4e^p;Wgmo==AdRFE++Imem!m)O$_dIsuNZt+hy^uL&5mu6(WgKg(-9+#VVoi+I{!v%gw2 zm5OdPBAK=c_c3BGVA$*qpaVu;ICcr&Z)y@IJ94?1Ol8l% zb@MIiZ4Lh5k&ynW+I#&uJngg#uwAGzou9KeMQ^s1|Q)?jWzt#p0^A#I1yV9?kzdll?GNkTsX=D4_1`M^a!t#0 z{43G19m@Nu_t>)@?`bSn>JEdAe9P(Z&(_c8+h-0>F5BN*ze6gicA;n{DNJe-f~*Fg>-~!VzG`Axt9UZCayaa<4ap1t)u)!T4Y#Mu98LBIa6UX7-o3azpcvK}T z=P`r+{&9zpC;HQLXw%3AZmU}(Aqa<^{FBjtHDz0?0;Az;$-TV3H3-ee;qJlMWFykO zB|i-wCG(h&5~mGa(23y@#|^22tw`kc?V;&TJBY>|D4KDAqKI^tRKC|>$W29R@8~cUKHB~;N#qnn4CFsa2STn!ZV9H-eX!xnn zeL6HSjDfKXC%>w6^eTrCQORsmrW`;wE`%tF0gI8h7Jt&6kK;rjSK%yNprw50KgWrp zh(7?IP3N&cQaWOm#H`FK|2!xGAVB(mYs!`axBp_`froh~HV-LJC;W&6g9I&YzAdS} z{s;$~4Y}k$)W&?gWDB2I$C=Us`o6o5;OX^fs&Xav>5`)Fpaoc<^eCY~@5LzKbhO~b zYy-A_U*=zT#g)jhKddnt^xjz0B=lYpXu5Z2h!PV^>9X4@*4fhF z11X)Y!Wg3f?v37$2y{_=(XFaN&o> zAjkMnKMBCtZ?wbx*BJJv!tEvjR}_W@c;9iuuKX;~P8+yHt$jcZCUvx34TEgaMEIhu z9=9hSP=f(O1=L_>>0F{ey=LrY`Bi?Xf8s!EavKPzgPelk-@_-qagx)Xn(SyBi+gX% z_QO@zT{YNp=y00zbZnY=45ViUvH?8gGJ$NsAy%~$h zS5&Bg$0&m@@w32h0)yh@@E3r23lD097ogo39RQQJ4XgA_Wlm#lx-1#-%lJ$R1(QvD zW?=L&itnu*nXp!uJ-c7|) z-q=ey8ESUXsMU%?SrvL*JI^8cx#JFLf_%H0yUL1kT%OK#T~5U8kNB@5eye;v2XR9h zw}|UCgE}G45}PG^*h&m*3QKK|ev2P-J8G+QWsA=m#^|ohPmtV6nx~kQ9kB=wrMsoj zLc+8+B#ZEHwNXEtL~}C?_{%|L&^0%%z+W(E>owmaJ};9EnP`2*bFWoSwLh>=Ssg%; z*QF4iGT>p`Ok8+k+mSp?^3|K%;(kW=rJT+PX_#y698p*$9is2Mdpm5%L@j%A?Kl z1Zr~}q!|Yk8XzJ2!Q;IWbimc+&^}<-!}!EU^qXnJng09JuF?t!F@n0F@guy&?MK{iR_V_vrd<`MQ{^(RiHvZk;E4SPcfG}Kid!;>TdSa; zS!#Rz%Ud&=^~Fr?O?MKC${E#cHT)8}R17zM)-PpMn{XdMNoO%#xDM;s8o63bt-~?D z`~)EwC*Qn5voB@m@&HNyoMvZ`o5Zays#ph%k+56<#5kf%Sdy7x}SeodwmhRQp?C6flPDQ z+PBb>?F%PZCA~b7+PcdiHFCR?K_6DRa6^ z-aA|<2K5IdjPTe)wPGL9{$79AS97A6D8iVpdJP1F<{~!OF)IPY!2ZOG0ny;OCWBJ> z=E^qM2`iPA#MmE?xi%HHW2kt$w`0J8Ma`08eu*!WO@1(tY8g?Vi+HT!=+H3xsLDvi zPzh>A{!`0@bMJHulB0mB&)`QRjRjrv>xBCy^){<9x`i(F?rc5c&`pSp1&J%R;EE8U z;a9{racrR;-xa~PRyg7@Hw$Wz;JZlJa>AAVZO7%T6&Bc`cq1V!nl43&{>4q^jG_c6 zY29uCGjn_o)Tm3pv%A}Yr}o+iz46o_>k=#vYb)EC@htDA!0V|@=<+3>r|a%3AZk__k0$F5$!*@un=Oqyn?r9DTr{iU(I1t zkZ}Awg_V)0tBoznMAou!O*8izi@Bhe-Ih>)<;Bb`;C0``bRZ7T5@5Go;~gH29gVB& zy`Y>7Mo8;NpYUz^ON$ZV5=(L~{&pSfm3YgiyEso4B&-5kT`2*3zKho90mY?PhXmtN zEiQ^MI!Ner@WKu{WJ5lzmb<06cDw-G2)F@DfyVhfY4c<4Lf4vlc{A#+5wg7osFbok zw?wJtNv9H@^8%l9?p>ef{K-33Z_xbx;$RIaGil=^?Yf_0{%K1`_aw(ok%5;G%)Po0 z(`>7+Esxh``|CbfHD;Rx$++qp$*(=I$yrqTDxkxfyEW*L<%icny(LsLpPe5qPp@(U zU!U6jLAfI{mH{{aKU(|+|z01ZOhxL!>6n8=+G*LIQJj@rawcqX(qr=pxw zGeM6F2^aQir()_JEv$4`Swm0%Ygl)h-s+A(jQMFU*0W8r9X^|58`9z4b(Zz^z`zY= zdo$C4bs9h1u3JyU(xRX%>gN!w(1l+q0g_=4hAzYhvOv6h{;iB_eI9VmghA5A`IE;u zm2&tyy91%)PdZPgLCUvPJt1gSlv-AXgo_pe%2sYR9yazm*OO5bL#(`Qz?ckO4FpoU z-~?mZCr2=Ynog}Ws@HBYU+t+my*<~t(8?dX_FaoyF5%BT44aeofS=}kBk9eF-c(?H zO!hf`KKXGvcFrt^Aq&m)w~CqW7s_7SYA;uCj;qi{LXP~XDs1)G!xQfZhg&m#X@pwg z4;^?EVm2XRyP{CmmCnD(sY-R*5uCMuv7>!KInksi&0i#O&b=cLqF8K>9Jax4cpZ+J zha6H;Vff+}dE?!apSdkCXJ4KEN#W?4`DNp_p<-^L`EBxJYrf>cIS@BrrDBR&J_Q$$ zu<_OwkbCec5L|-egkJtEWritYQKkf$rd!K!Yn)YQoRMVQ6%KN0@;rr(MP;hG3Q4ht zL)1qu+8DdR==H~c5bNt)x8l=(N31!sxYn5|pFQFd<2CUk5ucU4(h^baLci~%G%kzi z6BSFcmz&h$_Cp1^1vY+Z6|$9K!plt6*6VroN|SdJK|Ezl;Rr{U&WrX%%p@#bI#B6* z2iBl^?6FIRSI6^*5PL04Gpf~I!~I?``07eC=aTDk40qlO=4)0ntbm!VXH5KRr%v_C@-G$b1% z1Alb_r{E5?M*8xAceXWGv*P^x6m#eN>c#!BVNLJQrS;ll%Mj$$0^?$uW{4oE%LbMGeNl2c0Um+eE3D4x!)vj8~Y|_yn za-Bq-a2v)i`s#I5S|bR_L;CCb{X$7H%j|u{zyl=VVDm$3twZ4EKaWA;X873ae^Kim@+2j)dbO9ZWefzQVDOxOQ0w4Ttv}Q{@jp;& zr$#UwdVc`5zMU>6K8XKXHJ-sJmcOU3PlG9sNAgKFs(FH#1d{`>Lmd3)9b%_=9T#AS zc(VEqtzF4tI?=FZJ6sszU>i6Uo&JK>p8?Ri9ssQc-l26W)H}4E%Fpj0D%DL_A%Kxw zh>Et<;btoql47O$qT?_nyljjX9>)T&8Th4SdTMe4z%J6|q zCNYw1bEu@B_M+2J#$1wZ4k%!v&~q^y6gJ*pY{Z1=K18Ct1LZPwgIPo>ya+;7nUleCc(7qLg^<09yfRky zz9TcC`4k9^A?SiofAseMG(o)nYl1lIp1HU|IP4!7`|`Gc2Y(YZ4Jd5|Z~H-zY)k`6 zTk`t6IWIfYZU4%;?Up6!U1R}*`;Xs(`(bv6em_Fuj8}MO;)OcJLHQ17p|>-MMl+uv zy^3Fy+or0FZP-AAGvjAjUb%7zpyq08eGyrGkKCCi7OY_F--5gSXs~&DV>B)aJut~% zin}3he<-9)t?-bymozeDAR0K2Z6J9^gk*9)Wf`bffZIQABBnR3yUgAfowQaBIvxiT zzTZSlLsbFA{YDw8$rr8>FIb+{SH>Mc-hsuW;w%vZ6cyi7<|R}{UixKPQC*wndU2eg znkk``;B@BVu|SttScZ&ax_WVrFN*IE*R@j)P+&HuUdi<|}NXWm!F22NRbK-SL+uwH)O~0){qKi)Q zrvUCErXNZ@{8d5MD23Ra2n84*mF)vls)fR8(j^CY#&u zm%zwe5LWj5Q9eg$Z4R9BX6!l?7!x8R;;IW^pwRhQN=FBxSwAsMFTv0N*>Tcgv`>TV zw#YKqLL#4{u%0N2`nWNaTSiglERbPKUs_S-Uhy!LAt`=VN^ja~J%sV}lkEq+LynV09Vf&!{;)32jg+Mr40x{WvjMFkfXl2(wH0yMqom zj+jbwd1Bo166OIoj_Bfw#l2tdVCb@J!E!s3v=Qh_3=$OT`rW0l@ZNJ(cE)0U^xM-4 zZu5z!c|&T8A@Vv*k%N)2^2(F-*K^Ib6Y!gitLCZ4i{0(D?AM;XK%}PKYSQ3svC;=T z%xN>D#3OFbT+=LuoxQE6w^qi+nlrcgduF=x#h z$0VlqrRevj&!y21zn8Ym$iq3xn2^yTILf%{?m{@szx<}|=eUkbW{;k$MG>0hXJBb- zeMa`NeTcs>Z@PY}9K~6eHPxhj*iNa@Vw)B`kT8l+0+hDAGsS5~()B5$?f1r~W(Hgs zw2ec+Sg~`cu-j%_TLF%aj_>Y6uu}|KYjf$H4}|^#4@dihbG!*O1ru zx}0!Gv#;vzWCd;K{|RjkY80P5-;DeTZPl>8Uet5kd1b8IC#%mO=WJjVf7ARS zm_=tg>C-)Ei8j+U8pp>+jr&&2g^U6<22$)#R#jsMc5@0D6o>^ z%?k|jK%ka3fH&=SIW({^24WDhflZ|I(Sf!CO>U0&3_7o{OJ%7|yErL2np^>XWuj!a zvV?RJAcM|8$)5)aBPje=2K}xNPl$aY2M9!S6-z_jA&GXtU#R2R@Qkd)@U(pH%KU!^Td)%~tZH5m}^7}XF-+1^DnEoGkO+r&nw-|u0AoXDRsx9pL0uv}xwBL8*acW+efxgE zUYHXSs1JrA$ZT5HM@ z>ZdD5_>kB43_A3H_54B}@$U?JQ9rfo`X_gbFPL<=%dow>C&c|mHB?3!j%a1Mtq``ou2(oQh7lCMb%k_o{FI`Ts@T`1L>9wLMTVtXzM&{G{NOgy2aJ_cg=|k0EAhk#0m}1KJrRT8vMXG} zd_X_$+0$$TY^yXA6Y|zPg_NWDD{BpQ>%+I*)!NgiOssex$V?M_lnV6&dy5AFX(VP; z^f+vFnv|;$=O#zu42<)-i0PDt-6hIm&I*S0x#S08YZ>XYa(a&M1mKRdHS5gR8?XV61 zzH0lK`>(6EiuYApwaC`Yi7<34C}7nVcZDdoqzzcLp>8^Z+74ADm+~;>6kDnl_>zI< zSp|{x&NMLmB&ceAlWnaFnwG-Hs@&>lVZOcCB6kNOxdY-(&h|wb+UMm=D7j21_aq-#hF(|R2N}Gk zBIW`2`@j$*!`)A*q=R-n?}J8;wb8MK#UBEs9beXF?Y&8V6oyuGr1!Eopt93qjRx=J z+qKNUt`;1id++CdN}1c)YwMhG!+VYmTdzwuA9vGR z+>nk>HH=fPo{9&y2M3d7wB=KAoPK!h3eFolhwmAhwXb0$3T%FJqBJh{v177EFP+xm z#-BJPF33vu>tXP%XvNeLK|jtq1yl{*5X#UBq33J=Dj7yf{n?k{2|iW5AK4sJdII~{ z_E)noe7l0%S@;XSh|QN%$VNwn;|COs?e492D@5z}ES0gLa&fflOG9O4ad=+3l$2$r z4CHCC2Vf6)46*QoLOY+>PPcMdCCjypm+SQib$d+*eqgmL5 zUYvRyq#QW!uu61V&R6=y66;*ZTs5F=35GSMrUDj!RXWQEoeJuD@+I4P<$+#(&a9lkqMXim)QbN9n%kcxnk5S^W*wT=H|hPYb08?EwJK zV*vO|y69=m!_BcBsgCOKJ%G}@JoLARAG_QL+DC49h}DDq=V>8JqK}XuU|DEZoa9KM z#IWFM4zNY>-lj$Y3$fqJ!tmbT%fgw&zm|m`ELFL-;_>8M%{~Usq>ueuQd7F-R&UAZ zaCh|7GJbqxD4E-~ys~cksx@;iu<-M(vWXcKRuD}`gG=3=GI%`G1s`EJrpp2Tzi;~YE_rg0)(V(U!#ygWpI;Zdo@*Q2p z#OdwKfSfF_3q9Hz_J2GH#*`q5q?*0_skv7|vy7Xih9?>YTi0Qs1&$>Kp>}(UkB{>_ zi(v&G3L)(WcSnLbnY*^wSt+Dq*YZ9yn(gW#&$Erf$IPT~+y%0P7X4#05r8Q66KbYq5eZc{P;u8jKq zt1{|P_(vIaWBj9xiaI&{QAQoL{|pRq(*8a$eEg$~ivL|1J)dwTHqvX)TZDTPG2SQb zIO4I;K-OdLXf$^ZURM z!r6ve;eBBE%Kknu9Fky1^Z&00hCcvO=)5XG3ax0IY8jn6ZwA`n_y9uNst{bjyAdO$ zq6@epI1@Yf^5O2ii>gpn+ z4h{x>DeB4zh)>|MU;}rRAw!r`K&@OJdISC{(Z%AM5Uia)f=r1w&r4avFRSXeP{je9 zty-K<4qL3*d>`&>K{&4!Fr&P99;BL*0@RtD;@s?7Rk#301%Td}CxJ#l{Jjxv28YO|D0|Q%YC0ya1lX(G zOdV5B;UOvAwO|Fc9B@%^fID1Y7`uebruwg{xoAV}-nqH|e}`H|h2QfN$tSIyFCmbT zHdpxLzFyW!dT@5?WmGQUOb&`@O+Hu+j~F>XrZalG^r9fVN=OYLSams-LlWPt!J}Bh z)Be5VIeq)b@f;`vIYDNXrHc1DNkV4H@auXDCkvv+^F96$!mubY-C12>QAEH-iBtcf zd29H*_WzFB$y;uq$MX%YreNI@)bLIcBER+uVyF!};1?2`L}a9Sd#u~>NVLhY7Gb%D zGrl^pAdE2<)tqAi$F8Xwv;hS^qeB%|oB*wuQUp)KH;5joWH2>{MA$H{FRFUt066`z0c zI@uQg@;W2_k9nQ@z|GgMHUH1O&XlI-6~PQH^M=ex%NuSvQq*Ym~PNj*z9(<_D9^7J?qpx1IR_~lTQo;Krw%1zX#L0(QffV9MDYQbtNr*(QxO^9 zvW8s6PlZrk?YSKAz}R)FBL7qhUmsQWS9w=ba)dN+IT&dj!$YW}#e8;tK>A$zj8gB# zV^4@2BPGGE%CGTmTGS(-3JSwe1WYQbn`A9D+Fi2M&Efrkpm)TzmddV2q67_9 zo&=8;ZE8SOQU=}bF`A*0pU6kFkchty2%d#=h1q2Z0)zc*W@;`tq5B>M6Yljez9OwO z{w&Ktu&EFcD0}%STVaoI!+?;9xd9`!UOeY(h0Zc&7B7~j|9iw-NJSupT7&q0GmJhY zurg-VhRl`?@L;-rzj2`GgC>Rt6*o1ijajHE4+308Q}nHN%zw8b3k-y$4ka}wq~>?T z{FK%jQKtz3?5s-!W`Z@8bO?l|PYy@h8|(Yz*KZxYO0{y(GW>^<;Fv81JKns5TWq}^ zD%ybSg{timAu@o^_P*dSG|)HbuI&U#*^)MRKOorh*8xETxO@N12Ww^J_XC3SD~9MH zP@?dQH@GXSR5X6PAKP&SWmjzge2RUw-?@B~k@59N_x2Of?bJ~dBOZX!G|<`QeyY!r zp-ar$0$RI?!YQm~j%m83{a($#DDta-p0YgBwu&m_Be3ZP2@6*=K;yi?h{U=8_JT3Z z+&R+#j0|(Oj_I^D0+KgS9q%XUJF?#!=9f)L>-^@IYbc1_+A< zxnK=(falwEa>hgv6(otDWaa95)xfTRg&$iKGs2g* zPsRPQ(6JE^xAq0U4+vW5-9=8~TJ_&rIVp7etJvfxKtjD~`4k@$78mF?=VFW(GtOEG z@*sSTJe^$Vd=nHBsrOe@70$y~70$MV_VL75Q1w`GG&?R5x>OS?cQTq*lYkLBly*0c zTb3lV_T|o+xmz%HYbKnUDa8gUWNS-%rqy< zw2~ZCSs)jgPrzemlPv6UY!U_=S-n=dfL^O?kBvB1*QXpN6GW(c01iMI`n z^^mjS%HRw=f%a&3XCrZB)oG7=Rbu;cwpn!BW8;B5s6cUq$=?vOPYbPv{`s`l3t()@ z{*b+*kw4M^7@H@`ADo*vGfiv(!saCtf2TNk;Ptz(*_((e=mJ=;_0^07ou0f{wD^{P z^So^f#r58Pfk(}fo=^G`PCCx~oxy#bk89>M??Gzu2d?#)i-M`!S+Wri z4Df>Zc-MD?VhdTXFGQYq6i_+;D?t5JA)JO^0?rxva#LTV4gq=Q?pYx2^Snsy6W+GX znJ1o0x4_&;c5gW{@pt1d)V!+68*40PiJIe5j)jIyJ|K3QIm4$lf7{pPwttgz*38YY zQMBVT`ZxifA;5b7q4_WsN#*vy=EX;Bm@m41pj8S&eoZ}bNr{~_xuCF>Ba@o$2K(_OdlBz?Kxk$E0y6QD3G%A?R1=wQ?TC8t)7z9$(7d zL{0-Gy1WNnG2xUl~mHZyMJ|J!`T+8+xaN=YUi0*v~zRIl)DLt^#fl}2V?A_5^ zr`5-jy!hzt9?lil?}T=pR~e)0k&d?50e}Ft-o-zujUelgHJ*Ds(ImgU6+*2Qb$s2< zsmy|6xocPJPDP>CanfgUr0q^U7zkweDTw7_>SV}W6}0)nyjM41I+S`>Yl`3Z%c5-V zQKd{ls9s6@d#$LF_>IuHew~x}NBvspmxHp=l!qQS=3_FlcXiZu?iFQ1!C;PfR5oZc zsBeL)asubORMt`wMkqHS%trznqGwwXLc2pkKl(m7|CL|G^g*&F(m%M5<>xp}wGu`b zQ_=$AZ-TQMvRa*XoyS~?Pfp}&_coJFC6xuL{Egp1f+FxcNRSkO$lHCG&I~tbwf;mQ zc$var>{MQ~qXhBxca%V{p@eir zb!)wf&Cw%W9bWoxEk#DGacm)7$BMT0r=OahbBsqVH-_VP9&|?^JH1$Y2t%_61l0c5 zgOBh^qRakILZ~0r3@Ri025^4Si@_O+AA0yg`&$PGkn_?!#Dps9d_*wsjN`?S#6^if z45>^=dR%xT2@QWAd`QZ&_Sz}_(G)9ZO~jE=l6z#K`E&BOj2dlaL?r@H7r2>Ey#=u! z!lK;>um}DLB7FN$ru>Z3`~8}CQeNr=BD5`-u7kK$epdut2$PVZvJZS*yKLC?HON?Z zPU+&>U(DwRPKY6$sIG#lrjnSxn6sZ3KOcMQCyK%95^$%X4UEI_blejNX^AlLOUjWE zqU3OwdJf(Ox8ty#bf{5dtrrY2%@9sgmw%EJBSL9Kec$g+)d#-cog#s`5ZXXYs2VH5 zAZ1ELDLEKF@xWfb*%rZ~N9}f$fC=ZScE-2OY6`}-8Z)@ih zQH_a9-;FIU;JNrBaH|(*JXa58J*eEVTQ}Kw)RHSE>3$s>ZUK8Dkg+tG+E~F_P%r|U z?8a>Hi+8K*GwWnO_f!Y;mMG8adHUZG!XHQRi@)5zIEuz?y^hAGD`0vl6mXn>yE=7o zc-vm0ww~C^m+4Bm)h(CeQ%}odUA(l3V%pzf+saCu>RJIZ4YxQT6>&#XUe#qjV!KgM zB@Iw6mz5!aW-3My4x7p-fV~=~)2Yew?Rh6;M(oWop+*kBQt*AY;oTtOJQgar&k-L2 z_C65*!-m3$=6YJtzFZ|elCJ7UfuaEGb3kbf! z;gR5LSSm@AD{jbUS?JPmKmfu2v!^)rk>)>nin7!H;wh#A{Tok_V?FNOQ+$y)3Hp39 zM*4S8u|ECzh2y{Q6psm8CbpU%1}I7!jXea61y}WJOwqloXrQ%zb%6)I)%U@luQ!Za+|@@%4mo!a@&vUo=mj zlQ?aI5_Z%I?kY3*tpS@?PV$F$(U&1WA4S)PM7LU(1RwGkLiPugsK(3vqzEi+cIhN~ zGQ>rdrqUNBdBl9FZGTiq-~xrY&DAp|QnB2(YU+6jd~u@;5~fKm>oqkMrgCSt6DliyMj{#d zTsLIPQk6hQ!%QQU@cKQ#x=6lb*14Bw&594gn^pm^gQxrVQwPFxPEOL!RJCd{Db)oK^|ZR zrc7>5vH8s+4LXkxx%#G@E=>aVnIY%D20@iuEyv

    @@ -55,9 +55,6 @@

    - @@ -181,9 +178,6 @@ - @@ -251,9 +245,6 @@ - @@ -272,9 +263,6 @@ - @@ -337,12 +325,18 @@ + + @@ -373,6 +367,12 @@ + + @@ -390,6 +390,15 @@ + + + + + @@ -764,12 +890,13 @@

    Build Status +Last Commit Platform License

    Dependency managers
    Cocoapods compatible Carthage compatible -Swift Package Manager compatible +Swift Package Manager compatible

    Contact
    Join us on Slack! Reach me on Twitter! @@ -777,11 +904,11 @@

      -
    • Swift 4.2: iOS 9+ / macOS 10.10+ / watchOS 2.0+ / tvOS 9.0+
    • -
    • Other Swift versions: Swift 3.2(version 4.2.3)
    • +
    • Swift 5.0: iOS 10+ / macOS 10.12+ / watchOS 3.0+ / tvOS 10.0+
    • +
    • Previously supported Swift versions: Swift 3.2, Swift 4.2
    -

    Upgrading from CoreStore 4.2 (Swift 3.2) to 5.x (Swift 4.x)? Check out the new features and make sure to read the Change logs.

    +

    Upgrading from CoreStore 5.x (min iOS 9) to 6.x (min iOS 10)? Check out the new features and make sure to read the Change logs.

    CoreStore is now part of the Swift Source Compatibility projects.

    Why use CoreStore?

    @@ -821,7 +948,6 @@

    Contents

  • Migrations @@ -870,6 +996,7 @@

    Contents

  • Observing changes and notifications
  • @@ -922,11 +1049,11 @@

    TL;DR (a.k.a. sample codes)

    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ⅈE+bBE>X>u7k&x*Sp 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 diff --git a/docs/index.html b/docs/index.html index 17764fcb..487d3782 100644 --- a/docs/index.html +++ b/docs/index.html @@ -22,7 +22,7 @@ CoreStore Docs - (88% documented) + (90% documented)

    {Y2}b;G^1u@P+ckFAJT zi@j-$vh1#tzE<1t^A4P16<$DFD=YGxZJ=Mc)7h`+KLwxH-~YYo%aRvASM3JT7`ea< zo%m6l>?4q*Rz~9J!uJF};|Au*Gsc`n=xm66226?~XNmzF-2CbDCxu?TcvaDh=PzFC zg3P4kcZDe0?&Iw~KD54O?2L*hpp$L;2*T47)$7fUO^a6Zv!$?coh%RZ|ESGsJ#}fo zUiQnbQhjpH4l*57(%!MJVg}fIsxs7a-o^<1?}J4rf8#Pwz8qpBpJT(e>iv%Apf^1c z$uRb3X%v^7j~KP)r@0E@`8X!fu-Ms$kDv~w{j`}Aa!-Xc5ku}@1@oLnNs3v}7{m2) z%Scx@p7e6M{+_iZzX!{g1902A7Gpvlv~s&@7hzpj+^#)IfZ5dHb#~#rrx^V#LJo%N ze6}dhP!l8iky}E}0alWFOoa2PkkLLWsFOK^3_BG*#d`3|eS=am9#r2l=aa8|##XB( zi=d5Wx}Udr9cJfnL4{rN=K5thcj=d3X-+H6Xo^&wVeU%T?GL;o8dKJl%%E$Y0Q)9gX(B@60Eh#+LGv zm;+U1+V?ws4fMq*5&76O(rRA`Xg1LajG*AU(6xvPL6QScyM3uZ%bGPlOPa&u4)9H$-TD#OIpURejS=she{7v>f=3Qn>5oUOnE?UscY=O^K5A zbn!~1$a<-`UIDT$A@bTtsKJOlfu}T-6H5icakt@L3-SrNu}T6bc6va@o({W7RXH@B z!-E++oum}ofYAR`cCPnU$o!AwwEMDs&dRLt#W8Wl8)$PW+&oRj!M#P5ogU^)yn>GQ)Wv zdsc#6Qf1{}Ntl>BX7*2&5suS4_X&kd!2~CL=LJ#~T?SpoMc!c?7iHsKVh^YuFycaC zq2SMR$+C7hDg%K^Cdtwg|+1yAYgP$_z)h|`wRveH=OW0k!}td($*);c+}vbo%ZtB>qxnp~D1Tj1mh}wimD1T5 zY}HO!E1iP%SIaP8W#E(u>;tEC>D&<+7qYWULbA#wulAj%M)oRmyXi%^8L5lVvUXg+BI3oJ(l=bnw=eFycrnVzDn#;dL4)k zXdb4Gc_jmCIaiVO^`~eOCZ~4m^$HvfnSl9-T@9u7c|~;Sn5DQ#cdz`?xV)AJ40WF) ze5$X$a(@2n_DROy!P0Ziry$bT88`j91ZSp@?}*>MXIIVp6QwXNDnT3!3QSk2dhuU|oEjNs&aOjA?tS9iM{cik!*}ykqH6rvdJBfZlbXOp=ZY zwsLfdAdrbfc+}j`*+tny+AO2RCb`H!dSqnRIT|way-e>Ykf&O^-Dfq~j@}8Y z>sz4?&OFgpl%fz~)=mAiM1(6z6^4(Vw)bh)5+4CdgM5Il| z+102}(n&|6jEqOu^fj44sM?;%FfPbptdgFP+F;)>jOi|+W)sG}XFB~#I?C=ZfG?!K zf_dgYlyu!=2&_b0h}aD(k-jyT0i_C<2x$)5!&8I0Q7?0=y>)#T`!UWbNkvase^>-l zD?KrFKls!6wEh`CT>4B>d7lBT*UK`a0Fh|7Jo8oO8dbzGfNJP!Ue1Gj4Oe@{qFq5^R4cEbGmn3bY3S+wJw`Np}A)Z!f+{2HBdsV zLJ3U5yW4u4Wz`-lqq1^0OAjm~R(0K_W{ORH;Lj3*SARGckW)F_pX|%&Dv9BS!g&%c zU2|(D#qn`1DQs)@C;OUJNmmSWB8vdI=0W9^0-SA`=SRsr>&Poh3AO9O2owRZ1=p&h z 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 z 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�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≀G9vnDkB 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 PrrmzDLCx@hkL4`fxJ!WB~U)E=A`F;vz&5 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

    ot~ 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%0A$%VnVz-S&){(upNXK-iw!vL*Yt56HG8GWsR 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%0D)RRbX4?bSIBX>5K*!gi@8 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 z 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¨`Y7ye#$0y={aov?}f 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 literal 1097408 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�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%0ABC&HO3TVtKK}X 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

    )G`m;?hHB-({9vy=}^Z#aG{tvlQQoCb+{JrHx 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

    Fetching objects (simple):

    -
    let people = CoreStore.fetchAll(From<MyPersonEntity>())
    +
    let people = try CoreStore.fetchAll(From<MyPersonEntity>())
     

    Fetching objects (complex):

    -
    let people = CoreStore.fetchAll(
    +
    let people = try CoreStore.fetchAll(
         From<MyPersonEntity>()
             .where(\.age > 30),
             .orderBy(.ascending(\.name), .descending(.\age)),
    @@ -935,7 +1062,7 @@ 

    TL;DR (a.k.a. sample codes)

    Querying values:

    -
    let maxAge = CoreStore.queryValue(
    +
    let maxAge = try CoreStore.queryValue(
         From<MyPersonEntity>()
             .select(Int.self, .maximum(\.age))
     )
    @@ -962,7 +1089,7 @@ 

    Architecture

    NSPersistentStore
    (Configurations in the .xcdatamodeld file) -StorageInterface implementations
    (InMemoryStore, SQLiteStore, ICloudStore) +StorageInterface implementations
    (InMemoryStore, SQLiteStore, ICloudStore) NSManagedObjectContext @@ -1063,7 +1190,7 @@

    Setting up

    💡By default, CoreStore will initialize NSManagedObjects from .xcdatamodeld files, but you can create models completely from source code using CoreStoreObjects and CoreStoreSchema. To use this feature, refer to Type-safe CoreStoreObjects.

    -

    Notice that in our previous examples, addStorageAndWait(_:) and addStorage(_:completion:) both accept either InMemoryStore, SQLiteStore, or ICloudStore. These implement the StorageInterface protocol.

    +

    Notice that in our previous examples, addStorageAndWait(_:) and addStorage(_:completion:) both accept either InMemoryStore, SQLiteStore, or ICloudStore. These implement the StorageInterface protocol.

    In-memory store

    The most basic StorageInterface concrete type is the InMemoryStore, which just stores objects in memory. Since InMemoryStores always start with a fresh empty data, they do not need any migration information.

    @@ -1104,66 +1231,6 @@

    Local Store

    If you have custom NSIncrementalStore or NSAtomicStore subclasses, you can implement this protocol and use it similarly to SQLiteStore.

    -

    iCloud Store

    - -
    -

    ⚠️Important: The iCloud Store is being deprecated. Please use with caution. If you have any concerns please do send me a message on Twitter or on the CoreStore Slack Team

    -
    - -

    As a counterpart to LocalStorage, the CloudStorage protocol abstracts stores managed in the cloud. CoreStore currently provides the concrete class ICloudStore. Unlike InMemoryStore and SQLiteStore though, the ICloudStore‘s initializer may return nil if the iCloud container could not be located or if iCloud is not available on the device:

    -
    guard let storage = ICloudStore(
    -    ubiquitousContentName: "MyAppCloudData", // the name of the store in iCloud
    -    ubiquitousContentTransactionLogsSubdirectory: "logs/config1", // optional. Subdirectory path for the transaction logs
    -    ubiquitousContainerID: "iCloud.com.mycompany.myapp.containername", // optional. The container if your app has multiple ubiquity container identifiers in its entitlements
    -    ubiquitousPeerToken: "9614d658014f4151a95d8048fb717cf0", // optional. A per-application salt to allow multiple apps on the same device to share a Core Data store integrated with iCloud
    -    configuration: "Config1", // optional. Use entities from the "Config1" configuration in the .xcdatamodeld file
    -    cloudStorageOptions: .recreateLocalStoreOnModelMismatch // optional. Provides settings that tells the DataStack how to setup the persistent store
    -) else {
    -    // The iCloud container could not be located or if iCloud is not available on the device.
    -    // Handle appropriately
    -    return    
    -}
    -CoreStore.addStorage(,
    -    storage,
    -    completion: { result in
    -        switch result {
    -        case .success(let storage): // ...
    -        case .failure(let error): // ...
    -        }
    -    }
    -)
    -
    - -

    If your app is using iCloud stores, you may want to be notified of particular iCloud events. The ICloudStoreObserver functions are all optional, so you may implement only the ones your app is interested in:

    -
    public protocol ICloudStoreObserver: class {
    -    func iCloudStoreWillFinishUbiquitousStoreInitialImport(storage storage: ICloudStore, dataStack: DataStack)
    -    func iCloudStoreDidFinishUbiquitousStoreInitialImport(storage storage: ICloudStore, dataStack: DataStack)
    -    func iCloudStoreWillAddAccount(storage storage: ICloudStore, dataStack: DataStack)
    -    func iCloudStoreDidAddAccount(storage storage: ICloudStore, dataStack: DataStack)
    -    func iCloudStoreWillRemoveAccount(storage storage: ICloudStore, dataStack: DataStack)
    -    func iCloudStoreDidRemoveAccount(storage storage: ICloudStore, dataStack: DataStack)
    -    func iCloudStoreWillRemoveContent(storage storage: ICloudStore, dataStack: DataStack)
    -    func iCloudStoreDidRemoveContent(storage storage: ICloudStore, dataStack: DataStack)
    -}
    -
    - -

    To register your ICloudStoreObserver, call addObserver(_:) on the ICloudStore instance:

    -
    guard let storage = ICloudStore(/* ... */) else {
    -    return    
    -}
    -storage.addObserver(self) // assuming self implements ICloudStoreObserver
    -CoreStore.addStorage(,
    -    storage,
    -    completion: { result in
    -        switch result {
    -        case .success(let storage): // ... You may also call storage.addObserver(_:) here
    -        case .failure(let error): // ...
    -        }
    -    }
    -)
    -
    - -

    The ICloudStore only keeps weak references of the registered observers. You may call removeObserver(_:) for precise deregistration, but ICloudStore automatically removes deallocated observers.

    Migrations

    Declaring model versions

    @@ -1326,7 +1393,7 @@

    Starting migrations

    )
    -

    The completion block reports a SetupResult that indicates success or failure.

    +

    The completion block reports a SetupResult that indicates success or failure.

    Notice that this method also returns an optional Progress. If nil, no migrations are needed, thus progress reporting is unnecessary as well. If not nil, you can use this to track migration progress by using standard KVO on the "fractionCompleted" key, or by using a closure-based utility exposed in Progress+Convenience.swift:

    migrationProgress?.setProgressHandler { [weak self] (progress) -> Void in
    @@ -1339,7 +1406,7 @@ 

    Starting migrations

    This closure is executed on the main thread so UIKit and AppKit calls can be done safely.

    Progressive migrations

    -

    By default, CoreStore uses Core Data’s default automatic migration mechanism. In other words, CoreStore will try to migrate the existing persistent store until it matches the SchemaHistory’s currentModelVersion. If no mapping model path is found from the store’s version to the data model’s version, CoreStore gives up and reports an error.

    +

    By default, CoreStore uses Core Data’s default automatic migration mechanism. In other words, CoreStore will try to migrate the existing persistent store until it matches the SchemaHistory‘s currentModelVersion. If no mapping model path is found from the store’s version to the data model’s version, CoreStore gives up and reports an error.

    The DataStack lets you specify hints on how to break a migration into several sub-migrations using a MigrationChain. This is typically passed to the DataStack initializer and will be applied to all stores added to the DataStack with addSQLiteStore(...) and its variants:

    let dataStack = DataStack(migrationChain: 
    @@ -1434,7 +1501,7 @@ 

    Custom migrations

    )
    -

    For version migrations present in the DataStack’s MigrationChain but not handled by any of the SQLiteStore’s migrationMappingProviders array, CoreStore will automatically try to use InferredSchemaMappingProvider as fallback. Finally if the InferredSchemaMappingProvider could not resolve any mapping, the migration will fail and the DataStack.addStorage(...) method will report the failure.

    +

    For version migrations present in the DataStack’s MigrationChain but not handled by any of the SQLiteStore’s migrationMappingProviders array, CoreStore will automatically try to use InferredSchemaMappingProvider as fallback. Finally if the InferredSchemaMappingProvider could not resolve any mapping, the migration will fail and the DataStack.addStorage(...) method will report the failure.

    For CustomSchemaMappingProvider, more granular updates are supported through the dynamic objects UnsafeSourceObject and UnsafeDestinationObject. The example below allows the migration to conditionally ignore some objects:

    let person_v2_to_v3_mapping = CustomSchemaMappingProvider(
    @@ -1643,7 +1710,7 @@ 

    Updating objects

    To update an existing object, fetch the object’s instance from the transaction:

    CoreStore.perform(
         asynchronous: { (transaction) -> Void in
    -        let person = transaction.fetchOne(
    +        let person = try transaction.fetchOne(
                 From<MyPersonEntity>()
                     .where(\.name == "Jane Smith")
             )
    @@ -1703,8 +1770,8 @@ 

    Deleting objects

    CoreStore.perform( asynchronous: { (transaction) -> Void in - transaction.delete(john, jane) - // transaction.delete([john, jane]) is also allowed + try transaction.delete(john, jane) + // try transaction.delete([john, jane]) is also allowed }, completion: { _ in } ) @@ -1713,7 +1780,7 @@

    Deleting objects

    If you do not have references yet to the objects to be deleted, transactions have a deleteAll(...) method you can pass a query to:

    CoreStore.perform(
         asynchronous: { (transaction) -> Void in
    -        transaction.deleteAll(
    +        try transaction.deleteAll(
                 From<MyPersonEntity>()
                     .where(\.age > 30)
             )
    @@ -1759,7 +1826,7 @@ 

    Passing objects safely

    CoreStore.perform( asynchronous: { (transaction) -> Void in - let jane = transaction.fetchOne( + let jane = try transaction.fetchOne( From<MyPersonEntity>() .where(\.name == "Jane Smith") ) @@ -1977,17 +2044,17 @@

    Fetching and Querying

    From clause

    The search conditions for fetches and queries are specified using clauses. All fetches and queries require a From clause that indicates the target entity type:

    -
    let people = CoreStore.fetchAll(From<MyPersonEntity>())
    +
    let people = try CoreStore.fetchAll(From<MyPersonEntity>())
     

    people in the example above will be of type [MyPersonEntity]. The From<MyPersonEntity>() clause indicates a fetch to all persistent stores that MyPersonEntity belong to.

    If the entity exists in multiple configurations and you need to only search from a particular configuration, indicate in the From clause the configuration name for the destination persistent store:

    -
    let people = CoreStore.fetchAll(From<MyPersonEntity>("Config1")) // ignore objects in persistent stores other than the "Config1" configuration
    +
    let people = try CoreStore.fetchAll(From<MyPersonEntity>("Config1")) // ignore objects in persistent stores other than the "Config1" configuration
     

    or if the persistent store is the auto-generated Default configuration, specify nil:

    -
    let person = CoreStore.fetchAll(From<MyPersonEntity>(nil))
    +
    let person = try CoreStore.fetchAll(From<MyPersonEntity>(nil))
     

    Now we know how to use a From clause, let’s move on to fetching and querying.

    @@ -2007,11 +2074,11 @@

    Fetching

    Where clause

    The Where clause is CoreStore’s NSPredicate wrapper. It specifies the search filter to use when fetching (or querying). It implements all initializers that NSPredicate does (except for -predicateWithBlock:, which Core Data does not support):

    -
    var people = CoreStore.fetchAll(
    +
    var people = try CoreStore.fetchAll(
         From<MyPersonEntity>(),
         Where<MyPersonEntity>("%K > %d", "age", 30) // string format initializer
     )
    -people = CoreStore.fetchAll(
    +people = try CoreStore.fetchAll(
         From<MyPersonEntity>(),
         Where<MyPersonEntity>(true) // boolean initializer
     )
    @@ -2026,14 +2093,14 @@ 

    Where clauses became more type-safe and are now generic types. To avoid verbose repetition of the generic object type, fetch methods now support Fetch Chain builders. We can also use Swift’s Smart KeyPaths as the Where clause expression:

    -
    var people = CoreStore.fetchAll(
    +
    var people = try CoreStore.fetchAll(
         From<MyPersonEntity>()
             .where(\.age > 30) // Type-safe!
     )
     

    Where clauses also implement the &&, ||, and ! logic operators, so you can provide logical conditions without writing too much AND, OR, and NOT strings:

    -
    var people = CoreStore.fetchAll(
    +
    var people = try CoreStore.fetchAll(
         From<MyPersonEntity>()
             .where(\.age > 30 && \.gender == "M")
     )
    @@ -2043,7 +2110,7 @@ 

    OrderBy clause

    The OrderBy clause is CoreStore’s NSSortDescriptor wrapper. Use it to specify attribute keys in which to sort the fetch (or query) results with.

    -
    var mostValuablePeople = CoreStore.fetchAll(
    +
    var mostValuablePeople = try CoreStore.fetchAll(
         From<MyPersonEntity>(),
         OrderBy<MyPersonEntity>(.descending("rating"), .ascending("surname"))
     )
    @@ -2051,7 +2118,7 @@ 

    OrderBy accepts a list of SortKey enumeration values, which can be either .ascending or .descending. ⭐️As with Where clauses, CoreStore 5.0 turned OrderBy clauses into generic types. To avoid verbose repetition of the generic object type, fetch methods now support Fetch Chain builders. We can also use Swift’s Smart KeyPaths as the OrderBy clause expression:

    -
    var people = CoreStore.fetchAll(
    +
    var people = try CoreStore.fetchAll(
         From<MyPersonEntity>()
             .orderBy(.descending(\.rating), .ascending(\.surname)) // Type-safe!
     )
    @@ -2062,7 +2129,7 @@ 

    if sortFromYoungest { orderBy += OrderBy(.ascending(\.age)) } -var mostValuablePeople = CoreStore.fetchAll( +var mostValuablePeople = try CoreStore.fetchAll( From<MyPersonEntity>(), orderBy ) @@ -2070,7 +2137,7 @@

    Tweak clause

    The Tweak clause lets you, uh, tweak the fetch (or query). Tweak exposes the NSFetchRequest in a closure where you can make changes to its properties:

    -
    var people = CoreStore.fetchAll(
    +
    var people = try CoreStore.fetchAll(
         From<MyPersonEntity>(),
         Where<MyPersonEntity>("age > %d", 30),
         OrderBy<MyPersonEntity>(.ascending("surname")),
    @@ -2083,7 +2150,7 @@ 

    Tweak also supports Fetch Chain builders:

    -
    var people = CoreStore.fetchAll(
    +
    var people = try CoreStore.fetchAll(
         From<MyPersonEntity>(),
             .where(\.age > 30)
             .orderBy(.ascending(\.surname))
    @@ -2114,7 +2181,7 @@ 

    Querying

    Select<T> clause

    The Select<T> clause specifies the target attribute/aggregate key, as well as the expected return type:

    -
    let johnsAge = CoreStore.queryValue(
    +
    let johnsAge = try CoreStore.queryValue(
         From<MyPersonEntity>(),
         Select<Int>("age"),
         Where("name == %@", "John Smith")
    @@ -2124,14 +2191,14 @@ 

    Where condition. johnsAge will be bound to type Int?, as indicated by the Select<Int> generic type. For queryValue(...), types that conform to QueryableAttributeType are allowed as the return type (and therefore as the generic type for Select<T>).

    For queryAttributes(...), only NSDictionary is valid for Select, thus you are allowed to omit the generic type:

    -
    let allAges = CoreStore.queryAttributes(
    +
    let allAges = try CoreStore.queryAttributes(
         From<MyPersonEntity>(),
         Select("age")
     )
     

    ⭐️Starting CoreStore 5.0, query methods now support Query Chain builders. We can also use Swift’s Smart KeyPaths to use in the expressions:

    -
    let johnsAge = CoreStore.queryValue(
    +
    let johnsAge = try CoreStore.queryValue(
         From<MyPersonEntity>()
             .select(\.age) // binds the result to Int
             .where(\.name == "John Smith")
    @@ -2147,14 +2214,14 @@ 

    let oldestAge = CoreStore.queryValue( +
    let oldestAge = try CoreStore.queryValue(
         From<MyPersonEntity>(),
         Select<Int>(.maximum("age"))
     )
     

    For queryAttributes(...) which returns an array of dictionaries, you can specify multiple attributes/aggregates to Select:

    -
    let personJSON = CoreStore.queryAttributes(
    +
    let personJSON = try CoreStore.queryAttributes(
         From<MyPersonEntity>(),
         Select("name", "age")
     )
    @@ -2174,7 +2241,7 @@ 

    let personJSON = CoreStore.queryAttributes( +
    let personJSON = try CoreStore.queryAttributes(
         From<MyPersonEntity>(),
         Select("name", .count("friends"))
     )
    @@ -2194,7 +2261,7 @@ 

    let personJSON = CoreStore.queryAttributes( +
    let personJSON = try CoreStore.queryAttributes(
         From<MyPersonEntity>(),
         Select("name", .count("friends", as: "friendsCount"))
     )
    @@ -2215,7 +2282,7 @@ 

    GroupBy clause

    The GroupBy clause lets you group results by a specified attribute/aggregate. This is useful only for queryAttributes(...) since queryValue(...) just returns the first value.

    -
    let personJSON = CoreStore.queryAttributes(
    +
    let personJSON = try CoreStore.queryAttributes(
         From<MyPersonEntity>(),
         Select("age", .count("age", as: "count")),
         GroupBy("age")
    @@ -2223,7 +2290,7 @@ 

    GroupBy clauses are now also generic types and now support Query Chain builders. We can also use Swift’s Smart KeyPaths to use in the expressions:

    -
    let personJSON = CoreStore.queryAttributes(
    +
    let personJSON = try CoreStore.queryAttributes(
         From<MyPersonEntity>()
             .select(.attribute(\.age), .count(\.age, as: "count"))
             .groupBy(\.age)
    @@ -2281,19 +2348,33 @@ 

    Logging and error reporting

    These are all implemented with CustomDebugStringConvertible.debugDescription, so they work with lldb’s po command as well.

    Observing changes and notifications

    -
    -

    (unavailable on macOS versions below 10.12)

    -
    -

    CoreStore provides type-safe wrappers for observing managed objects:

    +

    Observe a single property

    + +

    To get notifications for single property changes in an object, there are two methods depending on the object’s base class.

    + +
      +
    • For NSManagedObject subclasses: Use the standard KVO method:

      +
      let observer = person.observe(\.age, options: [.new]) { (person, change)
      +print("Happy \(change.newValue)th birthday!")
      +}
      +
    • +
    • For CoreStoreObject subclasses: Call the observe(...) method directly on the property. You’ll notice that the API itself is a bit similar to the KVO method:

      +
      let observer = person.age.observe(options: [.new]) { (person, change)
      +print("Happy \(change.newValue)th birthday!")
      +}
      +
    • +
    + +

    For both methods, you will need to keep a reference to the returned observer for the duration of the observation.

    Observe a single object

    -

    To observe an object, implement the ObjectObserver protocol and specify the EntityType:

    +

    To observe an object itself as a whole, implement the ObjectObserver protocol and specify the EntityType:

    class MyViewController: UIViewController, ObjectObserver {
         func objectMonitor(monitor: ObjectMonitor<MyPersonEntity>, willUpdateObject object: MyPersonEntity) {
             // ...
    @@ -2446,14 +2527,13 @@ 

    Objective-C support

     [CSCoreStore beginAsynchronous:^(CSAsynchronousDataTransaction *transaction) {
         // ...
    -    [transaction commitWithCompletion:^(CSSaveResult *result) {
    -        if (result.isSuccess) {
    -            NSLog(@"Done");
    -        }
    -        else if (result.isFailure) {
    -            NSLog(@"error: %@", result.error);
    -        }
    -    }];
    +    [transaction 
    +     commitWithSuccess:^{
    +        NSLog(@"Done");
    +     }
    +     failure: ^(CSError *error) {
    +        NSLog(@"error: %@", result.error);
    +     }];
     }];
     
    @@ -2586,7 +2666,7 @@

    Type-safe <

    as well as Where and OrderBy clauses

    -
    let puppies = CoreStore.fetchAll(
    +
    let puppies = try CoreStore.fetchAll(
         From<Dog>()
             .where(\.age < 1)
             .orderBy(.ascending(\.age))
    @@ -2629,8 +2709,9 @@ 

    Installation

    Requires

      -
    • iOS 8 SDK and above
    • -
    • Swift 4 (Xcode 9+)
    • +
    • iOS 10 SDK and above
    • +
    • Swift 5.0 (Xcode 10+)
    • +
    • For previous Swift versions: Swift 3.2, Swift 4.2
    @@ -2647,7 +2728,7 @@

    Installation

    Install with CocoaPods

    In your Podfile, add

    -
    pod 'CoreStore', '~> 5.0'
    +
    pod 'CoreStore', '~> 6.3'
     

    and run

    @@ -2658,7 +2739,7 @@

    Install with CocoaPods

    Install with Carthage

    In your Cartfile, add

    -
    github "JohnEstropia/CoreStore" >= 5.0.0
    +
    github "JohnEstropia/CoreStore" >= 6.3.0
     

    and run

    @@ -2666,17 +2747,18 @@

    Install with Carthage

    This installs CoreStore as a framework. Declare import CoreStore in your swift file to use the library.

    +

    Install with Swift Package Manager:

    +
    dependencies: [
    +    .package(url: "https://github.com/JohnEstropia/CoreStore.git", from: "6.3.0"))
    +]
    +
    + +

    Declare import CoreStore in your swift file to use the library.

    Install as Git Submodule

    git submodule add https://github.com/JohnEstropia/CoreStore.git <destination directory>
     

    Drag and drop CoreStore.xcodeproj to your project.

    -

    To install as a framework:

    - -

    Drag and drop CoreStore.xcodeproj to your project.

    -

    To include directly in your app module:

    - -

    Add all .swift files to your project.

    Objective-C support

    To use the Objective-C syntax sugars, import CoreStoreBridge.h in your .m source files.

    @@ -2704,8 +2786,8 @@

    License

    diff --git a/docs/js/jazzy.search.js b/docs/js/jazzy.search.js index 54be83cf..84c08519 100644 --- a/docs/js/jazzy.search.js +++ b/docs/js/jazzy.search.js @@ -2,6 +2,7 @@ $(function(){ var searchIndex = lunr(function() { this.ref('url'); this.field('name'); + this.field('abstract'); }); var $typeahead = $('[data-typeahead]'); @@ -27,7 +28,7 @@ $(function(){ $.getJSON(searchURL).then(function(searchData) { $.each(searchData, function (url, doc) { - searchIndex.add({url: url, name: doc.name}); + searchIndex.add({url: url, name: doc.name, abstract: doc.abstract}); }); $typeahead.typeahead( diff --git a/docs/search.json b/docs/search.json index fa7f7431..011d69c0 100644 --- a/docs/search.json +++ b/docs/search.json @@ -1 +1 @@ -{"Typealiases.html#/s:9CoreStore22XcodeDataModelFileNamea":{"name":"XcodeDataModelFileName","abstract":"

    A String that pertains to the name of an *.xcdatamodeld file (without the file extension).

    "},"Typealiases.html#/s:9CoreStore18ModelConfigurationa":{"name":"ModelConfiguration","abstract":"

    An Optional<String> that pertains to the name of a Configuration which particular groups of entities may belong to. When nil, pertains to the default configuration which includes all entities.

    "},"Typealiases.html#/s:9CoreStore12ModelVersiona":{"name":"ModelVersion","abstract":"

    An String that pertains to the name of a versioned *.xcdatamodeld file (without the file extension). Model version strings don’t necessarily have to be numeric or ordered in any way. The migration sequence will always be decided by (or the lack of) the MigrationChain.

    "},"Typealiases.html#/s:9CoreStore10EntityNamea":{"name":"EntityName","abstract":"

    An String that pertains to an Entity name.

    "},"Typealiases.html#/s:9CoreStore9ClassNamea":{"name":"ClassName","abstract":"

    An String that pertains to a dynamically-accessable class name (usable with NSClassFromString(…)).

    "},"Typealiases.html#/s:9CoreStore13KeyPathStringa":{"name":"KeyPathString","abstract":"

    An String that pertains to a attribute keyPaths.

    "},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV08completeD0xyF":{"name":"completeObject()","abstract":"

    Returns a the actual CoreStoreObject instance for the receiver.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV5value3forqd__AA14ValueContainerO8RequiredCyx_qd__GxXE_tAA23ImportableAttributeTypeRd__lF":{"name":"value(for:)","abstract":"

    Returns the value for the property identified by a given key.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV8setValue_3foryqd___AA0F9ContainerO8RequiredCyx_qd__GxXEtAA23ImportableAttributeTypeRd__lF":{"name":"setValue(_:for:)","abstract":"

    Sets the property of the receiver specified by a given key to a given value.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV14primitiveValue3forqd__AA0F9ContainerO8RequiredCyx_qd__GxXE_tAA23ImportableAttributeTypeRd__lF":{"name":"primitiveValue(for:)","abstract":"

    Returns the value for the specified property from the managed object’s private internal storage.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV17setPrimitiveValue_3foryqd___AA0G9ContainerO8RequiredCyx_qd__GxXEtAA23ImportableAttributeTypeRd__lF":{"name":"setPrimitiveValue(_:for:)","abstract":"

    Sets in the object’s private internal storage the value of a given property.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV5value3forqd__SgAA14ValueContainerO8OptionalCyx_qd__GxXE_tAA23ImportableAttributeTypeRd__lF":{"name":"value(for:)","abstract":"

    Returns the value for the property identified by a given key.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV8setValue_3foryqd__Sg_AA0F9ContainerO8OptionalCyx_qd__GxXEtAA23ImportableAttributeTypeRd__lF":{"name":"setValue(_:for:)","abstract":"

    Sets the property of the receiver specified by a given key to a given value.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV14primitiveValue3forqd__SgAA0F9ContainerO8OptionalCyx_qd__GxXE_tAA23ImportableAttributeTypeRd__lF":{"name":"primitiveValue(for:)","abstract":"

    Returns the value for the specified property from the managed object’s private internal storage.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV17setPrimitiveValue_3foryqd__Sg_AA0G9ContainerO8OptionalCyx_qd__GxXEtAA23ImportableAttributeTypeRd__lF":{"name":"setPrimitiveValue(_:for:)","abstract":"

    Sets in the object’s private internal storage the value of a given property.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV5value3forqd__AA22TransformableContainerO8RequiredCyx_qd__GxXE_tSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"value(for:)","abstract":"

    Returns the value for the property identified by a given key.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV8setValue_3foryqd___AA22TransformableContainerO8RequiredCyx_qd__GxXEtSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"setValue(_:for:)","abstract":"

    Sets the property of the receiver specified by a given key to a given value.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV14primitiveValue3forqd__AA22TransformableContainerO8RequiredCyx_qd__GxXE_tSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"primitiveValue(for:)","abstract":"

    Returns the value for the specified property from the managed object’s private internal storage.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV17setPrimitiveValue_3foryqd___AA22TransformableContainerO8RequiredCyx_qd__GxXEtSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"setPrimitiveValue(_:for:)","abstract":"

    Sets in the object’s private internal storage the value of a given property.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV5value3forqd__SgAA22TransformableContainerO8OptionalCyx_qd__GxXE_tSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"value(for:)","abstract":"

    Returns the value for the property identified by a given key.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV8setValue_3foryqd__Sg_AA22TransformableContainerO8OptionalCyx_qd__GxXEtSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"setValue(_:for:)","abstract":"

    Sets the property of the receiver specified by a given key to a given value.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV14primitiveValue3forqd__SgAA22TransformableContainerO8OptionalCyx_qd__GxXE_tSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"primitiveValue(for:)","abstract":"

    Returns the value for the specified property from the managed object’s private internal storage.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV17setPrimitiveValue_3foryqd__Sg_AA22TransformableContainerO8OptionalCyx_qd__GxXEtSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"setPrimitiveValue(_:for:)","abstract":"

    Sets in the object’s private internal storage the value of a given property.

    ","parent_name":"PartialObject"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore25SectionMonitorBuilderTypeP4fromAA4FromVy06ObjectF0QzGvp":{"name":"from","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore25SectionMonitorBuilderTypeP9sectionByAA0cH0Vy06ObjectF0QzGvp":{"name":"sectionBy","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore25SectionMonitorBuilderTypeP12fetchClausesSayAA11FetchClause_pGvp":{"name":"fetchClauses","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV5whereyACyxGAA5WhereVyxGF":{"name":"where(_:)","abstract":"

    Adds a Where clause to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV5where6format_ACyxGSS_ypdtF":{"name":"where(format:_:)","abstract":"

    Adds a Where clause to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV5where6format13argumentArrayACyxGSS_SayypGSgtF":{"name":"where(format:argumentArray:)","abstract":"

    Adds a Where clause to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV7orderByyACyxGAA05OrderH0V7SortKeyVyx_G_AJdtF":{"name":"orderBy(_:_:)","abstract":"

    Adds an OrderBy clause to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV5tweakyACyxGySo14NSFetchRequestCySo0hI6Result_pGcF":{"name":"tweak(_:)","abstract":"

    Adds a Tweak clause to the SectionMonitorChainBuilder with a closure where the NSFetchRequest may be configured

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV9appendingyACyxGAA11FetchClause_pF":{"name":"appending(_:)","abstract":"

    Appends a QueryClause to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV9appending10contentsOfACyxGqd___tSTRd__AA11FetchClause_p7ElementRtd__lF":{"name":"appending(contentsOf:)","abstract":"

    Appends a series of QueryClauses to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderVA2A0aB6ObjectCRbzrlE5whereyACyxGqd__xXEAA14AnyWhereClauseRd__lF":{"name":"where(_:)","abstract":"

    Adds a Where clause to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore25QueryChainableBuilderTypeP06ObjectF0Qa":{"name":"ObjectType","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore25QueryChainableBuilderTypeP06ResultF0Qa":{"name":"ResultType","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore25QueryChainableBuilderTypeP4fromAA4FromVy06ObjectF0QzGvp":{"name":"from","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore25QueryChainableBuilderTypeP6selectAA6SelectVy06ObjectF0Qz06ResultF0QzGvp":{"name":"select","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore25QueryChainableBuilderTypeP12queryClausesSayAA0C6Clause_pGvp":{"name":"queryClauses","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV5whereyACyxq_GAA5WhereVyxGF":{"name":"where(_:)","abstract":"

    Adds a Where clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV5where6format_ACyxq_GSS_ypdtF":{"name":"where(format:_:)","abstract":"

    Adds a Where clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV5where6format13argumentArrayACyxq_GSS_SayypGSgtF":{"name":"where(format:argumentArray:)","abstract":"

    Adds a Where clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV7orderByyACyxq_GAA05OrderG0V7SortKeyVyx_G_AJdtF":{"name":"orderBy(_:_:)","abstract":"

    Adds an OrderBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV5tweakyACyxq_GySo14NSFetchRequestCySo0gH6Result_pGcF":{"name":"tweak(_:)","abstract":"

    Adds a Tweak clause to the QueryChainBuilder with a closure where the NSFetchRequest may be configured

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV7groupByyACyxq_GAA05GroupG0VyxGF":{"name":"groupBy(_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV7groupByyACyxq_GSS_SSdtF":{"name":"groupBy(_:_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV7groupByyACyxq_GSaySSGF":{"name":"groupBy(_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV9appendingyACyxq_GAA0C6Clause_pF":{"name":"appending(_:)","abstract":"

    Appends a QueryClause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV9appending10contentsOfACyxq_Gqd___tSTRd__AA0C6Clause_p7ElementRtd__lF":{"name":"appending(contentsOf:)","abstract":"

    Appends a series of QueryClauses to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderVAASo15NSManagedObjectCRbzrlE7groupByyACyxq_Gs7KeyPathCyxqd__GlF":{"name":"groupBy(_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderVA2A0aB6ObjectCRbzrlE5whereyACyxq_Gqd__xXEAA14AnyWhereClauseRd__lF":{"name":"where(_:)","abstract":"

    Adds a Where clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderVA2A0aB6ObjectCRbzrlE7groupByyACyxq_Gs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GGAA23ImportableAttributeTypeRd__lF":{"name":"groupBy(_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderVA2A0aB6ObjectCRbzrlE7groupByyACyxq_Gs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GGAA23ImportableAttributeTypeRd__lF":{"name":"groupBy(_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderVA2A0aB6ObjectCRbzrlE7groupByyACyxq_Gs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GGSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"groupBy(_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderVA2A0aB6ObjectCRbzrlE7groupByyACyxq_Gs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GGSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"groupBy(_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore25FetchChainableBuilderTypeP06ObjectF0Qa":{"name":"ObjectType","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore25FetchChainableBuilderTypeP4fromAA4FromVy06ObjectF0QzGvp":{"name":"from","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore25FetchChainableBuilderTypeP12fetchClausesSayAA0C6Clause_pGvp":{"name":"fetchClauses","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV5whereyACyxGAA5WhereVyxGF":{"name":"where(_:)","abstract":"

    Adds a Where clause to the FetchChainBuilder

    ","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV5where6format_ACyxGSS_ypdtF":{"name":"where(format:_:)","abstract":"

    Adds a Where clause to the FetchChainBuilder

    ","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV5where6format13argumentArrayACyxGSS_SayypGSgtF":{"name":"where(format:argumentArray:)","abstract":"

    Adds a Where clause to the FetchChainBuilder

    ","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV7orderByyACyxGAA05OrderG0V7SortKeyVyx_G_AJdtF":{"name":"orderBy(_:_:)","abstract":"

    Adds an OrderBy clause to the FetchChainBuilder

    ","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV5tweakyACyxGySo14NSFetchRequestCySo0gH6Result_pGcF":{"name":"tweak(_:)","abstract":"

    Adds a Tweak clause to the FetchChainBuilder with a closure where the NSFetchRequest may be configured

    ","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV9appendingyACyxGAA0C6Clause_pF":{"name":"appending(_:)","abstract":"

    Appends a FetchClause to the FetchChainBuilder

    ","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV9appending10contentsOfACyxGqd___tSTRd__AA0C6Clause_p7ElementRtd__lF":{"name":"appending(contentsOf:)","abstract":"

    Appends a series of FetchClauses to the FetchChainBuilder

    ","parent_name":"FetchChainBuilder"},"Structs/VersionLock.html#/s:9CoreStore11VersionLockV11HashElementa":{"name":"HashElement","abstract":"

    The value type for the dictionary initializer, which is UInt64

    ","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:9CoreStore11VersionLockV18hashesByEntityNameSDySS10Foundation4DataVGvp":{"name":"hashesByEntityName","abstract":"

    The Data hash for each entity name.

    ","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:9CoreStore11VersionLockVyACSDySSSays6UInt64VGGcfc":{"name":"init(_:)","abstract":"

    Initializes a VersionLock with the version hash for each entity name.

    ","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:s30ExpressibleByDictionaryLiteralP3KeyQa":{"name":"Key","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:s30ExpressibleByDictionaryLiteralP5ValueQa":{"name":"Value","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:s30ExpressibleByDictionaryLiteralP010dictionaryD0x3KeyQz_5ValueQztd_tcfc":{"name":"init(dictionaryLiteral:)","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"VersionLock"},"Structs/Where.html#/s:9CoreStore5WhereV2aaoiyACyxGAE_AEtFZ":{"name":"&&(_:_:)","abstract":"

    Combines two Where predicates together using AND operator

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV2oooiyACyxGAE_AEtFZ":{"name":"||(_:_:)","abstract":"

    Combines two Where predicates together using OR operator

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV1nopyACyxGAEFZ":{"name":"!(_:)","abstract":"

    Inverts the predicate of a Where clause using NOT operator

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV3aaqoiyACyxGAE_AESgtFZ":{"name":"&&?(_:_:)","abstract":"

    Combines two Where predicates together using AND operator.

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV3aaqoiyACyxGAESg_AEtFZ":{"name":"&&?(_:_:)","abstract":"

    Combines two Where predicates together using AND operator.

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV3ooqoiyACyxGAE_AESgtFZ":{"name":"||?(_:_:)","abstract":"

    Combines two Where predicates together using OR operator.

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV3ooqoiyACyxGAESg_AEtFZ":{"name":"||?(_:_:)","abstract":"

    Combines two Where predicates together using OR operator.

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVACyxGycfc":{"name":"init()","abstract":"

    Initializes a Where clause with a predicate that always evaluates to true

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVyACyxGSbcfc":{"name":"init(_:)","abstract":"

    Initializes a Where clause with a predicate that always evaluates to the specified boolean value

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVyACyxGSS_ypdtcfc":{"name":"init(_:_:)","abstract":"

    Initializes a Where clause with a predicate using the specified string format and arguments

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_13argumentArrayACyxGSS_SayypGSgtcfc":{"name":"init(_:argumentArray:)","abstract":"

    Initializes a Where clause with a predicate using the specified string format and arguments

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_9isEqualToACyxGSS_ytSgtcfc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality to nil

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_9isEqualToACyxGSS_qd__SgtcAA22QueryableAttributeTypeRd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_9isEqualToACyxGSS_qd__SgtcAA13DynamicObjectRd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_9isEqualToACyxGSS_So17NSManagedObjectIDCtcfc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_10isMemberOfACyxGSS_qd__tcSTRd__AA22QueryableAttributeType7ElementRpd__lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_10isMemberOfACyxGSS_qd__tcSTRd__AA13DynamicObject7ElementRpd__lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_10isMemberOfACyxGSS_qd__tcSTRd__So17NSManagedObjectIDC7ElementRcd__lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore14AnyWhereClauseP9predicateSo11NSPredicateCvp":{"name":"predicate","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore14AnyWhereClausePyxSo11NSPredicateCcfc":{"name":"init(_:)","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore15WhereClauseTypeP06ObjectE0Qa":{"name":"ObjectType","parent_name":"Where"},"Structs/Where.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"Where"},"Structs/Where.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"Where"},"Structs/Where.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxqd__G_ytSgtcAA22QueryableAttributeTypeRd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality to nil

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxqd__G_ytSgtcAA07DynamicE0Rd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality to nil

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxqd__G_qd__SgtcAA22QueryableAttributeTypeRd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxqd__G_qd__SgtcAA07DynamicE0Rd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxqd__G_So0dE2IDCtcAA07DynamicE0Rd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_10isMemberOfACyxGs7KeyPathCyxqd__G_qd_0_tcAA22QueryableAttributeTypeRd__7ElementQyd_0_Rsd__STRd_0_r0_lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_10isMemberOfACyxGs7KeyPathCyxqd__G_qd_0_tcAA07DynamicE0Rd__7ElementQyd_0_Rsd__STRd_0_r0_lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_10isMemberOfACyxGs7KeyPathCyxqd__G_qd_0_tcAA07DynamicE0Rd__STRd_0_So0dE2IDC7ElementRcd_0_r0_lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_ytSgtcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality to nil

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxAA21RelationshipContainerO0G3OneCyx_qd__GG_ytSgtcAERbd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality to nil

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_qd__SgtcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_qd__SgtcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxAA21RelationshipContainerO0G3OneCyx_qd__GG_qd__SgtcAERbd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxAA21RelationshipContainerO0G3OneCyx_qd__GG_So09NSManagedD2IDCtcAERbd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_10isMemberOfACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_qd_0_tcAA23ImportableAttributeTypeRd__7ElementQyd_0_Rsd__STRd_0_r0_lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_10isMemberOfACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_qd_0_tcAA23ImportableAttributeTypeRd__7ElementQyd_0_Rsd__STRd_0_r0_lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_10isMemberOfACyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_qd__GG_qd_0_tcAERbd__7ElementQyd_0_Rsd__STRd_0_r0_lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_10isMemberOfACyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_qd__GG_qd_0_tcAERbd__STRd_0_So09NSManagedD2IDC7ElementRcd_0_r0_lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlEyACyxGAFxXEcfc":{"name":"init(_:)","abstract":"

    Initializes a Where clause from a closure

    ","parent_name":"Where"},"Structs/Select.html#/s:9CoreStore6SelectVyACyxq_GAA0C4TermOyxG_AGdtcfc":{"name":"init(_:_:)","abstract":"

    Initializes a Select clause with a list of SelectTerms

    ","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore6SelectVyACyxq_GSayAA0C4TermOyxGGcfc":{"name":"init(_:)","abstract":"

    Initializes a Select clause with a list of SelectTerms

    ","parent_name":"Select"},"Structs/Select.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore12SelectClauseP10ObjectTypeQa":{"name":"ObjectType","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore12SelectClauseP10ReturnTypeQa":{"name":"ReturnType","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore12SelectClauseP11selectTermsSayAA0C4TermOy10ObjectTypeQzGGvp":{"name":"selectTerms","parent_name":"Select"},"Structs/Select.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"Select"},"Structs/Select.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore6SelectVAASo17NSManagedObjectIDCRb_rlEACyxq_Gycfc":{"name":"init()","abstract":"

    Initializes a Select that queries for NSManagedObjectID results

    ","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore6SelectVAASo15NSManagedObjectCRbzrlEyACyxq_Gs7KeyPathCyxq_Gcfc":{"name":"init(_:)","abstract":"

    Initializes a Select that queries the value of an attribute pertained by a keyPath

    ","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore6SelectVA2A0aB6ObjectCRbzAA23ImportableAttributeTypeR_rlEyACyxq_Gs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GGcfc":{"name":"init(_:)","abstract":"

    Initializes a Select that queries the value of an attribute pertained by a keyPath

    ","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore6SelectVA2A0aB6ObjectCRbzAA23ImportableAttributeTypeR_rlEyACyxq_Gs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GGcfc":{"name":"init(_:)","abstract":"

    Initializes a Select that queries the value of an attribute pertained by a keyPath

    ","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore6SelectVA2A0aB6ObjectCRbzAA23ImportableAttributeTypeR_So8NSCodingR_So9NSCopyingR_rlEyACyxq_Gs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_q_GGcfc":{"name":"init(_:)","abstract":"

    Initializes a Select that queries the value of an attribute pertained by a keyPath

    ","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore6SelectVA2A0aB6ObjectCRbzAA23ImportableAttributeTypeR_So8NSCodingR_So9NSCopyingR_rlEyACyxq_Gs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_q_GGcfc":{"name":"init(_:)","abstract":"

    Initializes a Select that queries the value of an attribute pertained by a keyPath

    ","parent_name":"Select"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVyACyxGSScfc":{"name":"init(_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVyACyxGSS_SSSgAEctcfc":{"name":"init(_:_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVAASo15NSManagedObjectCRbzrlEyACyxGs7KeyPathCyxqd__Gclufc":{"name":"init(_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVAASo15NSManagedObjectCRbzrlEyACyxGs7KeyPathCyxqd__G_SSSgAJctclufc":{"name":"init(_:_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GGcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GGcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GGcSo8NSCodingRd__So9NSCopyingRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GGcSo8NSCodingRd__So9NSCopyingRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_SSSgAOctcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_SSSgAOctcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GG_SSSgAOctcSo8NSCodingRd__So9NSCopyingRd__lufc":{"name":"init(_:_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GG_SSSgAOctcSo8NSCodingRd__So9NSCopyingRd__lufc":{"name":"init(_:_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"SectionBy"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV9ascendingyAEyx_GSSFZ":{"name":"ascending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in ascending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV10descendingyAEyx_GSSFZ":{"name":"descending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in descending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV9ascendingyAEyx_Gs0F4PathCyxqd__GSo15NSManagedObjectCRbzlFZ":{"name":"ascending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in ascending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV10descendingyAEyx_Gs0F4PathCyxqd__GSo15NSManagedObjectCRbzlFZ":{"name":"descending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in descending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV9ascendingyAEyx_Gs0F4PathCyxAA14ValueContainerO8RequiredCyx_qd__GGAA0aB6ObjectCRbzAA23ImportableAttributeTypeRd__lFZ":{"name":"ascending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in ascending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV9ascendingyAEyx_Gs0F4PathCyxAA14ValueContainerO8OptionalCyx_qd__GGAA0aB6ObjectCRbzAA23ImportableAttributeTypeRd__lFZ":{"name":"ascending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in ascending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV9ascendingyAEyx_Gs0F4PathCyxAA22TransformableContainerO8RequiredCyx_qd__GGAA0aB6ObjectCRbzSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"ascending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in ascending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV9ascendingyAEyx_Gs0F4PathCyxAA22TransformableContainerO8OptionalCyx_qd__GGAA0aB6ObjectCRbzSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"ascending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in ascending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV10descendingyAEyx_Gs0F4PathCyxAA14ValueContainerO8RequiredCyx_qd__GGAA0aB6ObjectCRbzAA23ImportableAttributeTypeRd__lFZ":{"name":"descending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in descending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV10descendingyAEyx_Gs0F4PathCyxAA14ValueContainerO8OptionalCyx_qd__GGAA0aB6ObjectCRbzAA23ImportableAttributeTypeRd__lFZ":{"name":"descending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in descending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV10descendingyAEyx_Gs0F4PathCyxAA22TransformableContainerO8RequiredCyx_qd__GGAA0aB6ObjectCRbzSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"descending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in descending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV10descendingyAEyx_Gs0F4PathCyxAA22TransformableContainerO8OptionalCyx_qd__GGAA0aB6ObjectCRbzSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"descending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in descending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyVA2A0aB6ObjectCRbzrlE9ascendingyAEyx_Gqd__xXEAA07DynamicF4PathRd__lFZ":{"name":"ascending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in ascending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyVA2A0aB6ObjectCRbzrlE10descendingyAEyx_Gqd__xXEAA07DynamicF4PathRd__lFZ":{"name":"descending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in descending order

    ","parent_name":"SortKey"},"Structs/OrderBy.html#/s:9CoreStore7OrderByV1poiyACyxGAE_AEtFZ":{"name":"+(_:_:)","abstract":"

    Combines two OrderBy sort descriptors together

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore7OrderByV2peoiyyACyxGz_AEtFZ":{"name":"+=(_:_:)","abstract":"

    Combines two OrderBy sort descriptors together and stores the result to the left operand

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore7OrderByVACyxGycfc":{"name":"init()","abstract":"

    Initializes a OrderBy clause with an empty list of sort descriptors

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore7OrderByVyACyxGSo16NSSortDescriptorCcfc":{"name":"init(_:)","abstract":"

    Initializes a OrderBy clause with a single sort descriptor

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore7OrderByVyACyxGSaySo16NSSortDescriptorCGcfc":{"name":"init(_:)","abstract":"

    Initializes a OrderBy clause with a list of sort descriptors

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore7OrderByVyACyxGSayAC7SortKeyVyx_GGcfc":{"name":"init(_:)","abstract":"

    Initializes a OrderBy clause with a series of SortKeys

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore7OrderByVyACyxGAC7SortKeyVyx_G_AGdtcfc":{"name":"init(_:_:)","abstract":"

    Initializes a OrderBy clause with a series of SortKeys

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore13OrderByClauseP10ObjectTypeQa":{"name":"ObjectType","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore13OrderByClauseP15sortDescriptorsSaySo16NSSortDescriptorCGvp":{"name":"sortDescriptors","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"OrderBy"},"Structs/OrderBy/SortKey.html":{"name":"SortKey","abstract":"

    The SortKey is passed to the OrderBy clause to indicate the sort keys and their sort direction.

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"OrderBy"},"Structs/MigrationChain.html#/s:9CoreStore14MigrationChainVACycfc":{"name":"init()","abstract":"

    Initializes the MigrationChain with empty values, which instructs the DataStack to use the .xcdatamodel’s current version as the final version, and to disable progressive migrations.

    ","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:9CoreStore14MigrationChainVyACSScfc":{"name":"init(_:)","abstract":"

    Initializes the MigrationChain with a single model version, which instructs the DataStack to use the the specified version as the final version, and to disable progressive migrations.

    ","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:9CoreStore14MigrationChainVyACxcSlRzSS7ElementRtzlufc":{"name":"init(_:)","abstract":"

    Initializes the MigrationChain with a linear order of versions, which becomes the order of the DataStack‘s progressive migrations.

    ","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:9CoreStore14MigrationChainVyACSaySS_SStGcfc":{"name":"init(_:)","abstract":"

    Initializes the MigrationChain with a version tree, which becomes the order of the DataStack‘s progressive migrations.

    ","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:9CoreStore14MigrationChainVyACSDyS2SGcfc":{"name":"init(_:)","abstract":"

    Initializes the MigrationChain with a version tree, which becomes the order of the DataStack‘s progressive migrations.

    ","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:s23ExpressibleByNilLiteralP03nilD0xyt_tcfc":{"name":"init(nilLiteral:)","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:s26ExpressibleByStringLiteralP06stringD0x0cD4TypeQz_tcfc":{"name":"init(stringLiteral:)","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:s43ExpressibleByExtendedGraphemeClusterLiteralP08extendeddeF0x0cdeF4TypeQz_tcfc":{"name":"init(extendedGraphemeClusterLiteral:)","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:s33ExpressibleByUnicodeScalarLiteralP07unicodedE0x0cdE4TypeQz_tcfc":{"name":"init(unicodeScalarLiteral:)","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:s30ExpressibleByDictionaryLiteralP010dictionaryD0x3KeyQz_5ValueQztd_tcfc":{"name":"init(dictionaryLiteral:)","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:s25ExpressibleByArrayLiteralP05arrayD0x0cD7ElementQzd_tcfc":{"name":"init(arrayLiteral:)","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MigrationChain"},"Structs/LocalStorageOptions.html#/s:9CoreStore19LocalStorageOptionsV4noneACvpZ":{"name":"none","abstract":"

    Tells the DataStack that the store should not be migrated or recreated, and should simply fail on model mismatch

    ","parent_name":"LocalStorageOptions"},"Structs/LocalStorageOptions.html#/s:9CoreStore19LocalStorageOptionsV08recreateB15OnModelMismatchACvpZ":{"name":"recreateStoreOnModelMismatch","abstract":"

    Tells the DataStack to delete and recreate the store on model mismatch, otherwise exceptions will be thrown on failure instead

    ","parent_name":"LocalStorageOptions"},"Structs/LocalStorageOptions.html#/s:9CoreStore19LocalStorageOptionsV27preventProgressiveMigrationACvpZ":{"name":"preventProgressiveMigration","abstract":"

    Tells the DataStack to prevent progressive migrations for the store

    ","parent_name":"LocalStorageOptions"},"Structs/LocalStorageOptions.html#/s:9CoreStore19LocalStorageOptionsV36allowSynchronousLightweightMigrationACvpZ":{"name":"allowSynchronousLightweightMigration","abstract":"

    Tells the DataStack to allow lightweight migration for the store when added synchronously

    ","parent_name":"LocalStorageOptions"},"Structs/LocalStorageOptions.html#/s:s9OptionSetP8rawValuex03RawD0Qz_tcfc":{"name":"init(rawValue:)","parent_name":"LocalStorageOptions"},"Structs/LocalStorageOptions.html#/s:SY8rawValue03RawB0Qzvp":{"name":"rawValue","parent_name":"LocalStorageOptions"},"Structs/LocalStorageOptions.html#/s:s23ExpressibleByNilLiteralP03nilD0xyt_tcfc":{"name":"init(nilLiteral:)","parent_name":"LocalStorageOptions"},"Structs/LocalStorageOptions.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"LocalStorageOptions"},"Structs/Into.html#/s:9CoreStore4IntoV11entityClassxmvp":{"name":"entityClass","abstract":"

    The associated NSManagedObject or CoreStoreObject entity class

    ","parent_name":"Into"},"Structs/Into.html#/s:9CoreStore4IntoV13configurationSSSgvp":{"name":"configuration","abstract":"

    The NSPersistentStore configuration name to associate objects from.","parent_name":"Into"},"Structs/Into.html#/s:9CoreStore4IntoVACyxGycfc":{"name":"init()","abstract":"

    Initializes an Into clause.

    ","parent_name":"Into"},"Structs/Into.html#/s:9CoreStore4IntoVyACyxGxmcfc":{"name":"init(_:)","abstract":"

    Initializes an Into clause with the specified entity type. This is useful for querying a subclass while binding the generic type with a base class.

    ","parent_name":"Into"},"Structs/Into.html#/s:9CoreStore4IntoVyACyxGSSSgcfc":{"name":"init(_:)","abstract":"

    Initializes an Into clause with the specified configuration.

    ","parent_name":"Into"},"Structs/Into.html#/s:9CoreStore4IntoVyACyxGxm_SSSgtcfc":{"name":"init(_:_:)","abstract":"

    Initializes an Into clause with the specified entity type and configuration. This is useful for querying a subclass while binding the generic type with a base class.

    ","parent_name":"Into"},"Structs/Into.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"Into"},"Structs/Into.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"Into"},"Structs/Into.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"Into"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVACyxGycfc":{"name":"init()","abstract":"

    Initializes a GroupBy clause with an empty list of key path strings

    ","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVyACyxGSS_SSdtcfc":{"name":"init(_:_:)","abstract":"

    Initializes a GroupBy clause with a list of key path strings

    ","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVyACyxGSaySSGcfc":{"name":"init(_:)","abstract":"

    Initializes a GroupBy clause with a list of key path strings

    ","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore13GroupByClauseP10ObjectTypeQa":{"name":"ObjectType","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore13GroupByClauseP8keyPathsSaySSGvp":{"name":"keyPaths","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVAASo15NSManagedObjectCRbzrlEyACyxGs7KeyPathCyxqd__Gclufc":{"name":"init(_:)","abstract":"

    Initializes a GroupBy clause with a key path

    ","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GGcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a GroupBy clause with a key path

    ","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GGcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a GroupBy clause with a key path

    ","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GGcSo8NSCodingRd__So9NSCopyingRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a GroupBy clause with a key path

    ","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GGcSo8NSCodingRd__So9NSCopyingRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a GroupBy clause with a key path

    ","parent_name":"GroupBy"},"Structs/From.html#/s:9CoreStore4FromV11entityClassxmvp":{"name":"entityClass","abstract":"

    The associated NSManagedObject or CoreStoreObject entity class

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV14configurationsSaySSSgGSgvp":{"name":"configurations","abstract":"

    The NSPersistentStore configuration names to associate objects from.","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVACyxGycfc":{"name":"init()","abstract":"

    Initializes a From clause.

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVyACyxGxmcfc":{"name":"init(_:)","abstract":"

    Initializes a From clause with the specified entity type.

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVyACyxGSSSg_AEdtcfc":{"name":"init(_:_:)","abstract":"

    Initializes a From clause with the specified configurations.

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVyACyxGSaySSSgGcfc":{"name":"init(_:)","abstract":"

    Initializes a From clause with the specified configurations.

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVyACyxGxm_SSSgAEdtcfc":{"name":"init(_:_:_:)","abstract":"

    Initializes a From clause with the specified configurations.

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVyACyxGxm_SaySSSgGtcfc":{"name":"init(_:_:)","abstract":"

    Initializes a From clause with the specified configurations.

    ","parent_name":"From"},"Structs/From.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV5whereyAA17FetchChainBuilderVyxGAA5WhereVyxGF":{"name":"where(_:)","abstract":"

    Creates a FetchChainBuilder that starts with the specified Where clause

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV5where6format_AA17FetchChainBuilderVyxGSS_ypdtF":{"name":"where(format:_:)","abstract":"

    Creates a FetchChainBuilder with a predicate using the specified string format and arguments

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV5where6format13argumentArrayAA17FetchChainBuilderVyxGSS_SayypGSgtF":{"name":"where(format:argumentArray:)","abstract":"

    Creates a FetchChainBuilder with a predicate using the specified string format and arguments

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV7orderByyAA17FetchChainBuilderVyxGAA05OrderE0V7SortKeyVyx_G_ALdtF":{"name":"orderBy(_:_:)","abstract":"

    Creates a FetchChainBuilder with a series of SortKeys

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV5tweakyAA17FetchChainBuilderVyxGySo14NSFetchRequestCySo0hI6Result_pGcF":{"name":"tweak(_:)","abstract":"

    Creates a FetchChainBuilder with a closure where the NSFetchRequest may be configured

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV9appendingyAA17FetchChainBuilderVyxGAA0E6Clause_pF":{"name":"appending(_:)","abstract":"

    Creates a FetchChainBuilder and immediately appending a FetchClause

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV9appending10contentsOfAA17FetchChainBuilderVyxGqd___tSTRd__AA0G6Clause_p7ElementRtd__lF":{"name":"appending(contentsOf:)","abstract":"

    Creates a FetchChainBuilder and immediately appending a series of FetchClauses

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV6selectyAA17QueryChainBuilderVyxqd__GAA6SelectVyxqd__GAA0H10ResultTypeRd__lF":{"name":"select(_:)","abstract":"

    Creates a QueryChainBuilder that starts with the specified Select clause

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV6selectyAA17QueryChainBuilderVyxqd__Gqd__m_AA10SelectTermOyxGAJdtAA0H10ResultTypeRd__lF":{"name":"select(_:_:_:)","abstract":"

    Creates a QueryChainBuilder that starts with a Select clause created from the specified SelectTerms

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV6selectyAA17QueryChainBuilderVyxqd__Gqd__m_SayAA10SelectTermOyxGGtAA0H10ResultTypeRd__lF":{"name":"select(_:_:)","abstract":"

    Creates a QueryChainBuilder that starts with a Select clause created from the specified SelectTerms

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV9sectionByyAA26SectionMonitorChainBuilderVyxGAA0fE0VyxGF":{"name":"sectionBy(_:)","abstract":"

    Creates a SectionMonitorChainBuilder that starts with the SectionBy to use to group ListMonitor objects into sections

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV9sectionByyAA26SectionMonitorChainBuilderVyxGSSF":{"name":"sectionBy(_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV9sectionByyAA26SectionMonitorChainBuilderVyxGSS_SSSgAHctF":{"name":"sectionBy(_:_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVAASo15NSManagedObjectCRbzrlE6selectyAA17QueryChainBuilderVyxqd__Gs7KeyPathCyxqd__GAA16SelectResultTypeRd__lF":{"name":"select(_:)","abstract":"

    Creates a QueryChainBuilder that starts with a Select clause created from the specified key path

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVAASo15NSManagedObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxqd__GlF":{"name":"sectionBy(_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVAASo15NSManagedObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxqd__G_SSSgAMctlF":{"name":"sectionBy(_:_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE5whereyAA17FetchChainBuilderVyxGqd__xXEAA14AnyWhereClauseRd__lF":{"name":"where(_:)","abstract":"

    Creates a FetchChainBuilder that starts with the specified Where clause

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE6selectyAA17QueryChainBuilderVyxqd__Gs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GGAA23ImportableAttributeTypeRd__lF":{"name":"select(_:)","abstract":"

    Creates a QueryChainBuilder that starts with a Select clause created from the specified key path

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE6selectyAA17QueryChainBuilderVyxqd__Gs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GGAA23ImportableAttributeTypeRd__lF":{"name":"select(_:)","abstract":"

    Creates a QueryChainBuilder that starts with a Select clause created from the specified key path

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE6selectyAA17QueryChainBuilderVyxqd__Gs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GGAA16SelectResultTypeRd__So8NSCodingRd__So9NSCopyingRd__lF":{"name":"select(_:)","abstract":"

    Creates a QueryChainBuilder that starts with a Select clause created from the specified key path

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE6selectyAA17QueryChainBuilderVyxqd__Gs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GGAA16SelectResultTypeRd__So8NSCodingRd__So9NSCopyingRd__lF":{"name":"select(_:)","abstract":"

    Creates a QueryChainBuilder that starts with a Select clause created from the specified key path

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GGAA23ImportableAttributeTypeRd__lF":{"name":"sectionBy(_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GGAA23ImportableAttributeTypeRd__lF":{"name":"sectionBy(_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GGSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"sectionBy(_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GGSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"sectionBy(_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_SSSgARctAA23ImportableAttributeTypeRd__lF":{"name":"sectionBy(_:_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_SSSgARctAA23ImportableAttributeTypeRd__lF":{"name":"sectionBy(_:_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GG_SSSgARctSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"sectionBy(_:_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GG_SSSgARctSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"sectionBy(_:_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"From"},"Structs/CloudStorageOptions.html#/s:9CoreStore19CloudStorageOptionsV4noneACvpZ":{"name":"none","abstract":"

    Tells the DataStack that the store should not be migrated or recreated, and should simply fail on model mismatch

    ","parent_name":"CloudStorageOptions"},"Structs/CloudStorageOptions.html#/s:9CoreStore19CloudStorageOptionsV013recreateLocalB15OnModelMismatchACvpZ":{"name":"recreateLocalStoreOnModelMismatch","abstract":"

    Tells the DataStack to delete and recreate the local store from the cloud store on model mismatch, otherwise exceptions will be thrown on failure instead

    ","parent_name":"CloudStorageOptions"},"Structs/CloudStorageOptions.html#/s:9CoreStore19CloudStorageOptionsV36allowSynchronousLightweightMigrationACvpZ":{"name":"allowSynchronousLightweightMigration","abstract":"

    Tells the DataStack to allow lightweight migration for the store when added synchronously

    ","parent_name":"CloudStorageOptions"},"Structs/CloudStorageOptions.html#/s:s9OptionSetP8rawValuex03RawD0Qz_tcfc":{"name":"init(rawValue:)","parent_name":"CloudStorageOptions"},"Structs/CloudStorageOptions.html#/s:SY8rawValue03RawB0Qzvp":{"name":"rawValue","parent_name":"CloudStorageOptions"},"Structs/CloudStorageOptions.html#/s:s23ExpressibleByNilLiteralP03nilD0xyt_tcfc":{"name":"init(nilLiteral:)","parent_name":"CloudStorageOptions"},"Structs/CloudStorageOptions.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"CloudStorageOptions"},"Structs/Tweak.html#/s:9CoreStore5TweakV7closureyySo14NSFetchRequestCySo0eF6Result_pGcvp":{"name":"closure","abstract":"

    The block to customize the NSFetchRequest

    ","parent_name":"Tweak"},"Structs/Tweak.html#/s:9CoreStore5TweakVyACySo14NSFetchRequestCySo0dE6Result_pGccfc":{"name":"init(_:)","abstract":"

    Initializes a Tweak clause with a closure where the NSFetchRequest may be configured.

    ","parent_name":"Tweak"},"Structs/Tweak.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"Tweak"},"Structs/Tweak.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"Tweak"},"Structs/Tweak.html":{"name":"Tweak","abstract":"

    The Tweak clause allows fine-tuning the NSFetchRequest for a fetch or query."},"Structs/CloudStorageOptions.html":{"name":"CloudStorageOptions","abstract":"

    The CloudStorageOptions provides settings that tells the DataStack how to setup the persistent store for LocalStorage implementers.

    "},"Structs/From.html":{"name":"From","abstract":"

    A From clause specifies the source entity and source persistent store for fetch and query methods. A common usage is to just indicate the entity:

    "},"Structs/GroupBy.html":{"name":"GroupBy","abstract":"

    The GroupBy clause specifies that the result of a query be grouped accoording to the specified key path.

    "},"Structs/Into.html":{"name":"Into","abstract":"

    An Into clause contains the destination entity and destination persistent store for a create(...) method. A common usage is to just indicate the entity:

    "},"Structs/LocalStorageOptions.html":{"name":"LocalStorageOptions","abstract":"

    The LocalStorageOptions provides settings that tells the DataStack how to setup the persistent store for LocalStorage implementers.

    "},"Structs/MigrationChain.html":{"name":"MigrationChain","abstract":"

    A MigrationChain indicates the sequence of model versions to be used as the order for progressive migrations. This is typically passed to the SchemaHistory or the DataStack initializer and will be applied to all stores added to the DataStack with addStorage(...) and its variants.

    "},"Structs/OrderBy.html":{"name":"OrderBy","abstract":"

    The OrderBy clause specifies the sort order for results for a fetch or a query.

    "},"Structs/SectionBy.html":{"name":"SectionBy","abstract":"

    The SectionBy clause indicates the key path to use to group the ListMonitor objects into sections. An optional closure can also be provided to transform the value into an appropriate section name:

    "},"Structs/Select.html":{"name":"Select","abstract":"

    The Select clause indicates the attribute / aggregate value to be queried. The generic type is a SelectResultType, and will be used as the return type for the query.

    "},"Structs/Where.html":{"name":"Where","abstract":"

    The Where clause specifies the conditions for a fetch or a query.

    "},"Structs/VersionLock.html":{"name":"VersionLock","abstract":"

    The VersionLock contains the version hashes for entities. This is then passed to the CoreStoreSchema, which contains all entities for the store. An assertion will be raised if any Entity doesn’t match the version hash.

    "},"Structs/FetchChainBuilder.html":{"name":"FetchChainBuilder","abstract":"

    The fetch builder type used for fetches. A FetchChainBuilder is created from a From clause.

    "},"Structs/QueryChainBuilder.html":{"name":"QueryChainBuilder","abstract":"

    The fetch builder type used for a queries. A QueryChainBuilder is created from a From clause and then a select(...) chain.

    "},"Structs/SectionMonitorChainBuilder.html":{"name":"SectionMonitorChainBuilder","abstract":"

    The fetch builder type used for a sectioned ListMonitor. A SectionMonitorChainBuilder is created from a From clause and then a sectionBy(...) chain.

    "},"Structs/PartialObject.html":{"name":"PartialObject","abstract":"

    A PartialObject is only used when overriding getters and setters for CoreStoreObject properties. Custom getters and setters are implemented as a closure that overrides the default property getter/setter. The closure receives a PartialObject<O>, which acts as a fast, type-safe KVC interface for CoreStoreObject. The reason a CoreStoreObject instance is not passed directly is because the Core Data runtime is not aware of CoreStoreObject properties’ static typing, and so loading those info everytime KVO invokes this accessor method incurs a heavy performance hit (especially in KVO-heavy operations such as ListMonitor observing.) When accessing the property value from PartialObject<O>, make sure to use PartialObject<O>.persistentValue(for:) instead of PartialObject<O>.value(for:), which would unintentionally execute the same closure again recursively.

    "},"Protocols/WhereClauseType.html#/s:9CoreStore15WhereClauseTypeP06ObjectE0Qa":{"name":"ObjectType","abstract":"

    The DynamicObject type associated with the clause

    ","parent_name":"WhereClauseType"},"Protocols/WhereClauseType.html#/s:9CoreStore15WhereClauseTypePAAE2aaoiyxx_qd__tAaBRd__lFZ":{"name":"&&(_:_:)","abstract":"

    Combines two Where predicates together using AND operator.

    ","parent_name":"WhereClauseType"},"Protocols/WhereClauseType.html#/s:9CoreStore15WhereClauseTypePAAE2aaoiyxqd___xtAaBRd__lFZ":{"name":"&&(_:_:)","abstract":"

    Combines two Where predicates together using AND operator.

    ","parent_name":"WhereClauseType"},"Protocols/WhereClauseType.html#/s:9CoreStore15WhereClauseTypePAAE2oooiyxx_qd__tAaBRd__lFZ":{"name":"||(_:_:)","abstract":"

    Combines two Where predicates together using OR operator.

    ","parent_name":"WhereClauseType"},"Protocols/WhereClauseType.html#/s:9CoreStore15WhereClauseTypePAAE2oooiyxqd___xtAaBRd__lFZ":{"name":"||(_:_:)","abstract":"

    Combines two Where predicates together using OR operator.

    ","parent_name":"WhereClauseType"},"Protocols/AnyWhereClause.html#/s:9CoreStore14AnyWhereClauseP9predicateSo11NSPredicateCvp":{"name":"predicate","abstract":"

    The NSPredicate for the fetch or query

    ","parent_name":"AnyWhereClause"},"Protocols/AnyWhereClause.html#/s:9CoreStore14AnyWhereClausePyxSo11NSPredicateCcfc":{"name":"init(_:)","abstract":"

    Initializes a Where clause with an NSPredicate

    ","parent_name":"AnyWhereClause"},"Protocols/CloudStorage.html#/s:9CoreStore12CloudStorageP12cacheFileURL10Foundation0G0Vvp":{"name":"cacheFileURL","abstract":"

    The NSURL that points to the store file

    ","parent_name":"CloudStorage"},"Protocols/CloudStorage.html#/s:9CoreStore12CloudStorageP05cloudD7OptionsAA0cdF0Vvp":{"name":"cloudStorageOptions","abstract":"

    Options that tell the DataStack how to setup the persistent store

    ","parent_name":"CloudStorage"},"Protocols/CloudStorage.html#/s:9CoreStore12CloudStorageP10dictionary10forOptionsSDys11AnyHashableVypGSgAA0cdG0V_tF":{"name":"dictionary(forOptions:)","abstract":"

    The options dictionary for the specified CloudStorageOptions

    ","parent_name":"CloudStorage"},"Protocols/CloudStorage.html#/s:9CoreStore12CloudStorageP08cs_eraseD7AndWait10soureModelySo015NSManagedObjectJ0C_tKF":{"name":"cs_eraseStorageAndWait(soureModel:)","abstract":"

    Called by the DataStack to perform actual deletion of the store file from disk. Do not call directly! The sourceModel argument is a hint for the existing store’s model version. Implementers can use the sourceModel to perform necessary store operations. (Cloud stores for example, can set the NSPersistentStoreRemoveUbiquitousMetadataOption option before deleting)

    ","parent_name":"CloudStorage"},"Protocols/LocalStorage.html#/s:9CoreStore12LocalStorageP7fileURL10Foundation0F0Vvp":{"name":"fileURL","abstract":"

    The NSURL that points to the store file

    ","parent_name":"LocalStorage"},"Protocols/LocalStorage.html#/s:9CoreStore12LocalStorageP25migrationMappingProvidersSayAA06SchemaF8Provider_pGvp":{"name":"migrationMappingProviders","abstract":"

    An array of SchemaMappingProviders that provide the complete mapping models for custom migrations.

    ","parent_name":"LocalStorage"},"Protocols/LocalStorage.html#/s:9CoreStore12LocalStorageP05localD7OptionsAA0cdF0Vvp":{"name":"localStorageOptions","abstract":"

    Options that tell the DataStack how to setup the persistent store

    ","parent_name":"LocalStorage"},"Protocols/LocalStorage.html#/s:9CoreStore12LocalStorageP10dictionary10forOptionsSDys11AnyHashableVypGSgAA0cdG0V_tF":{"name":"dictionary(forOptions:)","abstract":"

    The options dictionary for the specified LocalStorageOptions

    ","parent_name":"LocalStorage"},"Protocols/LocalStorage.html#/s:9CoreStore12LocalStorageP011cs_finalizeD7AndWait14soureModelHintySo015NSManagedObjectJ0C_tKF":{"name":"cs_finalizeStorageAndWait(soureModelHint:)","abstract":"

    Called by the DataStack to perform checkpoint operations on the storage. (SQLite stores for example, can convert the database’s WAL journaling mode to DELETE to force a checkpoint)

    ","parent_name":"LocalStorage"},"Protocols/LocalStorage.html#/s:9CoreStore12LocalStorageP08cs_eraseD7AndWait8metadata14soureModelHintySDySSypG_So015NSManagedObjectK0CSgtKF":{"name":"cs_eraseStorageAndWait(metadata:soureModelHint:)","abstract":"

    Called by the DataStack to perform actual deletion of the store file from disk. Do not call directly! The sourceModel argument is a hint for the existing store’s model version. Implementers can use the sourceModel to perform necessary store operations. (SQLite stores for example, can convert WAL journaling mode to DELETE before deleting)

    ","parent_name":"LocalStorage"},"Protocols/StorageInterface.html#/s:9CoreStore16StorageInterfaceP9storeTypeSSvpZ":{"name":"storeType","abstract":"

    The string identifier for the NSPersistentStore‘s type property. This is the same string CoreStore will use to create the NSPersistentStore from the NSPersistentStoreCoordinator’s addPersistentStoreWithType(...) method.

    ","parent_name":"StorageInterface"},"Protocols/StorageInterface.html#/s:9CoreStore16StorageInterfaceP13configurationSSSgvp":{"name":"configuration","abstract":"

    The configuration name in the model file

    ","parent_name":"StorageInterface"},"Protocols/StorageInterface.html#/s:9CoreStore16StorageInterfaceP12storeOptionsSDys11AnyHashableVypGSgvp":{"name":"storeOptions","abstract":"

    The options dictionary for the NSPersistentStore

    ","parent_name":"StorageInterface"},"Protocols/StorageInterface.html#/s:9CoreStore16StorageInterfaceP20cs_didAddToDataStackyyAA0iJ0CF":{"name":"cs_didAddToDataStack(_:)","abstract":"

    Do not call directly. Used by the DataStack internally.

    ","parent_name":"StorageInterface"},"Protocols/StorageInterface.html#/s:9CoreStore16StorageInterfaceP25cs_didRemoveFromDataStackyyAA0iJ0CF":{"name":"cs_didRemoveFromDataStack(_:)","abstract":"

    Do not call directly. Used by the DataStack internally.

    ","parent_name":"StorageInterface"},"Protocols/SelectClause.html#/s:9CoreStore12SelectClauseP10ObjectTypeQa":{"name":"ObjectType","abstract":"

    The DynamicObject type associated with the clause

    ","parent_name":"SelectClause"},"Protocols/SelectClause.html#/s:9CoreStore12SelectClauseP10ReturnTypeQa":{"name":"ReturnType","abstract":"

    The SelectResultType type associated with the clause

    ","parent_name":"SelectClause"},"Protocols/SelectClause.html#/s:9CoreStore12SelectClauseP11selectTermsSayAA0C4TermOy10ObjectTypeQzGGvp":{"name":"selectTerms","abstract":"

    The SelectTerms for the query

    ","parent_name":"SelectClause"},"Protocols/SectionMonitorBuilderType.html#/s:9CoreStore25SectionMonitorBuilderTypeP06ObjectF0Qa":{"name":"ObjectType","abstract":"

    The DynamicObject type for the ListMonitor

    ","parent_name":"SectionMonitorBuilderType"},"Protocols/SectionMonitorBuilderType.html#/s:9CoreStore25SectionMonitorBuilderTypeP4fromAA4FromVy06ObjectF0QzGvp":{"name":"from","abstract":"

    The From clause specifies the source entity and source persistent store for the ListMonitor

    ","parent_name":"SectionMonitorBuilderType"},"Protocols/SectionMonitorBuilderType.html#/s:9CoreStore25SectionMonitorBuilderTypeP9sectionByAA0cH0Vy06ObjectF0QzGvp":{"name":"sectionBy","abstract":"

    The SectionBy clause to be used for the ListMonitor

    ","parent_name":"SectionMonitorBuilderType"},"Protocols/SectionMonitorBuilderType.html#/s:9CoreStore25SectionMonitorBuilderTypeP12fetchClausesSayAA11FetchClause_pGvp":{"name":"fetchClauses","abstract":"

    The FetchClauses to be used for the ListMonitor

    ","parent_name":"SectionMonitorBuilderType"},"Protocols/SchemaMappingProvider.html#/s:9CoreStore21SchemaMappingProviderP09cs_createD5Model4from2to7storageSo09NSMappingH0C07mappingH0_AA13MigrationTypeO09migrationO0tAA07DynamicC0_p_AaN_pAA12LocalStorage_ptKF":{"name":"cs_createMappingModel(from:to:storage:)","abstract":"

    Do not call directly.

    ","parent_name":"SchemaMappingProvider"},"Protocols/QueryableSource.html#/s:9CoreStore15QueryableSourceP10queryValueyqd_0_SgAA4FromVyqd__G_AA6SelectVyqd__qd_0_GAA11QueryClause_pdtAA13DynamicObjectRd__AA0C13AttributeTypeRd_0_r0_lF":{"name":"queryValue(_:_:_:)","abstract":"

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"QueryableSource"},"Protocols/QueryableSource.html#/s:9CoreStore15QueryableSourceP10queryValueyqd_0_SgAA4FromVyqd__G_AA6SelectVyqd__qd_0_GSayAA11QueryClause_pGtAA13DynamicObjectRd__AA0C13AttributeTypeRd_0_r0_lF":{"name":"queryValue(_:_:_:)","abstract":"

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"QueryableSource"},"Protocols/QueryableSource.html#/s:9CoreStore15QueryableSourceP10queryValuey10ResultTypeQyd__Sgqd__AA021QueryChainableBuilderH0Rd__AA0c9AttributeH0AFRQlF":{"name":"queryValue(_:)","abstract":"

    Queries a property value or aggregate as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"QueryableSource"},"Protocols/QueryableSource.html#/s:9CoreStore15QueryableSourceP15queryAttributesySaySDySSypGGSgAA4FromVyqd__G_AA6SelectVyqd__So12NSDictionaryCGAA11QueryClause_pdtAA13DynamicObjectRd__lF":{"name":"queryAttributes(_:_:_:)","abstract":"

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"QueryableSource"},"Protocols/QueryableSource.html#/s:9CoreStore15QueryableSourceP15queryAttributesySaySDySSypGGSgAA4FromVyqd__G_AA6SelectVyqd__So12NSDictionaryCGSayAA11QueryClause_pGtAA13DynamicObjectRd__lF":{"name":"queryAttributes(_:_:_:)","abstract":"

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"QueryableSource"},"Protocols/QueryableSource.html#/s:9CoreStore15QueryableSourceP15queryAttributesySaySDySSypGGSgqd__AA25QueryChainableBuilderTypeRd__So12NSDictionaryC06ResultJ0Rtd__lF":{"name":"queryAttributes(_:)","abstract":"

    Queries a dictionary of attribute values or as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"QueryableSource"},"Protocols/QueryableSource.html#/s:9CoreStore15QueryableSourceP13unsafeContextSo015NSManagedObjectF0CyF":{"name":"unsafeContext()","abstract":"

    The internal NSManagedObjectContext managed by this QueryableSource. Using this context directly should typically be avoided, and is provided by CoreStore only for extremely specialized cases.

    ","parent_name":"QueryableSource"},"Protocols/QueryableAttributeType.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","abstract":"

    The CoreDataNativeType for this type when used in Select clauses.

    ","parent_name":"QueryableAttributeType"},"Protocols/QueryableAttributeType.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","abstract":"

    The NSAttributeType for this type when used in Select clauses.

    ","parent_name":"QueryableAttributeType"},"Protocols/QueryableAttributeType.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","abstract":"

    Creates an instance of this type from its QueryableNativeType value.

    ","parent_name":"QueryableAttributeType"},"Protocols/QueryableAttributeType.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","abstract":"

    Creates QueryableNativeType value from this instance.

    ","parent_name":"QueryableAttributeType"},"Protocols/QueryChainableBuilderType.html#/s:9CoreStore25QueryChainableBuilderTypeP06ObjectF0Qa":{"name":"ObjectType","abstract":"

    The DynamicObject type for the query

    ","parent_name":"QueryChainableBuilderType"},"Protocols/QueryChainableBuilderType.html#/s:9CoreStore25QueryChainableBuilderTypeP06ResultF0Qa":{"name":"ResultType","abstract":"

    The SelectResultType type for the query

    ","parent_name":"QueryChainableBuilderType"},"Protocols/QueryChainableBuilderType.html#/s:9CoreStore25QueryChainableBuilderTypeP4fromAA4FromVy06ObjectF0QzGvp":{"name":"from","abstract":"

    The From clause specifies the source entity and source persistent store for the query

    ","parent_name":"QueryChainableBuilderType"},"Protocols/QueryChainableBuilderType.html#/s:9CoreStore25QueryChainableBuilderTypeP6selectAA6SelectVy06ObjectF0Qz06ResultF0QzGvp":{"name":"select","abstract":"

    The Select clause to be used for the query

    ","parent_name":"QueryChainableBuilderType"},"Protocols/QueryChainableBuilderType.html#/s:9CoreStore25QueryChainableBuilderTypeP12queryClausesSayAA0C6Clause_pGvp":{"name":"queryClauses","abstract":"

    The QueryClauses to be used for the query

    ","parent_name":"QueryChainableBuilderType"},"Protocols/OrderByClause.html#/s:9CoreStore13OrderByClauseP10ObjectTypeQa":{"name":"ObjectType","abstract":"

    The DynamicObject type associated with the clause

    ","parent_name":"OrderByClause"},"Protocols/OrderByClause.html#/s:9CoreStore13OrderByClauseP15sortDescriptorsSaySo16NSSortDescriptorCGvp":{"name":"sortDescriptors","abstract":"

    The NSSortDescriptor array for the fetch or query

    ","parent_name":"OrderByClause"},"Protocols/ObjectObserver.html#/s:9CoreStore14ObjectObserverP0C10EntityTypeQa":{"name":"ObjectEntityType","abstract":"

    The DynamicObject type for the observed object

    ","parent_name":"ObjectObserver"},"Protocols/ObjectObserver.html#/s:9CoreStore14ObjectObserverP13objectMonitor_010willUpdateC0yAA0cF0Cy0C10EntityTypeQzG_AItF":{"name":"objectMonitor(_:willUpdateObject:)","abstract":"

    Handles processing just before a change to the observed object occurs. (Optional)","parent_name":"ObjectObserver"},"Protocols/ObjectObserver.html#/s:9CoreStore14ObjectObserverP13objectMonitor_09didUpdateC021changedPersistentKeysyAA0cF0Cy0C10EntityTypeQzG_AJShySSGtF":{"name":"objectMonitor(_:didUpdateObject:changedPersistentKeys:)","abstract":"

    Handles processing right after a change to the observed object occurs. (Optional)","parent_name":"ObjectObserver"},"Protocols/ObjectObserver.html#/s:9CoreStore14ObjectObserverP13objectMonitor_09didDeleteC0yAA0cF0Cy0C10EntityTypeQzG_AItF":{"name":"objectMonitor(_:didDeleteObject:)","abstract":"

    Handles processing right after object is deleted. (Optional)","parent_name":"ObjectObserver"},"Protocols/ListSectionObserver.html#/s:9CoreStore19ListSectionObserverP11listMonitor_09didInsertD002toD5IndexyAA0cG0Cy0C10EntityTypeQzG_So016NSFetchedResultsD4Info_pSitF":{"name":"listMonitor(_:didInsertSection:toSectionIndex:)","abstract":"

    Notifies that a section was inserted at the specified index. (Optional)","parent_name":"ListSectionObserver"},"Protocols/ListSectionObserver.html#/s:9CoreStore19ListSectionObserverP11listMonitor_09didDeleteD004fromD5IndexyAA0cG0Cy0C10EntityTypeQzG_So016NSFetchedResultsD4Info_pSitF":{"name":"listMonitor(_:didDeleteSection:fromSectionIndex:)","abstract":"

    Notifies that a section was inserted at the specified index. (Optional)","parent_name":"ListSectionObserver"},"Protocols/ListObjectObserver.html#/s:9CoreStore18ListObjectObserverP11listMonitor_09didInsertD011toIndexPathyAA0cG0Cy0C10EntityTypeQzG_AJ10Foundation0kL0VtF":{"name":"listMonitor(_:didInsertObject:toIndexPath:)","abstract":"

    Notifies that an object was inserted to the specified NSIndexPath in the list. (Optional)","parent_name":"ListObjectObserver"},"Protocols/ListObjectObserver.html#/s:9CoreStore18ListObjectObserverP11listMonitor_09didDeleteD013fromIndexPathyAA0cG0Cy0C10EntityTypeQzG_AJ10Foundation0kL0VtF":{"name":"listMonitor(_:didDeleteObject:fromIndexPath:)","abstract":"

    Notifies that an object was deleted from the specified NSIndexPath in the list. (Optional)","parent_name":"ListObjectObserver"},"Protocols/ListObjectObserver.html#/s:9CoreStore18ListObjectObserverP11listMonitor_09didUpdateD011atIndexPathyAA0cG0Cy0C10EntityTypeQzG_AJ10Foundation0kL0VtF":{"name":"listMonitor(_:didUpdateObject:atIndexPath:)","abstract":"

    Notifies that an object at the specified NSIndexPath was updated. (Optional)","parent_name":"ListObjectObserver"},"Protocols/ListObjectObserver.html#/s:9CoreStore18ListObjectObserverP11listMonitor_07didMoveD013fromIndexPath02tokL0yAA0cG0Cy0C10EntityTypeQzG_AK10Foundation0kL0VAOtF":{"name":"listMonitor(_:didMoveObject:fromIndexPath:toIndexPath:)","abstract":"

    Notifies that an object’s index changed. (Optional)","parent_name":"ListObjectObserver"},"Protocols/ListObserver.html#/s:9CoreStore12ListObserverP0C10EntityTypeQa":{"name":"ListEntityType","abstract":"

    The NSManagedObject type for the observed list

    ","parent_name":"ListObserver"},"Protocols/ListObserver.html#/s:9CoreStore12ListObserverP21listMonitorWillChangeyyAA0cF0Cy0C10EntityTypeQzGF":{"name":"listMonitorWillChange(_:)","abstract":"

    Handles processing just before a change to the observed list occurs. (Optional)","parent_name":"ListObserver"},"Protocols/ListObserver.html#/s:9CoreStore12ListObserverP20listMonitorDidChangeyyAA0cF0Cy0C10EntityTypeQzGF":{"name":"listMonitorDidChange(_:)","abstract":"

    Handles processing right after a change to the observed list occurs. (Required)

    ","parent_name":"ListObserver"},"Protocols/ListObserver.html#/s:9CoreStore12ListObserverP22listMonitorWillRefetchyyAA0cF0Cy0C10EntityTypeQzGF":{"name":"listMonitorWillRefetch(_:)","abstract":"

    This method is broadcast from within the ListMonitor‘s refetch(...) method to let observers prepare for the internal NSFetchedResultsController’s pending change to its predicate, sort descriptors, etc. (Optional)

    ","parent_name":"ListObserver"},"Protocols/ListObserver.html#/s:9CoreStore12ListObserverP21listMonitorDidRefetchyyAA0cF0Cy0C10EntityTypeQzGF":{"name":"listMonitorDidRefetch(_:)","abstract":"

    After the ListMonitor‘s refetch(...) method is called, this method is broadcast after the NSFetchedResultsController’s last controllerDidChangeContent(_:) notification completes. (Required)

    ","parent_name":"ListObserver"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP0D6IDTypeQa":{"name":"UniqueIDType","abstract":"

    The data type for the entity’s unique ID attribute

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP15uniqueIDKeyPathSSvpZ":{"name":"uniqueIDKeyPath","abstract":"

    The keyPath to the entity’s unique ID attribute

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP13uniqueIDValue0D6IDTypeQzvp":{"name":"uniqueIDValue","abstract":"

    The object’s unique ID value. The default implementation returns the value of the attribute pertained to by uniqueIDKeyPath

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP12shouldInsert4from2inSb12ImportSourceQz_AA19BaseDataTransactionCtFZ":{"name":"shouldInsert(from:in:)","abstract":"

    Return true if an object should be created from source. Return false to ignore and skip source. The default implementation returns the value returned by the shouldUpdate(from:in:) implementation.

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP12shouldUpdate4from2inSb12ImportSourceQz_AA19BaseDataTransactionCtFZ":{"name":"shouldUpdate(from:in:)","abstract":"

    Return true if an object should be updated from source. Return false to ignore and skip source. The default implementation returns true.

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP8uniqueID4from2in0D6IDTypeQzSg12ImportSourceQz_AA19BaseDataTransactionCtKFZ":{"name":"uniqueID(from:in:)","abstract":"

    Return the unique ID as extracted from source. This method is called before shouldInsert(from:in:) or shouldUpdate(from:in:). Return nil to skip importing from source. Note that throwing from this method will cause subsequent imports that are part of the same importUniqueObjects(:sourceArray:) call to be cancelled.

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP9didInsert4from2iny12ImportSourceQz_AA19BaseDataTransactionCtKF":{"name":"didInsert(from:in:)","abstract":"

    Implements the actual importing of data from source. This method is called just after the object is created and assigned its unique ID as returned from uniqueID(from:in:). Implementers should pull values from source and assign them to the receiver’s attributes. Note that throwing from this method will cause subsequent imports that are part of the same importUniqueObjects(:sourceArray:) call to be cancelled. The default implementation simply calls update(from:in:).

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP6update4from2iny12ImportSourceQz_AA19BaseDataTransactionCtKF":{"name":"update(from:in:)","abstract":"

    Implements the actual importing of data from source. This method is called just after the existing object is fetched using its unique ID. Implementers should pull values from source and assign them to the receiver’s attributes. Note that throwing from this method will cause subsequent imports that are part of the same importUniqueObjects(:sourceArray:) call to be cancelled.

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableObject.html#/s:9CoreStore16ImportableObjectP12ImportSourceQa":{"name":"ImportSource","abstract":"

    The data type for the import source. This is most commonly an json type, NSDictionary, or another external source such as NSUserDefaults.

    ","parent_name":"ImportableObject"},"Protocols/ImportableObject.html#/s:9CoreStore16ImportableObjectP12shouldInsert4from2inSb12ImportSourceQz_AA19BaseDataTransactionCtFZ":{"name":"shouldInsert(from:in:)","abstract":"

    Return true if an object should be created from source. Return false to ignore and skip source. The default implementation returns true.

    ","parent_name":"ImportableObject"},"Protocols/ImportableObject.html#/s:9CoreStore16ImportableObjectP9didInsert4from2iny12ImportSourceQz_AA19BaseDataTransactionCtKF":{"name":"didInsert(from:in:)","abstract":"

    Implements the actual importing of data from source. Implementers should pull values from source and assign them to the receiver’s attributes. Note that throwing from this method will cause subsequent imports that are part of the same importObjects(:sourceArray:) call to be cancelled.

    ","parent_name":"ImportableObject"},"Protocols/ICloudStoreObserver.html#/s:9CoreStore06ICloudB8ObserverP06iCloudb20WillFinishUbiquitousB13InitialImport7storage9dataStackyAA0cB0C_AA04DataM0CtF":{"name":"iCloudStoreWillFinishUbiquitousStoreInitialImport(storage:dataStack:)","abstract":"

    Notifies that the initial ubiquitous store import will complete

    ","parent_name":"ICloudStoreObserver"},"Protocols/ICloudStoreObserver.html#/s:9CoreStore06ICloudB8ObserverP06iCloudb19DidFinishUbiquitousB13InitialImport7storage9dataStackyAA0cB0C_AA04DataM0CtF":{"name":"iCloudStoreDidFinishUbiquitousStoreInitialImport(storage:dataStack:)","abstract":"

    Notifies that the initial ubiquitous store import completed

    ","parent_name":"ICloudStoreObserver"},"Protocols/ICloudStoreObserver.html#/s:9CoreStore06ICloudB8ObserverP06iCloudB14WillAddAccount7storage9dataStackyAA0cB0C_AA04DataK0CtF":{"name":"iCloudStoreWillAddAccount(storage:dataStack:)","abstract":"

    Notifies that an iCloud account will be added to the coordinator

    ","parent_name":"ICloudStoreObserver"},"Protocols/ICloudStoreObserver.html#/s:9CoreStore06ICloudB8ObserverP06iCloudB13DidAddAccount7storage9dataStackyAA0cB0C_AA04DataK0CtF":{"name":"iCloudStoreDidAddAccount(storage:dataStack:)","abstract":"

    Notifies that an iCloud account was added to the coordinator

    ","parent_name":"ICloudStoreObserver"},"Protocols/ICloudStoreObserver.html#/s:9CoreStore06ICloudB8ObserverP06iCloudB17WillRemoveAccount7storage9dataStackyAA0cB0C_AA04DataK0CtF":{"name":"iCloudStoreWillRemoveAccount(storage:dataStack:)","abstract":"

    Notifies that an iCloud account will be removed from the coordinator

    ","parent_name":"ICloudStoreObserver"},"Protocols/ICloudStoreObserver.html#/s:9CoreStore06ICloudB8ObserverP06iCloudB16DidRemoveAccount7storage9dataStackyAA0cB0C_AA04DataK0CtF":{"name":"iCloudStoreDidRemoveAccount(storage:dataStack:)","abstract":"

    Notifies that an iCloud account was removed from the coordinator

    ","parent_name":"ICloudStoreObserver"},"Protocols/ICloudStoreObserver.html#/s:9CoreStore06ICloudB8ObserverP06iCloudB17WillRemoveContent7storage9dataStackyAA0cB0C_AA04DataK0CtF":{"name":"iCloudStoreWillRemoveContent(storage:dataStack:)","abstract":"

    Notifies that iCloud contents will be deleted

    ","parent_name":"ICloudStoreObserver"},"Protocols/ICloudStoreObserver.html#/s:9CoreStore06ICloudB8ObserverP06iCloudB16DidRemoveContent7storage9dataStackyAA0cB0C_AA04DataK0CtF":{"name":"iCloudStoreDidRemoveContent(storage:dataStack:)","abstract":"

    Notifies that iCloud contents were deleted

    ","parent_name":"ICloudStoreObserver"},"Protocols/GroupByClause.html#/s:9CoreStore13GroupByClauseP10ObjectTypeQa":{"name":"ObjectType","abstract":"

    The DynamicObject type associated with the clause

    ","parent_name":"GroupByClause"},"Protocols/GroupByClause.html#/s:9CoreStore13GroupByClauseP8keyPathsSaySSGvp":{"name":"keyPaths","abstract":"

    The list of key path strings to group results with

    ","parent_name":"GroupByClause"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13fetchExistingyqd__Sgqd__AA13DynamicObjectRd__lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instance in the FetchableSource‘s context from a reference created from another managed object context.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13fetchExistingyqd__SgSo17NSManagedObjectIDCAA07DynamicH0Rd__lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instance in the FetchableSource‘s context from an NSManagedObjectID.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13fetchExistingySayqd__Gqd_0_AA13DynamicObjectRd__7ElementQyd_0_Rsd__STRd_0_r0_lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instances in the FetchableSource‘s context from references created from another managed object context.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13fetchExistingySayqd__Gqd_0_AA13DynamicObjectRd__STRd_0_So09NSManagedH2IDC7ElementRtd_0_r0_lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instances in the FetchableSource‘s context from a list of NSManagedObjectID.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP8fetchOneyqd__SgAA4FromVyqd__G_AA11FetchClause_pdtAA13DynamicObjectRd__lF":{"name":"fetchOne(_:_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP8fetchOneyqd__SgAA4FromVyqd__G_SayAA11FetchClause_pGtAA13DynamicObjectRd__lF":{"name":"fetchOne(_:_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP8fetchOney10ObjectTypeQyd__Sgqd__AA021FetchChainableBuilderH0Rd__lF":{"name":"fetchOne(_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP8fetchAllySayqd__GSgAA4FromVyqd__G_AA11FetchClause_pdtAA13DynamicObjectRd__lF":{"name":"fetchAll(_:_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP8fetchAllySayqd__GSgAA4FromVyqd__G_SayAA11FetchClause_pGtAA13DynamicObjectRd__lF":{"name":"fetchAll(_:_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP8fetchAllySay10ObjectTypeQyd__GSgqd__AA021FetchChainableBuilderH0Rd__lF":{"name":"fetchAll(_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP10fetchCountySiSgAA4FromVyqd__G_AA11FetchClause_pdtAA13DynamicObjectRd__lF":{"name":"fetchCount(_:_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP10fetchCountySiSgAA4FromVyqd__G_SayAA11FetchClause_pGtAA13DynamicObjectRd__lF":{"name":"fetchCount(_:_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP10fetchCountySiSgqd__AA25FetchChainableBuilderTypeRd__lF":{"name":"fetchCount(_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13fetchObjectIDySo09NSManagedfG0CSgAA4FromVyqd__G_AA11FetchClause_pdtAA07DynamicF0Rd__lF":{"name":"fetchObjectID(_:_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13fetchObjectIDySo09NSManagedfG0CSgAA4FromVyqd__G_SayAA11FetchClause_pGtAA07DynamicF0Rd__lF":{"name":"fetchObjectID(_:_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13fetchObjectIDySo09NSManagedfG0CSgqd__AA25FetchChainableBuilderTypeRd__lF":{"name":"fetchObjectID(_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP14fetchObjectIDsySaySo09NSManagedF2IDCGSgAA4FromVyqd__G_AA11FetchClause_pdtAA07DynamicF0Rd__lF":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP14fetchObjectIDsySaySo09NSManagedF2IDCGSgAA4FromVyqd__G_SayAA11FetchClause_pGtAA07DynamicF0Rd__lF":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP14fetchObjectIDsySaySo09NSManagedF2IDCGSgqd__AA25FetchChainableBuilderTypeRd__lF":{"name":"fetchObjectIDs(_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13unsafeContextSo015NSManagedObjectF0CyF":{"name":"unsafeContext()","abstract":"

    The internal NSManagedObjectContext managed by this FetchableSource. Using this context directly should typically be avoided, and is provided by CoreStore only for extremely specialized cases.

    ","parent_name":"FetchableSource"},"Protocols/FetchChainableBuilderType.html#/s:9CoreStore25FetchChainableBuilderTypeP06ObjectF0Qa":{"name":"ObjectType","abstract":"

    The DynamicObject type for the fetch

    ","parent_name":"FetchChainableBuilderType"},"Protocols/FetchChainableBuilderType.html#/s:9CoreStore25FetchChainableBuilderTypeP4fromAA4FromVy06ObjectF0QzGvp":{"name":"from","abstract":"

    The From clause specifies the source entity and source persistent store for the fetch

    ","parent_name":"FetchChainableBuilderType"},"Protocols/FetchChainableBuilderType.html#/s:9CoreStore25FetchChainableBuilderTypeP12fetchClausesSayAA0C6Clause_pGvp":{"name":"fetchClauses","abstract":"

    The FetchClauses to be used for the fetch

    ","parent_name":"FetchChainableBuilderType"},"Protocols/DynamicSchema.html#/s:9CoreStore13DynamicSchemaP12modelVersionSSvp":{"name":"modelVersion","abstract":"

    The version string for this model schema.

    ","parent_name":"DynamicSchema"},"Protocols/DynamicSchema.html#/s:9CoreStore13DynamicSchemaP8rawModelSo015NSManagedObjectF0CyF":{"name":"rawModel()","abstract":"

    Do not call this directly. The NSManagedObjectModel for this schema may be created lazily and using this method directly may affect the integrity of the model.

    ","parent_name":"DynamicSchema"},"Protocols/DynamicSchema.html#/s:9CoreStore13DynamicSchemaPAAE05printabD0SSyF":{"name":"printCoreStoreSchema()","abstract":"

    Prints the DynamicSchema as their corresponding CoreStoreObject Swift declarations. This is useful for converting current XcodeDataModelSchema-based models into the new CoreStoreSchema framework. Additional adjustments may need to be done to the generated source code; for example: Transformable concrete types need to be provided, as well as default values.

    ","parent_name":"DynamicSchema"},"Protocols/DynamicKeyPath.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","abstract":"

    The DynamicObject type

    ","parent_name":"DynamicKeyPath"},"Protocols/DynamicKeyPath.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","abstract":"

    The Value type

    ","parent_name":"DynamicKeyPath"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectP14cs_forceCreate17entityDescription4into8assignToxSo08NSEntityI0C_So09NSManagedD7ContextCSo012NSPersistentB0CtFZ":{"name":"cs_forceCreate(entityDescription:into:assignTo:)","abstract":"

    Used internally by CoreStore. Do not call directly.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectP10cs_fromRaw6objectxSo09NSManagedD0C_tFZ":{"name":"cs_fromRaw(object:)","abstract":"

    Used internally by CoreStore. Do not call directly.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectP10cs_matches6objectSbSo09NSManagedD0C_tFZ":{"name":"cs_matches(object:)","abstract":"

    Used internally by CoreStore. Do not call directly.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectP5cs_idSo09NSManagedD2IDCyF":{"name":"cs_id()","abstract":"

    Used internally by CoreStore. Do not call directly.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectP8cs_toRawSo09NSManagedD0CyF":{"name":"cs_toRaw()","abstract":"

    Used internally by CoreStore. Do not call directly.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectPA2A0abD0CRbzrlE07partialD0AA07PartialD0VyxGyF":{"name":"partialObject()","abstract":"

    Returns the PartialObject instance for the object, which acts as a fast, type-safe KVC interface for CoreStoreObject.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectPA2A0abD0CRbzrlE12Relationshipa":{"name":"Relationship","abstract":"

    The containing type for relationships. Relationships can be any CoreStoreObject subclass.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectPA2A0abD0CRbzrlE13Transformablea":{"name":"Transformable","abstract":"

    The containing type for transformable properties. Transformable properties support types that conforms to NSCoding & NSCopying.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectPA2A0abD0CRbzrlE5Valuea":{"name":"Value","abstract":"

    The containing type for value propertiess. Value properties support any type that conforms to ImportableAttributeType.

    ","parent_name":"DynamicObject"},"Protocols/CoreStoreObjectKeyValueObservation.html#/s:9CoreStore0aB25ObjectKeyValueObservationP10invalidateyyF":{"name":"invalidate()","abstract":"

    invalidate() will be called automatically when an CoreStoreObjectKeyValueObservation is deinited.

    ","parent_name":"CoreStoreObjectKeyValueObservation"},"Protocols/CoreStoreLogger.html#/s:9CoreStore0aB6LoggerP3log5level7message8fileName10lineNumber08functionH0yAA8LogLevelO_SSs12StaticStringVSiAMtF":{"name":"log(level:message:fileName:lineNumber:functionName:)","abstract":"

    Handles log messages sent by the CoreStore framework.

    ","parent_name":"CoreStoreLogger"},"Protocols/CoreStoreLogger.html#/s:9CoreStore0aB6LoggerP3log5error7message8fileName10lineNumber08functionH0yAA0aB5ErrorO_SSs12StaticStringVSiAMtF":{"name":"log(error:message:fileName:lineNumber:functionName:)","abstract":"

    Handles errors sent by the CoreStore framework.

    ","parent_name":"CoreStoreLogger"},"Protocols/CoreStoreLogger.html#/s:9CoreStore0aB6LoggerP6assert_7message8fileName10lineNumber08functionG0ySbyXK_SSyXKs12StaticStringVSiAJtF":{"name":"assert(_:message:fileName:lineNumber:functionName:)","abstract":"

    Handles assertions made throughout the CoreStore framework.

    ","parent_name":"CoreStoreLogger"},"Protocols/CoreStoreLogger.html#/s:9CoreStore0aB6LoggerP5abort_8fileName10lineNumber08functionF0ySS_s12StaticStringVSiAItF":{"name":"abort(_:fileName:lineNumber:functionName:)","abstract":"

    Handles fatal errors made throughout the CoreStore framework. The app wil terminate after this method is called.

    ","parent_name":"CoreStoreLogger"},"Protocols/CoreStoreSwiftType.html#/s:9CoreStore0aB9SwiftTypeP14ObjectiveCTypeQa":{"name":"ObjectiveCType","abstract":"

    The corresponding Objective-C type

    ","parent_name":"CoreStoreSwiftType"},"Protocols/CoreStoreSwiftType.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","abstract":"

    The bridged Objective-C instance

    ","parent_name":"CoreStoreSwiftType"},"Protocols/CoreStoreObjectiveCType.html#/s:9CoreStore0aB14ObjectiveCTypeP9SwiftTypeQa":{"name":"SwiftType","abstract":"

    The corresponding Swift type

    ","parent_name":"CoreStoreObjectiveCType"},"Protocols/CoreStoreObjectiveCType.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","abstract":"

    The bridged Swift instance

    ","parent_name":"CoreStoreObjectiveCType"},"Protocols/CoreStoreObjectiveCType.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","abstract":"

    Initializes this instance with the Swift instance to bridge from

    ","parent_name":"CoreStoreObjectiveCType"},"Protocols/CSLocalStorage.html#/c:@M@CoreStore@objc(pl)CSLocalStorage(py)fileURL":{"name":"fileURL","abstract":"

    The NSURL that points to the store file

    ","parent_name":"CSLocalStorage"},"Protocols/CSLocalStorage.html#/c:@M@CoreStore@objc(pl)CSLocalStorage(py)migrationMappingProviders":{"name":"migrationMappingProviders","abstract":"

    An array of SchemaMappingProviders that provides the complete mapping models for custom migrations. This is currently only supported for Swift code.

    ","parent_name":"CSLocalStorage"},"Protocols/CSLocalStorage.html#/c:@M@CoreStore@objc(pl)CSLocalStorage(py)localStorageOptions":{"name":"localStorageOptions","abstract":"

    Options that tell the CSDataStack how to setup the persistent store

    ","parent_name":"CSLocalStorage"},"Protocols/CSLocalStorage.html#/c:@M@CoreStore@objc(pl)CSLocalStorage(im)cs_eraseStorageAndWaitWithMetadata:soureModelHint:error:":{"name":"cs_eraseStorageAndWait(metadata:soureModelHint:error:)","abstract":"

    Called by the CSDataStack to perform actual deletion of the store file from disk. Do not call directly! The sourceModel argument is a hint for the existing store’s model version. Implementers can use the sourceModel to perform necessary store operations. (SQLite stores for example, can convert WAL journaling mode to DELETE before deleting)

    ","parent_name":"CSLocalStorage"},"Protocols/CSStorageInterface.html#/c:@M@CoreStore@objc(pl)CSStorageInterface(cpy)storeType":{"name":"storeType","abstract":"

    The string identifier for the NSPersistentStore‘s type property. This is the same string CoreStore will use to create the NSPersistentStore from the NSPersistentStoreCoordinator’s addPersistentStoreWithType(...) method.

    ","parent_name":"CSStorageInterface"},"Protocols/CSStorageInterface.html#/c:@M@CoreStore@objc(pl)CSStorageInterface(py)configuration":{"name":"configuration","abstract":"

    The configuration name in the model file

    ","parent_name":"CSStorageInterface"},"Protocols/CSStorageInterface.html#/c:@M@CoreStore@objc(pl)CSStorageInterface(py)storeOptions":{"name":"storeOptions","abstract":"

    The options dictionary for the NSPersistentStore

    ","parent_name":"CSStorageInterface"},"Protocols/CSObjectObserver.html#/c:@M@CoreStore@objc(pl)CSObjectObserver(im)objectMonitor:willUpdateObject:":{"name":"objectMonitor(_:willUpdateObject:)","abstract":"

    Handles processing just before a change to the observed object occurs

    ","parent_name":"CSObjectObserver"},"Protocols/CSObjectObserver.html#/c:@M@CoreStore@objc(pl)CSObjectObserver(im)objectMonitor:didUpdateObject:changedPersistentKeys:":{"name":"objectMonitor(_:didUpdateObject:changedPersistentKeys:)","abstract":"

    Handles processing right after a change to the observed object occurs

    ","parent_name":"CSObjectObserver"},"Protocols/CSObjectObserver.html#/c:@M@CoreStore@objc(pl)CSObjectObserver(im)objectMonitor:didDeleteObject:":{"name":"objectMonitor(_:didDeleteObject:)","abstract":"

    Handles processing right after object is deleted

    ","parent_name":"CSObjectObserver"},"Protocols/CSListSectionObserver.html#/c:@M@CoreStore@objc(pl)CSListSectionObserver(im)listMonitor:didInsertSection:toSectionIndex:":{"name":"listMonitor(_:didInsertSection:toSectionIndex:)","abstract":"

    Notifies that a section was inserted at the specified index

    ","parent_name":"CSListSectionObserver"},"Protocols/CSListSectionObserver.html#/c:@M@CoreStore@objc(pl)CSListSectionObserver(im)listMonitor:didDeleteSection:fromSectionIndex:":{"name":"listMonitor(_:didDeleteSection:fromSectionIndex:)","abstract":"

    Notifies that a section was inserted at the specified index

    ","parent_name":"CSListSectionObserver"},"Protocols/CSListObjectObserver.html#/c:@M@CoreStore@objc(pl)CSListObjectObserver(im)listMonitor:didInsertObject:toIndexPath:":{"name":"listMonitor(_:didInsertObject:toIndexPath:)","abstract":"

    Notifies that an object was inserted to the specified NSIndexPath in the list

    ","parent_name":"CSListObjectObserver"},"Protocols/CSListObjectObserver.html#/c:@M@CoreStore@objc(pl)CSListObjectObserver(im)listMonitor:didDeleteObject:fromIndexPath:":{"name":"listMonitor(_:didDeleteObject:fromIndexPath:)","abstract":"

    Notifies that an object was deleted from the specified NSIndexPath in the list

    ","parent_name":"CSListObjectObserver"},"Protocols/CSListObjectObserver.html#/c:@M@CoreStore@objc(pl)CSListObjectObserver(im)listMonitor:didUpdateObject:atIndexPath:":{"name":"listMonitor(_:didUpdateObject:atIndexPath:)","abstract":"

    Notifies that an object at the specified NSIndexPath was updated

    ","parent_name":"CSListObjectObserver"},"Protocols/CSListObjectObserver.html#/c:@M@CoreStore@objc(pl)CSListObjectObserver(im)listMonitor:didMoveObject:fromIndexPath:toIndexPath:":{"name":"listMonitor(_:didMoveObject:fromIndexPath:toIndexPath:)","abstract":"

    Notifies that an object’s index changed

    ","parent_name":"CSListObjectObserver"},"Protocols/CSListObserver.html#/c:@M@CoreStore@objc(pl)CSListObserver(im)listMonitorWillChange:":{"name":"listMonitorWillChange(_:)","abstract":"

    Handles processing just before a change to the observed list occurs

    ","parent_name":"CSListObserver"},"Protocols/CSListObserver.html#/c:@M@CoreStore@objc(pl)CSListObserver(im)listMonitorDidChange:":{"name":"listMonitorDidChange(_:)","abstract":"

    Handles processing right after a change to the observed list occurs

    ","parent_name":"CSListObserver"},"Protocols/CSListObserver.html#/c:@M@CoreStore@objc(pl)CSListObserver(im)listMonitorWillRefetch:":{"name":"listMonitorWillRefetch(_:)","abstract":"

    This method is broadcast from within the CSListMonitor‘s -refetchWithFetchClauses: method to let observers prepare for the internal NSFetchedResultsController’s pending change to its predicate, sort descriptors, etc. Note that the actual refetch will happen after the NSFetchedResultsController’s last -controllerDidChangeContent: notification completes.

    ","parent_name":"CSListObserver"},"Protocols/CSListObserver.html#/c:@M@CoreStore@objc(pl)CSListObserver(im)listMonitorDidRefetch:":{"name":"listMonitorDidRefetch(_:)","abstract":"

    After the CSListMonitor‘s -refetchWithFetchClauses: method is called, this method is broadcast after the NSFetchedResultsController’s last -controllerDidChangeContent: notification completes.

    ","parent_name":"CSListObserver"},"Protocols/CSDynamicSchema.html#/c:@M@CoreStore@objc(pl)CSDynamicSchema(py)modelVersion":{"name":"modelVersion","abstract":"

    The version string for this model schema.

    ","parent_name":"CSDynamicSchema"},"Protocols/CSDynamicSchema.html#/c:@M@CoreStore@objc(pl)CSDynamicSchema(im)rawModel":{"name":"rawModel()","abstract":"

    Do not call this directly. The NSManagedObjectModel for this schema may be created lazily and using this method directly may affect the integrity of the model.

    ","parent_name":"CSDynamicSchema"},"Protocols.html#/c:@M@CoreStore@objc(pl)CSFetchClause":{"name":"CSFetchClause","abstract":"

    The CSFetchClause implement clauses used to configure NSFetchRequests.

    "},"Protocols.html#/c:@M@CoreStore@objc(pl)CSQueryClause":{"name":"CSQueryClause","abstract":"

    The CSQueryClause implement clauses used to configure NSFetchRequests.

    "},"Protocols.html#/c:@M@CoreStore@objc(pl)CSDeleteClause":{"name":"CSDeleteClause","abstract":"

    The CSDeleteClause implement clauses used to configure NSFetchRequests.

    "},"Protocols/CSDynamicSchema.html":{"name":"CSDynamicSchema","abstract":"

    The CSDynamicSchema serves as the Objective-C bridging type for DynamicSchema.

    "},"Protocols/CSListObserver.html":{"name":"CSListObserver","abstract":"

    Implement the CSListObserver protocol to observe changes to a list of NSManagedObjects. CSListObservers may register themselves to a CSListMonitor‘s -addListObserver: method:

    "},"Protocols/CSListObjectObserver.html":{"name":"CSListObjectObserver","abstract":"

    Implement the CSListObjectObserver protocol to observe detailed changes to a list’s object. CSListObjectObservers may register themselves to a CSListMonitor‘s -addListObjectObserver(_:) method:

    "},"Protocols/CSListSectionObserver.html":{"name":"CSListSectionObserver","abstract":"

    Implement the CSListSectionObserver protocol to observe changes to a list’s section info. CSListSectionObservers may register themselves to a CSListMonitor‘s -addListSectionObserver: method:

    "},"Protocols/CSObjectObserver.html":{"name":"CSObjectObserver","abstract":"

    Implement the CSObjectObserver protocol to observe changes to a single NSManagedObject instance. CSObjectObservers may register themselves to a CSObjectMonitor‘s -addObjectObserver: method:

    "},"Protocols/CSStorageInterface.html":{"name":"CSStorageInterface","abstract":"

    The CSStorageInterface serves as the Objective-C bridging type for StorageInterface.

    "},"Protocols/CSLocalStorage.html":{"name":"CSLocalStorage","abstract":"

    The CSLocalStorage serves as the Objective-C bridging type for LocalStorage.

    "},"Protocols.html#/c:@M@CoreStore@objc(pl)CoreDataNativeType":{"name":"CoreDataNativeType","abstract":"

    Objective-C Foundation types that are natively supported by Core Data managed attributes all conform to CoreDataNativeType.

    "},"Protocols/CoreStoreObjectiveCType.html":{"name":"CoreStoreObjectiveCType","abstract":"

    CoreStoreObjectiveCTypes are Objective-C accessible classes that represent CoreStore’s Swift types.

    "},"Protocols/CoreStoreSwiftType.html":{"name":"CoreStoreSwiftType","abstract":"

    CoreStoreSwiftTypes are CoreStore’s Swift types that are bridgeable to Objective-C.

    "},"Protocols/CoreStoreLogger.html":{"name":"CoreStoreLogger","abstract":"

    Custom loggers should implement the CoreStoreLogger protocol and pass its instance to CoreStore.logger. Calls to log(...), assert(...), and abort(...) are not tied to a specific queue/thread, so it is the implementer’s job to handle thread-safety.

    "},"Protocols/CoreStoreObjectKeyValueObservation.html":{"name":"CoreStoreObjectKeyValueObservation","abstract":"

    Observation token for CoreStoreObject properties. Make sure to retain this instance to keep observing notifications.

    "},"Protocols/DynamicObject.html":{"name":"DynamicObject","abstract":"

    All CoreStore’s utilities are designed around DynamicObject instances. NSManagedObject and CoreStoreObject instances all conform to DynamicObject.

    "},"Protocols/DynamicKeyPath.html":{"name":"DynamicKeyPath","abstract":"

    Used only for utility methods.

    "},"Protocols/DynamicSchema.html":{"name":"DynamicSchema","abstract":"

    DynamicSchema are types that provide NSManagedObjectModel instances for a single model version. CoreStore currently supports the following concrete types:

    "},"Protocols/FetchChainableBuilderType.html":{"name":"FetchChainableBuilderType","abstract":"

    Utility protocol for FetchChainBuilder. Used in fetch methods that support chained fetch builders.

    "},"Protocols/FetchableSource.html":{"name":"FetchableSource","abstract":"

    Encapsulates containers which manages an internal NSManagedObjectContext, such as DataStacks and transactions, that can be used for fetching objects. CoreStore provides implementations for this protocol and should be used as a read-only abstraction.

    "},"Protocols/GroupByClause.html":{"name":"GroupByClause","abstract":"

    Abstracts the GroupBy clause for protocol utilities.

    "},"Protocols/ICloudStoreObserver.html":{"name":"ICloudStoreObserver","abstract":"

    Implement the ICloudStoreObserver protocol to observe ubiquitous storage notifications from the specified iCloud store."},"Protocols.html#/s:9CoreStore23ImportableAttributeTypeP":{"name":"ImportableAttributeType","abstract":"

    Types supported by CoreStore as NSManagedObject and CoreStoreObject property types."},"Protocols/ImportableObject.html":{"name":"ImportableObject","abstract":"

    NSManagedObject and CoreStoreObject subclasses that conform to the ImportableObject protocol can be imported from a specified ImportSource. This allows transactions to create and insert instances this way:

    "},"Protocols/ImportableUniqueObject.html":{"name":"ImportableUniqueObject","abstract":"

    NSManagedObject subclasses that conform to the ImportableUniqueObject protocol can be imported from a specified ImportSource. This allows transactions to either update existing objects or create new instances this way:

    "},"Protocols/ListObserver.html":{"name":"ListObserver","abstract":"

    Implement the ListObserver protocol to observe changes to a list of NSManagedObjects. ListObservers may register themselves to a ListMonitor‘s addObserver(_:) method:

    "},"Protocols/ListObjectObserver.html":{"name":"ListObjectObserver","abstract":"

    Implement the ListObjectObserver protocol to observe detailed changes to a list’s object. ListObjectObservers may register themselves to a ListMonitor‘s addObserver(_:) method:

    "},"Protocols/ListSectionObserver.html":{"name":"ListSectionObserver","abstract":"

    Implement the ListSectionObserver protocol to observe changes to a list’s section info. ListSectionObservers may register themselves to a ListMonitor‘s addObserver(_:) method:

    "},"Protocols/ObjectObserver.html":{"name":"ObjectObserver","abstract":"

    Implement the ObjectObserver protocol to observe changes to a single DynamicObject instance. ObjectObservers may register themselves to a ObjectMonitor‘s addObserver(_:) method:

    "},"Protocols/OrderByClause.html":{"name":"OrderByClause","abstract":"

    Abstracts the OrderBy clause for protocol utilities.

    "},"Protocols/QueryChainableBuilderType.html":{"name":"QueryChainableBuilderType","abstract":"

    Utility protocol for QueryChainBuilder. Used in fetch methods that support chained query builders.

    "},"Protocols/QueryableAttributeType.html":{"name":"QueryableAttributeType","abstract":"

    Types supported by CoreStore for querying, especially as generic type for Select clauses."},"Protocols/QueryableSource.html":{"name":"QueryableSource","abstract":"

    Encapsulates containers which manages an internal NSManagedObjectContext, such as DataStacks and transactions, that can be used for querying values. CoreStore provides implementations for this protocol and should be used as a read-only abstraction.

    "},"Protocols/SchemaMappingProvider.html":{"name":"SchemaMappingProvider","abstract":"

    The SchemaMappingProvider provides migration mapping information between two DynamicSchema versions.

    "},"Protocols/SectionMonitorBuilderType.html":{"name":"SectionMonitorBuilderType","abstract":"

    Utility protocol for SectionMonitorChainBuilder. Used in methods that support chained fetch builders.

    "},"Protocols.html#/s:9CoreStore16SelectResultTypeP":{"name":"SelectResultType","abstract":"

    The SelectResultType protocol is implemented by return types supported by the Select clause.

    "},"Protocols.html#/s:9CoreStore26SelectAttributesResultTypeP":{"name":"SelectAttributesResultType","abstract":"

    The SelectAttributesResultType protocol is implemented by return types supported by the queryAttributes(...) methods.

    "},"Protocols/SelectClause.html":{"name":"SelectClause","abstract":"

    Abstracts the Select clause for protocol utilities.

    "},"Protocols/StorageInterface.html":{"name":"StorageInterface","abstract":"

    The StorageInterface represents the data store managed (or to be managed) by the DataStack. When added to the DataStack, the StorageInterface serves as the interface for the NSPersistentStore. This may be a database file, an in-memory store, etc.

    "},"Protocols/LocalStorage.html":{"name":"LocalStorage","abstract":"

    The LocalStorage represents StorageInterfaces that are backed by local files.

    "},"Protocols/CloudStorage.html":{"name":"CloudStorage","abstract":"

    The CloudStorage represents StorageInterfaces that are synchronized from a cloud-based store.

    "},"Protocols.html#/s:9CoreStore11FetchClauseP":{"name":"FetchClause","abstract":"

    The FetchClause implement clauses used to configure NSFetchRequests.

    "},"Protocols.html#/s:9CoreStore11QueryClauseP":{"name":"QueryClause","abstract":"

    The QueryClause implement clauses used to configure NSFetchRequests.

    "},"Protocols.html#/s:9CoreStore12DeleteClauseP":{"name":"DeleteClause","abstract":"

    The DeleteClause implement clauses used to configure NSFetchRequests.

    "},"Protocols/AnyWhereClause.html":{"name":"AnyWhereClause","abstract":"

    Type-erased Where clause for protocol utilities.

    "},"Protocols/WhereClauseType.html":{"name":"WhereClauseType","abstract":"

    Abstracts the Where clause for protocol utilities.

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains the value of a property

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains the value of a property

    "},"Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":"<(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than a value

    "},"Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":">(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than a value

    "},"Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":"<=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than or equal to a value

    "},"Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":">=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than or equal to a value

    "},"Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":"<(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than a value

    "},"Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":">(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than a value

    "},"Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":"<=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than or equal to a value

    "},"Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":">=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than or equal to a value

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_7ElementQy0_Rs_STR0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains a value of a property

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_STR0_So0gH2IDC7ElementRt0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains a value of a property

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_7ElementQy0_Rs_STR0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains a value of a property

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_STR0_So0gH2IDC7ElementRt0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains a value of a property

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains the value of a property

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains the value of a property

    "},"Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF":{"name":"<(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than a value

    "},"Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF":{"name":">(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than a value

    "},"Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF":{"name":"<=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than or equal to a value

    "},"Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF":{"name":">=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than or equal to a value

    "},"Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":"<(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than a value

    "},"Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":">(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than a value

    "},"Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":"<=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than or equal to a value

    "},"Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":">=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than or equal to a value

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GGtAA0aB6ObjectCRbzAORb_7ElementQy0_Rs_STR0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains a value of a property

    "},"Extensions/UUID.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"UUID"},"Extensions/UUID.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"UUID"},"Extensions/UUID.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"UUID"},"Extensions/UUID.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"UUID"},"Extensions/URL.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"URL"},"Extensions/URL.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"URL"},"Extensions/URL.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"URL"},"Extensions/URL.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"URL"},"Extensions/String.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"String"},"Extensions/String.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"String"},"Extensions/String.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"String"},"Extensions/String.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"String"},"Extensions/NSUUID.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSUUID"},"Extensions/NSUUID.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSUUID"},"Extensions/NSUUID.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSUUID"},"Extensions/NSUUID.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSUUID"},"Extensions/NSURL.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSURL"},"Extensions/NSURL.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSURL"},"Extensions/NSURL.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSURL"},"Extensions/NSURL.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSURL"},"Extensions/NSString.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSString"},"Extensions/NSString.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSString"},"Extensions/NSString.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSString"},"Extensions/NSString.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSString"},"Extensions/NSNumber.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSNumber"},"Extensions/NSNull.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSNull"},"Extensions/NSNull.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSNull"},"Extensions/NSNull.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSNull"},"Extensions/NSNull.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSNull"},"Extensions/NSManagedObjectID.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSManagedObjectID"},"Extensions/NSManagedObjectID.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSManagedObjectID"},"Extensions/NSManagedObjectID.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSManagedObjectID"},"Extensions/NSManagedObjectID.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSManagedObjectID"},"Extensions/NSDate.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSDate"},"Extensions/NSDate.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSDate"},"Extensions/NSDate.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSDate"},"Extensions/NSDate.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSDate"},"Extensions/NSData.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSData"},"Extensions/NSData.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSData"},"Extensions/NSData.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSData"},"Extensions/NSData.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSData"},"Extensions/Int64.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Int64"},"Extensions/Int64.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Int64"},"Extensions/Int64.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Int64"},"Extensions/Int64.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Int64"},"Extensions/Int32.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Int32"},"Extensions/Int32.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Int32"},"Extensions/Int32.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Int32"},"Extensions/Int32.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Int32"},"Extensions/Int16.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Int16"},"Extensions/Int16.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Int16"},"Extensions/Int16.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Int16"},"Extensions/Int16.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Int16"},"Extensions/Int8.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Int8"},"Extensions/Int8.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Int8"},"Extensions/Int8.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Int8"},"Extensions/Int8.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Int8"},"Extensions/Int.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Int"},"Extensions/Int.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Int"},"Extensions/Int.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Int"},"Extensions/Int.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Int"},"Extensions/Float.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Float"},"Extensions/Float.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Float"},"Extensions/Float.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Float"},"Extensions/Float.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Float"},"Extensions/Double.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Double"},"Extensions/Double.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Double"},"Extensions/Double.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Double"},"Extensions/Double.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Double"},"Extensions/Date.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Date"},"Extensions/Date.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Date"},"Extensions/Date.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Date"},"Extensions/Date.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Date"},"Extensions/Data.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Data"},"Extensions/Data.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Data"},"Extensions/Data.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Data"},"Extensions/Data.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Data"},"Extensions/CGFloat.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"CGFloat"},"Extensions/CGFloat.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"CGFloat"},"Extensions/CGFloat.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"CGFloat"},"Extensions/CGFloat.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"CGFloat"},"Extensions/Bool.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Bool"},"Extensions/Bool.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Bool"},"Extensions/Bool.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Bool"},"Extensions/Bool.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Bool"},"Extensions/Progress.html#/s:So10NSProgressC9CoreStoreE18setProgressHandleryyyABcSgF":{"name":"setProgressHandler(_:)","abstract":"

    Sets a closure that the Progress calls whenever its fractionCompleted changes. You can use this instead of setting up KVO.

    ","parent_name":"Progress"},"Extensions/Progress.html#/c:@CM@CoreStore@@objc(cs)NSProgress(im)cs_setProgressHandler:":{"name":"cs_setProgressHandler(_:)","abstract":"

    Sets a closure that the NSProgress calls whenever its fractionCompleted changes. You can use this instead of setting up KVO.

    ","parent_name":"Progress"},"Extensions/Sequence.html#/s:ST9CoreStoreAA13OrderByClause7ElementRpzrlE8combinedAA0cD0VyAC_10ObjectTypeQZGyF":{"name":"combined()","abstract":"

    Combines multiple OrderBy predicates together

    ","parent_name":"Sequence"},"Extensions/Sequence.html#/s:ST9CoreStoreAA15WhereClauseType7ElementRpzrlE13combinedByAndAA0C0VyAC_06ObjectE0QZGyF":{"name":"combinedByAnd()","abstract":"

    Combines multiple Where predicates together using AND operator

    ","parent_name":"Sequence"},"Extensions/Sequence.html#/s:ST9CoreStoreAA15WhereClauseType7ElementRpzrlE12combinedByOrAA0C0VyAC_06ObjectE0QZGyF":{"name":"combinedByOr()","abstract":"

    Combines multiple Where predicates together using OR operator

    ","parent_name":"Sequence"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13fetchExistingyqd__Sgqd__AA13DynamicObjectRd__lF":{"name":"fetchExisting(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13fetchExistingyqd__SgSo17NSManagedObjectIDCAA07DynamicH0Rd__lF":{"name":"fetchExisting(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13fetchExistingySayqd__Gqd_0_AA13DynamicObjectRd__7ElementQyd_0_Rsd__STRd_0_r0_lF":{"name":"fetchExisting(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13fetchExistingySayqd__Gqd_0_AA13DynamicObjectRd__STRd_0_So09NSManagedH2IDC7ElementRtd_0_r0_lF":{"name":"fetchExisting(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP8fetchOneyqd__SgAA4FromVyqd__G_AA11FetchClause_pdtAA13DynamicObjectRd__lF":{"name":"fetchOne(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP8fetchOneyqd__SgAA4FromVyqd__G_SayAA11FetchClause_pGtAA13DynamicObjectRd__lF":{"name":"fetchOne(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP8fetchOney10ObjectTypeQyd__Sgqd__AA021FetchChainableBuilderH0Rd__lF":{"name":"fetchOne(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP8fetchAllySayqd__GSgAA4FromVyqd__G_AA11FetchClause_pdtAA13DynamicObjectRd__lF":{"name":"fetchAll(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP8fetchAllySayqd__GSgAA4FromVyqd__G_SayAA11FetchClause_pGtAA13DynamicObjectRd__lF":{"name":"fetchAll(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP8fetchAllySay10ObjectTypeQyd__GSgqd__AA021FetchChainableBuilderH0Rd__lF":{"name":"fetchAll(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP10fetchCountySiSgAA4FromVyqd__G_AA11FetchClause_pdtAA13DynamicObjectRd__lF":{"name":"fetchCount(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP10fetchCountySiSgAA4FromVyqd__G_SayAA11FetchClause_pGtAA13DynamicObjectRd__lF":{"name":"fetchCount(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP10fetchCountySiSgqd__AA25FetchChainableBuilderTypeRd__lF":{"name":"fetchCount(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13fetchObjectIDySo09NSManagedfG0CSgAA4FromVyqd__G_AA11FetchClause_pdtAA07DynamicF0Rd__lF":{"name":"fetchObjectID(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13fetchObjectIDySo09NSManagedfG0CSgAA4FromVyqd__G_SayAA11FetchClause_pGtAA07DynamicF0Rd__lF":{"name":"fetchObjectID(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13fetchObjectIDySo09NSManagedfG0CSgqd__AA25FetchChainableBuilderTypeRd__lF":{"name":"fetchObjectID(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP14fetchObjectIDsySaySo09NSManagedF2IDCGSgAA4FromVyqd__G_AA11FetchClause_pdtAA07DynamicF0Rd__lF":{"name":"fetchObjectIDs(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP14fetchObjectIDsySaySo09NSManagedF2IDCGSgAA4FromVyqd__G_SayAA11FetchClause_pGtAA07DynamicF0Rd__lF":{"name":"fetchObjectIDs(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP14fetchObjectIDsySaySo09NSManagedF2IDCGSgqd__AA25FetchChainableBuilderTypeRd__lF":{"name":"fetchObjectIDs(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15QueryableSourceP10queryValueyqd_0_SgAA4FromVyqd__G_AA6SelectVyqd__qd_0_GAA11QueryClause_pdtAA13DynamicObjectRd__AA0C13AttributeTypeRd_0_r0_lF":{"name":"queryValue(_:_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15QueryableSourceP10queryValueyqd_0_SgAA4FromVyqd__G_AA6SelectVyqd__qd_0_GSayAA11QueryClause_pGtAA13DynamicObjectRd__AA0C13AttributeTypeRd_0_r0_lF":{"name":"queryValue(_:_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15QueryableSourceP10queryValuey10ResultTypeQyd__Sgqd__AA021QueryChainableBuilderH0Rd__AA0c9AttributeH0AFRQlF":{"name":"queryValue(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15QueryableSourceP15queryAttributesySaySDySSypGGSgAA4FromVyqd__G_AA6SelectVyqd__So12NSDictionaryCGAA11QueryClause_pdtAA13DynamicObjectRd__lF":{"name":"queryAttributes(_:_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15QueryableSourceP15queryAttributesySaySDySSypGGSgAA4FromVyqd__G_AA6SelectVyqd__So12NSDictionaryCGSayAA11QueryClause_pGtAA13DynamicObjectRd__lF":{"name":"queryAttributes(_:_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15QueryableSourceP15queryAttributesySaySDySSypGGSgqd__AA25QueryChainableBuilderTypeRd__So12NSDictionaryC06ResultJ0Rtd__lF":{"name":"queryAttributes(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13unsafeContextSo015NSManagedObjectF0CyF":{"name":"unsafeContext()","parent_name":"NSManagedObjectContext"},"Extensions/RawRepresentable.html#/s:SY9CoreStoreAA23ImportableAttributeType8RawValueRpzrlE022cs_fromQueryableNativeE0yxSgAC_0jkE0QZFZ":{"name":"cs_fromQueryableNativeType(_:)","abstract":"

    Creates an instance of this type from its QueryableNativeType value.

    ","parent_name":"RawRepresentable"},"Extensions/RawRepresentable.html#/s:SY9CoreStoreAA23ImportableAttributeType8RawValueRpzrlE020cs_toQueryableNativeE0AC_0jkE0QZyF":{"name":"cs_toQueryableNativeType()","abstract":"

    Creates QueryableNativeType value from this instance.

    ","parent_name":"RawRepresentable"},"Extensions/NSManagedObject.html#/s:9CoreStore13DynamicObjectP14cs_forceCreate17entityDescription4into8assignToxSo08NSEntityI0C_So09NSManagedD7ContextCSo012NSPersistentB0CtFZ":{"name":"cs_forceCreate(entityDescription:into:assignTo:)","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:9CoreStore13DynamicObjectP10cs_fromRaw6objectxSo09NSManagedD0C_tFZ":{"name":"cs_fromRaw(object:)","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:9CoreStore13DynamicObjectP10cs_matches6objectSbSo09NSManagedD0C_tFZ":{"name":"cs_matches(object:)","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:9CoreStore13DynamicObjectP5cs_idSo09NSManagedD2IDCyF":{"name":"cs_id()","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:9CoreStore13DynamicObjectP8cs_toRawSo09NSManagedD0CyF":{"name":"cs_toRaw()","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE11fetchSourceAC09FetchableF0_pSgyF":{"name":"fetchSource()","abstract":"

    Exposes a FetchableSource that can fetch sibling objects of this NSManagedObject instance. This may be the DataStack, a BaseDataTransaction, the NSManagedObjectContext itself, or nil if the obejct’s parent is already deallocated.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE11querySourceAC09QueryableF0_pSgyF":{"name":"querySource()","abstract":"

    Exposes a QueryableSource that can query attributes and aggregate values. This may be the DataStack, a BaseDataTransaction, the NSManagedObjectContext itself, or nil if the obejct’s parent is already deallocated.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE8getValue9forKvcKeyypSgSS_tF":{"name":"getValue(forKvcKey:)","abstract":"

    Provides a convenience wrapper for accessing primitiveValue(forKey:) with proper calls to willAccessValue(forKey:) and didAccessValue(forKey:). This is useful when implementing accessor methods for transient attributes.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE8getValue9forKvcKey06didGetF0xSS_xypSgKXEtKlF":{"name":"getValue(forKvcKey:didGetValue:)","abstract":"

    Provides a convenience wrapper for accessing primitiveValue(forKey:) with proper calls to willAccessValue(forKey:) and didAccessValue(forKey:). This is useful when implementing accessor methods for transient attributes.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE8getValue9forKvcKey07willGetF003didkF0xSS_yyKXExypSgKXEtKlF":{"name":"getValue(forKvcKey:willGetValue:didGetValue:)","abstract":"

    Provides a convenience wrapper for accessing primitiveValue(forKey:) with proper calls to willAccessValue(forKey:) and didAccessValue(forKey:). This is useful when implementing accessor methods for transient attributes.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE8setValue_9forKvcKeyyypSg_SStF":{"name":"setValue(_:forKvcKey:)","abstract":"

    Provides a convenience wrapper for setting setPrimitiveValue(_:forKey:) with proper calls to willChangeValue(forKey:) and didChangeValue(forKey:). This is useful when implementing mutator methods for transient attributes.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE8setValue_9forKvcKey06didSetF0yypSg_SSyyXEtF":{"name":"setValue(_:forKvcKey:didSetValue:)","abstract":"

    Provides a convenience wrapper for setting setPrimitiveValue(_:forKey:) with proper calls to willChangeValue(forKey:) and didChangeValue(forKey:).

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE8setValue_9forKvcKey07willSetF003didkF0yx_SSypSgxKXEyAHXEtKlF":{"name":"setValue(_:forKvcKey:willSetValue:didSetValue:)","abstract":"

    Provides a convenience wrapper for setting setPrimitiveValue(_:forKey:) with proper calls to willChangeValue(forKey:) and didChangeValue(forKey:). This is useful when implementing mutator methods for transient attributes.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE14refreshAsFaultyyF":{"name":"refreshAsFault()","abstract":"

    Re-faults the object to use the latest values from the persistent store

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE15refreshAndMergeyyF":{"name":"refreshAndMerge()","abstract":"

    Re-faults the object to use the latest values from the persistent store and merges previously pending changes back

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/c:@CM@CoreStore@@objc(cs)NSManagedObject(im)cs_accessValueForKVCKey:":{"name":"cs_accessValueForKVCKey(_:)","abstract":"

    Provides a convenience wrapper for accessing -primitiveValueForKey: with proper calls to -willAccessValueForKey: and -didAccessValueForKey:. This is useful when implementing accessor methods for transient attributes.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/c:@CM@CoreStore@@objc(cs)NSManagedObject(im)cs_setValue:forKVCKey:":{"name":"cs_setValue(_:forKVCKey:)","abstract":"

    Provides a convenience wrapper for setting -setPrimitiveValue: with proper calls to -willChangeValueForKey: and -didChangeValueForKey:. This is useful when implementing mutator methods for transient attributes.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/c:@CM@CoreStore@@objc(cs)NSManagedObject(im)cs_refreshAsFault":{"name":"cs_refreshAsFault()","abstract":"

    Re-faults the object to use the latest values from the persistent store

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE18cs_refreshAndMergeyyF":{"name":"cs_refreshAndMerge()","abstract":"

    Re-faults the object to use the latest values from the persistent store and merges previously pending changes back

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE21unsafeDataTransactionAC06UnsafefG0CSgvp":{"name":"unsafeDataTransaction","abstract":"

    Returns this object’s parent UnsafeDataTransaction instance if it was created from one. Returns nil if the parent transaction is either an AsynchronousDataTransaction or a SynchronousDataTransaction, or if the object is not managed by CoreStore.

    ","parent_name":"NSManagedObject"},"Extensions/KeyPath.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"KeyPath"},"Extensions/KeyPath.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"KeyPath"},"Extensions/KeyPath.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"KeyPath"},"Extensions/KeyPathString.html#/s:SS9CoreStoreE7keyPathSSs03KeyD0Cyxq_G_tcSo15NSManagedObjectCRbzr0_lufc":{"name":"init(keyPath:)","abstract":"

    Extracts the keyPath string from the property.

    ","parent_name":"KeyPathString"},"Extensions/KeyPathString.html#/s:SS9CoreStoreE7keyPathSSs03KeyD0Cyxq_G_tcAA0aB6ObjectCRbzAA07DynamiceD0R_r0_lufc":{"name":"init(keyPath:)","abstract":"

    Extracts the keyPath string from the property.

    ","parent_name":"KeyPathString"},"Extensions/KeyPathString.html":{"name":"KeyPathString"},"Extensions/KeyPath.html":{"name":"KeyPath"},"Extensions/NSManagedObject.html":{"name":"NSManagedObject"},"Extensions/RawRepresentable.html":{"name":"RawRepresentable"},"Extensions/NSManagedObjectContext.html":{"name":"NSManagedObjectContext"},"Extensions/Sequence.html":{"name":"Sequence"},"Extensions/Progress.html":{"name":"Progress"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Extensions/Data.html":{"name":"Data"},"Extensions/Date.html":{"name":"Date"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Int.html":{"name":"Int"},"Extensions/Int8.html":{"name":"Int8"},"Extensions/Int16.html":{"name":"Int16"},"Extensions/Int32.html":{"name":"Int32"},"Extensions/Int64.html":{"name":"Int64"},"Extensions/NSData.html":{"name":"NSData"},"Extensions/NSDate.html":{"name":"NSDate"},"Extensions/NSManagedObjectID.html":{"name":"NSManagedObjectID"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSURL.html":{"name":"NSURL"},"Extensions/NSUUID.html":{"name":"NSUUID"},"Extensions/String.html":{"name":"String"},"Extensions/URL.html":{"name":"URL"},"Extensions/UUID.html":{"name":"UUID"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC_10deleteRule8minCount03maxK019versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AC06DeleteI0Oyx_GS2iSSSgyXAAPyXAShySSGyXAtcfc":{"name":"init(_:deleteRule:minCount:maxCount:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC_7inverse10deleteRule8minCount03maxL019versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AC0E3OneCyqd___xGqd__cAC06DeleteJ0Oyx_GS2iSSSgyXAATyXAShySSGyXAtcfc":{"name":"init(_:inverse:deleteRule:minCount:maxCount:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC_7inverse10deleteRule8minCount03maxL019versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AC0eF7OrderedCyqd___xGqd__cAC06DeleteJ0Oyx_GS2iSSSgyXAATyXAShySSGyXAtcfc":{"name":"init(_:inverse:deleteRule:minCount:maxCount:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC_7inverse10deleteRule8minCount03maxL019versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AEyqd___xGqd__cAC06DeleteJ0Oyx_GS2iSSSgyXAARyXAShySSGyXAtcfc":{"name":"init(_:inverse:deleteRule:minCount:maxCount:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC5valueShyqd__Gvp":{"name":"value","abstract":"

    The relationship unordered objects.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC7observe7options13changeHandlerAA0aB25ObjectKeyValueObservation_pSo05NSKeyN16ObservingOptionsV_yx_AA0ablG4DiffCyqd__GtctF":{"name":"observe(options:changeHandler:)","abstract":"

    Observes changes in the receiver value. When the returned CoreStoreObjectKeyValueObservation is deinited or invalidated, it will stop observing.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC5countSivp":{"name":"count","abstract":"

    The number of elements in the set.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC7isEmptySbvp":{"name":"isEmpty","abstract":"

    A Boolean value indicating whether the range contains no elements.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:ST8IteratorQa":{"name":"Iterator","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:ST12makeIterator0B0QzyF":{"name":"makeIterator()","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC2zeoiyyAEyx_qd__G_qd0__t7ElementQyd0__Rsd__STRd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a sequence of objects to the relationship. The operation

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC2zeoiyyAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a sequence of objects to the relationship. The operation

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC2zeoiyyAEyx_qd__G_AC0eF7OrderedCyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a sequence of objects to the relationship. The operation

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC3zeeoiySbAEyx_qd__G_Shyqd__GtFZ":{"name":".==(_:_:)","abstract":"

    Compares the if the relationship’s objects and a set of objects have the same elements.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC3zeeoiySbShyqd__G_AEyx_qd__GtFZ":{"name":".==(_:_:)","abstract":"

    Compares if a set of objects and a relationship’s objects have the same elements.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC3zeeoiySbAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".==(_:_:)","abstract":"

    Compares if a relationship’s objects and another relationship’s objects have the same elements.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC_8minCount03maxI010deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_S2iAC06DeleteL0Oyx_GSSSgyXAAPyXAShySSGyXAtcfc":{"name":"init(_:minCount:maxCount:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC_8minCount03maxI07inverse10deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_S2iAC0E3OneCyqd___xGqd__cAC06DeleteM0Oyx_GSSSgyXAATyXAShySSGyXAtcfc":{"name":"init(_:minCount:maxCount:inverse:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC_8minCount03maxI07inverse10deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_S2iAEyqd___xGqd__cAC06DeleteM0Oyx_GSSSgyXAARyXAShySSGyXAtcfc":{"name":"init(_:minCount:maxCount:inverse:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC_8minCount03maxI07inverse10deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_S2iAC0eF9UnorderedCyqd___xGqd__cAC06DeleteM0Oyx_GSSSgyXAATyXAShySSGyXAtcfc":{"name":"init(_:minCount:maxCount:inverse:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC5valueSayqd__Gvp":{"name":"value","abstract":"

    The relationship ordered objects.

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC7observe7options13changeHandlerAA0aB25ObjectKeyValueObservation_pSo05NSKeyN16ObservingOptionsV_yx_AA0ablG4DiffCyqd__GtctF":{"name":"observe(options:changeHandler:)","abstract":"

    Observes changes in the receiver value. When the returned CoreStoreObjectKeyValueObservation is deinited or invalidated, it will stop observing.

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:Sl8IteratorQa":{"name":"Iterator","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:Sl12makeIterator0B0QzyF":{"name":"makeIterator()","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:Sl5IndexQa":{"name":"Index","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:Sl10startIndex0B0Qzvp":{"name":"startIndex","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:Sl8endIndex0B0Qzvp":{"name":"endIndex","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:Sly7ElementQz5IndexQzcip":{"name":"subscript(_:)","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:Sk5index5after5IndexQzAD_tF":{"name":"index(after:)","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC2zeoiyyAEyx_qd__G_qd0__t7ElementQyd0__Rsd__STRd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a sequence of objects to the relationship. The operation

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC2zeoiyyAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a sequence of objects to the relationship. The operation

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC3zeeoiySbAEyx_qd__G_qd0__t7ElementQyd0__Rsd__SlRd0__lFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a relationship’s objects and a collection of objects

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC3zeeoiySbqd0___AEyx_qd__Gt7ElementQyd0__Rsd__SlRd0__lFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a collection of objects and a relationship’s objects

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC3zeeoiySbAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a relationship’s objects and a collection of objects

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC_10deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AC06DeleteH0Oyx_GSSSgyXAANyXAShySSGyXAtcfc":{"name":"init(_:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC_7inverse10deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AEyqd___xGqd__cAC06DeleteI0Oyx_GSSSgyXAAPyXAShySSGyXAtcfc":{"name":"init(_:inverse:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC_7inverse10deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AC0E11ManyOrderedCyqd___xGqd__cAC06DeleteI0Oyx_GSSSgyXAARyXAShySSGyXAtcfc":{"name":"init(_:inverse:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC_7inverse10deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AC0E13ManyUnorderedCyqd___xGqd__cAC06DeleteI0Oyx_GSSSgyXAARyXAShySSGyXAtcfc":{"name":"init(_:inverse:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC5valueqd__Sgvp":{"name":"value","abstract":"

    The relationship destination object.

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC7observe7options13changeHandlerAA0aB25ObjectKeyValueObservation_pSo05NSKeyM16ObservingOptionsV_yx_AA0abkK4DiffCyqd__GtctF":{"name":"observe(options:changeHandler:)","abstract":"

    Observes changes in the receiver value. When the returned CoreStoreObjectKeyValueObservation is deinited or invalidated, it will stop observing.

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC2eeoiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC2neoiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC2teoiyAA5WhereVyxGqd0___AEyx_qd__Gt7ElementQyd0__Rsd__STRd0__lFZ":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains the value of a property

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC2zeoiyyAEyx_qd__G_qd__SgtFZ":{"name":".=(_:_:)","abstract":"

    Assigns an object to the relationship. The operation

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC2zeoiyyAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns an object from another relationship. The operation

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC3zeeoiySbAEyx_qd__G_qd__SgtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a relationship’s object and another object

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC3zeeoiySbqd__Sg_AEyx_qd__GtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between an object and a relationship’s object

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC3zeeoiySbAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a relationship’s object and another relationship’s object

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html":{"name":"ToOne","abstract":"

    The containing type for to-one relationships. Any CoreStoreObject subclass can be a destination type. Inverse relationships should be declared from the destination type as well, using the inverse: argument for the relationship.

    ","parent_name":"RelationshipContainer"},"Enums/RelationshipContainer/ToManyOrdered.html":{"name":"ToManyOrdered","abstract":"

    The containing type for to-many ordered relationships. Any CoreStoreObject subclass can be a destination type. Inverse relationships should be declared from the destination type as well, using the inverse: argument for the relationship.

    ","parent_name":"RelationshipContainer"},"Enums/RelationshipContainer/ToManyUnordered.html":{"name":"ToManyUnordered","abstract":"

    The containing type for to-many unordered relationships. Any CoreStoreObject subclass can be a destination type. Inverse relationships should be declared from the destination type as well, using the inverse: argument for the relationship.

    ","parent_name":"RelationshipContainer"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore22TransformableContainerO8OptionalC_7initial11isTransient31allowsExternalBinaryDataStorage19versionHashModifier18renamingIdentifier12customGetter0S6Setter18affectedByKeyPathsAEyx_qd__GSS_qd__SgyXAS2bSSSgyXAAPyXAAoA13PartialObjectVyxGcSgyAS_AOtcSgShySSGyXAtcfc":{"name":"init(_:initial:isTransient:allowsExternalBinaryDataStorage:versionHashModifier:renamingIdentifier:customGetter:customSetter:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the property.

    ","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore22TransformableContainerO8OptionalC5valueqd__Sgvp":{"name":"value","abstract":"

    The property value.

    ","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore22TransformableContainerO8OptionalC7observe7options13changeHandlerAA0aB25ObjectKeyValueObservation_pSo05NSKeyL16ObservingOptionsV_yx_AA0abjC4DiffCyqd__GtctF":{"name":"observe(options:changeHandler:)","abstract":"

    Observes changes in the receiver value. When the returned CoreStoreObjectKeyValueObservation is deinited or invalidated, it will stop observing.

    ","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore22TransformableContainerO8OptionalC2zeoiyyAEyx_qd__G_qd__SgtFZ":{"name":".=(_:_:)","abstract":"

    Assigns an optional transformable value to the property. The operation

    ","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore22TransformableContainerO8OptionalC2zeoiyyAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns an optional transformable value from another property. The operation

    ","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore22TransformableContainerO8OptionalC2zeoiyyAEyx_qd__G_AC8RequiredCyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a transformable value from another property. The operation

    ","parent_name":"Optional"},"Enums/TransformableContainer/Required.html#/s:9CoreStore22TransformableContainerO8RequiredC_7initial11isTransient31allowsExternalBinaryDataStorage19versionHashModifier18renamingIdentifier12customGetter0S6Setter18affectedByKeyPathsAEyx_qd__GSS_qd__yXAS2bSSSgyXAAOyXAqd__AA13PartialObjectVyxGcSgyAR_qd__tcSgShySSGyXAtcfc":{"name":"init(_:initial:isTransient:allowsExternalBinaryDataStorage:versionHashModifier:renamingIdentifier:customGetter:customSetter:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the property.

    ","parent_name":"Required"},"Enums/TransformableContainer/Required.html#/s:9CoreStore22TransformableContainerO8RequiredC5valueqd__vp":{"name":"value","abstract":"

    The property value.

    ","parent_name":"Required"},"Enums/TransformableContainer/Required.html#/s:9CoreStore22TransformableContainerO8RequiredC7observe7options13changeHandlerAA0aB25ObjectKeyValueObservation_pSo05NSKeyL16ObservingOptionsV_yx_AA0abjC4DiffCyqd__GtctF":{"name":"observe(options:changeHandler:)","abstract":"

    Observes changes in the receiver value. When the returned CoreStoreObjectKeyValueObservation is deinited or invalidated, it will stop observing.

    ","parent_name":"Required"},"Enums/TransformableContainer/Required.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"Required"},"Enums/TransformableContainer/Required.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"Required"},"Enums/TransformableContainer/Required.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"Required"},"Enums/TransformableContainer/Required.html#/s:9CoreStore22TransformableContainerO8RequiredC2zeoiyyAEyx_qd__G_qd__tFZ":{"name":".=(_:_:)","abstract":"

    Assigns a transformable value to the property. The operation

    ","parent_name":"Required"},"Enums/TransformableContainer/Required.html#/s:9CoreStore22TransformableContainerO8RequiredC2zeoiyyAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a transformable value from another property. The operation

    ","parent_name":"Required"},"Enums/TransformableContainer/Required.html":{"name":"Required","abstract":"

    The containing type for transformable properties. Any type that conforms to NSCoding & NSCopying are supported.

    ","parent_name":"TransformableContainer"},"Enums/TransformableContainer/Optional.html":{"name":"Optional","abstract":"

    The containing type for optional transformable properties. Any type that conforms to NSCoding & NSCopying are supported.

    ","parent_name":"TransformableContainer"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC_7initial11isTransient19versionHashModifier18renamingIdentifier12customGetter0N6Setter18affectedByKeyPathsAEyx_qd__GSS_qd__SgyXASbSSSgyXAAOyXAAnA13PartialObjectVyxGcSgyAR_ANtcSgShySSGyXAtcfc":{"name":"init(_:initial:isTransient:versionHashModifier:renamingIdentifier:customGetter:customSetter:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the property.

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC5valueqd__Sgvp":{"name":"value","abstract":"

    The property value.

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC7observe7options13changeHandlerAA0ab9ObjectKeyC11Observation_pSo05NSKeyC16ObservingOptionsV_yx_AA0abjC4DiffCyqd__GtctF":{"name":"observe(options:changeHandler:)","abstract":"

    Observes changes in the receiver value. When the returned CoreStoreObjectKeyValueObservation is deinited or invalidated, it will stop observing.

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2eeoiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2neoiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC1loiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":"<(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than a value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC1goiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":">(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than a value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2leoiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":"<=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than or equal to a value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2geoiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":">=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than or equal to a value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2teoiyAA5WhereVyxGqd0___AEyx_qd__Gt7ElementQyd0__Rsd__STRd0__lFZ":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains the value of a property

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2zeoiyyAEyx_qd__G_qd__SgtFZ":{"name":".=(_:_:)","abstract":"

    Assigns an optional value to the property. The operation

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2zeoiyyAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns an optional value from another property. The operation

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2zeoiyyAEyx_qd__G_AC8RequiredCyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a value from another property. The operation

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC3zeeoiySbAEyx_qd__G_qd__SgtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a property’s value and another value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC3zeeoiySbqd__Sg_AEyx_qd__GtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a property’s value and another property’s value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC3zeeoiySbAEyx_qd__G_AGtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a property’s value and another property’s value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC3zeeoiySbAEyx_qd__G_AC8RequiredCyx_qd__GtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a property’s value and another property’s value

    ","parent_name":"Optional"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC_7initial11isTransient19versionHashModifier18renamingIdentifier12customGetter0N6Setter18affectedByKeyPathsAEyx_qd__GSS_qd__yXASbSSSgyXAANyXAqd__AA13PartialObjectVyxGcSgyAQ_qd__tcSgShySSGyXAtcfc":{"name":"init(_:initial:isTransient:versionHashModifier:renamingIdentifier:customGetter:customSetter:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the property.

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC5valueqd__vp":{"name":"value","abstract":"

    The property value.

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC7observe7options13changeHandlerAA0ab9ObjectKeyC11Observation_pSo05NSKeyC16ObservingOptionsV_yx_AA0abjC4DiffCyqd__GtctF":{"name":"observe(options:changeHandler:)","abstract":"

    Observes changes in the receiver value. When the returned CoreStoreObjectKeyValueObservation is deinited or invalidated, it will stop observing.

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC2eeoiyAA5WhereVyxGAEyx_qd__G_qd__tFZ":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC2neoiyAA5WhereVyxGAEyx_qd__G_qd__tFZ":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC1loiyAA5WhereVyxGAEyx_qd__G_qd__tFZ":{"name":"<(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than a value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC1goiyAA5WhereVyxGAEyx_qd__G_qd__tFZ":{"name":">(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than a value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC2leoiyAA5WhereVyxGAEyx_qd__G_qd__tFZ":{"name":"<=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than or equal to a value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC2geoiyAA5WhereVyxGAEyx_qd__G_qd__tFZ":{"name":">=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than or equal to a value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC2teoiyAA5WhereVyxGqd0___AEyx_qd__Gt7ElementQyd0__Rsd__STRd0__lFZ":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains the value of a property

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC2zeoiyyAEyx_qd__G_qd__tFZ":{"name":".=(_:_:)","abstract":"

    Assigns a value to the property. The operation

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC2zeoiyyAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a value from another property. The operation

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC3zeeoiySbAEyx_qd__G_qd__SgtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a property’s value and another value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC3zeeoiySbqd__Sg_AEyx_qd__GtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a value and a property’s value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC3zeeoiySbAEyx_qd__G_AGtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a property’s value and another property’s value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC3zeeoiySbAEyx_qd__G_AC8OptionalCyx_qd__GtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a property’s value and another property’s value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html":{"name":"Required","abstract":"

    The containing type for required value properties. Any type that conforms to ImportableAttributeType are supported.

    ","parent_name":"ValueContainer"},"Enums/ValueContainer/Optional.html":{"name":"Optional","abstract":"

    The containing type for optional value properties. Any type that conforms to ImportableAttributeType are supported.

    ","parent_name":"ValueContainer"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO07unknownC0yA2CmF":{"name":"unknownError","abstract":"

    A failure occured because of an unknown error.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO27differentStorageExistsAtURLyA2CmF":{"name":"differentStorageExistsAtURL","abstract":"

    The NSPersistentStore could note be initialized because another store existed at the specified NSURL.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO20mappingModelNotFoundyA2CmF":{"name":"mappingModelNotFound","abstract":"

    An NSMappingModel could not be found for a specific source and destination model versions.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO28progressiveMigrationRequiredyA2CmF":{"name":"progressiveMigrationRequired","abstract":"

    Progressive migrations are disabled for a store, but an NSMappingModel could not be found for a specific source and destination model versions.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO29asynchronousMigrationRequiredyA2CmF":{"name":"asynchronousMigrationRequired","abstract":"

    The LocalStorage was configured with .allowSynchronousLightweightMigration, but the model can only be migrated asynchronously.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO08internalC0yA2CmF":{"name":"internalError","abstract":"

    An internal SDK call failed with the specified NSError userInfo key.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO04userC0yA2CmF":{"name":"userError","abstract":"

    The transaction was terminated by a user-thrown Error specified by Error userInfo key.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO13userCancelledyA2CmF":{"name":"userCancelled","abstract":"

    The transaction was cancelled by the user.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStore.html#/s:9CoreStoreAAO12defaultStackAA04DataD0CvpZ":{"name":"defaultStack","abstract":"

    The default DataStack instance to be used. If defaultStack is not set before the first time accessed, a default-configured DataStack will be created.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO6loggerAA0aB6Logger_pvpZ":{"name":"logger","abstract":"

    The CoreStoreLogger instance to be used. The default logger is an instance of a DefaultLogger.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10addStorage_10completionyx_yAA11SetupResultOyxGctAA0D9InterfaceRzlFZ":{"name":"addStorage(_:completion:)","abstract":"

    Asynchronously adds a StorageInterface to the defaultStack. Migrations are also initiated by default.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10addStorage_10completionSo10NSProgressCSgx_yAA11SetupResultOyxGctAA05LocalD0RzlFZ":{"name":"addStorage(_:completion:)","abstract":"

    Asynchronously adds a LocalStorage to the defaultStack. Migrations are also initiated by default.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10addStorage_10completionyx_yAA11SetupResultOyxGctAA05CloudD0RzlFZ":{"name":"addStorage(_:completion:)","abstract":"

    Asynchronously adds a CloudStorage to the defaultStack. Migrations are also initiated by default.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO22upgradeStorageIfNeeded_10completionSo10NSProgressCSgx_yAA15MigrationResultOctKAA05LocalD0RzlFZ":{"name":"upgradeStorageIfNeeded(_:completion:)","abstract":"

    Migrates a local storage to match the defaultStack‘s managed object model version. This method does NOT add the migrated store to the data stack.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO28requiredMigrationsForStorageySayAA13MigrationTypeOGxKAA05LocalF0RzlFZ":{"name":"requiredMigrationsForStorage(_:)","abstract":"

    Checks the migration steps required for the storage to match the defaultStack‘s managed object model version.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13monitorObjectyAA0D7MonitorCyxGxAA07DynamicD0RzlFZ":{"name":"monitorObject(_:)","abstract":"

    Using the defaultStack, creates an ObjectMonitor for the specified DynamicObject. Multiple ObjectObservers may then register themselves to be notified when changes are made to the DynamicObject.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO11monitorListyAA0D7MonitorCyxGAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlFZ":{"name":"monitorList(_:_:)","abstract":"

    Using the defaultStack, creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO11monitorListyAA0D7MonitorCyxGAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlFZ":{"name":"monitorList(_:_:)","abstract":"

    Using the defaultStack, creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO11monitorListyAA0D7MonitorCy10ObjectTypeQzGxAA021FetchChainableBuilderG0RzlFZ":{"name":"monitorList(_:)","abstract":"

    Creates a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO11monitorList20createAsynchronously__yyAA0D7MonitorCyxGc_AA4FromVyxGAA11FetchClause_pdtAA13DynamicObjectRzlFZ":{"name":"monitorList(createAsynchronously:_:_:)","abstract":"

    Using the defaultStack, asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO11monitorList20createAsynchronously__yyAA0D7MonitorCyxGc_AA4FromVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlFZ":{"name":"monitorList(createAsynchronously:_:_:)","abstract":"

    Using the defaultStack, asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO11monitorList20createAsynchronously_yyAA0D7MonitorCy10ObjectTypeQzGc_xtAA021FetchChainableBuilderI0RzlFZ":{"name":"monitorList(createAsynchronously:_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO20monitorSectionedListyAA0E7MonitorCyxGAA4FromVyxG_AA9SectionByVyxGAA11FetchClause_pdtAA13DynamicObjectRzlFZ":{"name":"monitorSectionedList(_:_:_:)","abstract":"

    Using the defaultStack, creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO20monitorSectionedListyAA0E7MonitorCyxGAA4FromVyxG_AA9SectionByVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlFZ":{"name":"monitorSectionedList(_:_:_:)","abstract":"

    Using the defaultStack, creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO20monitorSectionedListyAA0E7MonitorCy10ObjectTypeQzGxAA07Sectionf7BuilderH0RzlFZ":{"name":"monitorSectionedList(_:)","abstract":"

    Creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified SectionMonitorBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO20monitorSectionedList20createAsynchronously___yyAA0E7MonitorCyxGc_AA4FromVyxGAA9SectionByVyxGAA11FetchClause_pdtAA13DynamicObjectRzlFZ":{"name":"monitorSectionedList(createAsynchronously:_:_:_:)","abstract":"

    Using the defaultStack, asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO20monitorSectionedList20createAsynchronously___yyAA0E7MonitorCyxGc_AA4FromVyxGAA9SectionByVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlFZ":{"name":"monitorSectionedList(createAsynchronously:_:_:_:)","abstract":"

    Using the defaultStack, asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO20monitorSectionedList20createAsynchronously_yyAA0E7MonitorCy10ObjectTypeQzGc_xtAA07Sectionh7BuilderJ0RzlFZ":{"name":"monitorSectionedList(createAsynchronously:_:)","abstract":"

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified SectionMonitorBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13fetchExistingyxSgxAA13DynamicObjectRzlFZ":{"name":"fetchExisting(_:)","abstract":"

    Using the defaultStack, fetches the DynamicObject instance in the DataStack‘s context from a reference created from a transaction or from a different managed object context.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13fetchExistingyxSgSo17NSManagedObjectIDCAA07DynamicF0RzlFZ":{"name":"fetchExisting(_:)","abstract":"

    Using the defaultStack, fetches the DynamicObject instance in the DataStack‘s context from an NSManagedObjectID.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13fetchExistingySayxGq_AA13DynamicObjectRz7ElementQy_RszSTR_r0_lFZ":{"name":"fetchExisting(_:)","abstract":"

    Using the defaultStack, fetches the DynamicObject instances in the DataStack‘s context from references created from a transaction or from a different managed object context.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13fetchExistingySayxGq_AA13DynamicObjectRzSTR_So09NSManagedF2IDC7ElementRt_r0_lFZ":{"name":"fetchExisting(_:)","abstract":"

    Using the defaultStack, fetches the DynamicObject instances in the DataStack‘s context from a list of NSManagedObjectID.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO8fetchOneyxSgAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlFZ":{"name":"fetchOne(_:_:)","abstract":"

    Using the defaultStack, fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO8fetchOneyxSgAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlFZ":{"name":"fetchOne(_:_:)","abstract":"

    Using the defaultStack, fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO8fetchOney10ObjectTypeQzSgxAA021FetchChainableBuilderF0RzlFZ":{"name":"fetchOne(_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO8fetchAllySayxGSgAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlFZ":{"name":"fetchAll(_:_:)","abstract":"

    Using the defaultStack, fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO8fetchAllySayxGSgAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlFZ":{"name":"fetchAll(_:_:)","abstract":"

    Using the defaultStack, fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO8fetchAllySay10ObjectTypeQzGSgxAA021FetchChainableBuilderF0RzlFZ":{"name":"fetchAll(_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10fetchCountySiSgAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlFZ":{"name":"fetchCount(_:_:)","abstract":"

    Using the defaultStack, fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10fetchCountySiSgAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlFZ":{"name":"fetchCount(_:_:)","abstract":"

    Using the defaultStack, fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10fetchCountySiSgxAA25FetchChainableBuilderTypeRzlFZ":{"name":"fetchCount(_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13fetchObjectIDySo09NSManageddE0CSgAA4FromVyxG_AA11FetchClause_pdtAA07DynamicD0RzlFZ":{"name":"fetchObjectID(_:_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13fetchObjectIDySo09NSManageddE0CSgAA4FromVyxG_SayAA11FetchClause_pGtAA07DynamicD0RzlFZ":{"name":"fetchObjectID(_:_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13fetchObjectIDySo09NSManageddE0CSgxAA25FetchChainableBuilderTypeRzlFZ":{"name":"fetchObjectID(_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO14fetchObjectIDsySaySo09NSManagedD2IDCGSgAA4FromVyxG_AA11FetchClause_pdtAA07DynamicD0RzlFZ":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO14fetchObjectIDsySaySo09NSManagedD2IDCGSgAA4FromVyxG_SayAA11FetchClause_pGtAA07DynamicD0RzlFZ":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO14fetchObjectIDsySaySo09NSManagedD2IDCGSgxAA25FetchChainableBuilderTypeRzlFZ":{"name":"fetchObjectIDs(_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10queryValueyq_SgAA4FromVyxG_AA6SelectVyxq_GAA11QueryClause_pdtAA13DynamicObjectRzAA22QueryableAttributeTypeR_r0_lFZ":{"name":"queryValue(_:_:_:)","abstract":"

    Using the defaultStack, queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10queryValueyq_SgAA4FromVyxG_AA6SelectVyxq_GSayAA11QueryClause_pGtAA13DynamicObjectRzAA22QueryableAttributeTypeR_r0_lFZ":{"name":"queryValue(_:_:_:)","abstract":"

    Using the defaultStack, queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10queryValuey10ResultTypeQzSgxAA021QueryChainableBuilderF0RzAA018QueryableAttributeF0AERQlFZ":{"name":"queryValue(_:)","abstract":"

    Queries a property value or aggregate as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO15queryAttributesySaySDySSypGGSgAA4FromVyxG_AA6SelectVyxSo12NSDictionaryCGAA11QueryClause_pdtAA13DynamicObjectRzlFZ":{"name":"queryAttributes(_:_:_:)","abstract":"

    Using the defaultStack, queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO15queryAttributesySaySDySSypGGSgAA4FromVyxG_AA6SelectVyxSo12NSDictionaryCGSayAA11QueryClause_pGtAA13DynamicObjectRzlFZ":{"name":"queryAttributes(_:_:_:)","abstract":"

    Using the defaultStack, queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO15queryAttributesySaySDySSypGGSgxAA25QueryChainableBuilderTypeRzSo12NSDictionaryC06ResultH0RtzlFZ":{"name":"queryAttributes(_:)","abstract":"

    Queries a dictionary of attribute values or as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO12modelVersionSSvpZ":{"name":"modelVersion","abstract":"

    Returns the defaultStack‘s model version. The version string is the same as the name of a version-specific .xcdatamodeld file or CoreStoreSchema.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17entityTypesByName3forSDySSSo15NSManagedObjectCmGAFm_tFZ":{"name":"entityTypesByName(for:)","abstract":"

    Returns the entity name-to-class type mapping from the defaultStack‘s model.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17entityTypesByName3forSDySSAA0aB6ObjectCmGAFm_tFZ":{"name":"entityTypesByName(for:)","abstract":"

    Returns the entity name-to-class type mapping from the defaultStack‘s model.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17entityDescription3forSo08NSEntityD0CSgSo15NSManagedObjectCm_tFZ":{"name":"entityDescription(for:)","abstract":"

    Returns the NSEntityDescription for the specified NSManagedObject subclass from defaultStack‘s model.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17entityDescription3forSo08NSEntityD0CSgAA0aB6ObjectCm_tFZ":{"name":"entityDescription(for:)","abstract":"

    Returns the NSEntityDescription for the specified CoreStoreObject subclass from defaultStack‘s model.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17addStorageAndWaitAA06SQLiteB0CyKFZ":{"name":"addStorageAndWait()","abstract":"

    Creates an SQLiteStore with default parameters and adds it to the defaultStack. This method blocks until completion.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17addStorageAndWaityxxKAA0D9InterfaceRzlFZ":{"name":"addStorageAndWait(_:)","abstract":"

    Adds a StorageInterface to the defaultStack and blocks until completion.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17addStorageAndWaityxxKAA05LocalD0RzlFZ":{"name":"addStorageAndWait(_:)","abstract":"

    Adds a LocalStorage to the defaultStack and blocks until completion.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17addStorageAndWaityxxKAA05CloudD0RzlFZ":{"name":"addStorageAndWait(_:)","abstract":"

    Adds a CloudStorage to the defaultStack and blocks until completion.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO7perform12asynchronous10completionyxAA27AsynchronousDataTransactionCKc_yAG6ResultOy_xGctlFZ":{"name":"perform(asynchronous:completion:)","abstract":"

    Using the defaultStack, performs a transaction asynchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the wrapped as .success(userInfo: T) in the completion‘s Result<T>. Any errors thrown from inside the task will be reported as .failure(error: CoreStoreError). To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO7perform12asynchronous7success7failureyxAA27AsynchronousDataTransactionCKc_yxcyAA0aB5ErrorOctlFZ":{"name":"perform(asynchronous:success:failure:)","abstract":"

    Using the defaultStack, performs a transaction asynchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the argument of the success closure. Any errors thrown from inside the task will be wrapped in a CoreStoreError and reported in the failure closure. To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO7perform11synchronous19waitForAllObserversxxAA26SynchronousDataTransactionCKXE_SbtKlFZ":{"name":"perform(synchronous:waitForAllObservers:)","abstract":"

    Using the defaultStack, performs a transaction synchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the return value of perform(synchronous:). Any errors thrown from inside the task will be thrown from perform(synchronous:). To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO11beginUnsafe12supportsUndoAA0D15DataTransactionCSb_tFZ":{"name":"beginUnsafe(supportsUndo:)","abstract":"

    Using the defaultStack, begins a non-contiguous transaction where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO25refreshAndMergeAllObjectsyyFZ":{"name":"refreshAndMergeAllObjects()","abstract":"

    Refreshes all registered objects NSManagedObjects or CoreStoreObjects in the defaultStack.

    ","parent_name":"CoreStore"},"Enums/SetupResult.html#/s:9CoreStore11SetupResultO7successyACyxGxcAEmAA16StorageInterfaceRzlF":{"name":"success(_:)","abstract":"

    SetupResult.success indicates that the storage setup succeeded. The associated object for this enum value is the related StorageInterface instance.

    ","parent_name":"SetupResult"},"Enums/SetupResult.html#/s:9CoreStore11SetupResultO7failureyACyxGAA0aB5ErrorOcAEmAA16StorageInterfaceRzlF":{"name":"failure(_:)","abstract":"

    SetupResult.failure indicates that the storage setup failed. The associated object for this value is the related CoreStoreError enum value.

    ","parent_name":"SetupResult"},"Enums/SetupResult.html#/s:9CoreStore11SetupResultO9isSuccessSbvp":{"name":"isSuccess","abstract":"

    Returns true if the result indicates .success, false if the result is .failure.

    ","parent_name":"SetupResult"},"Enums/SetupResult.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"SetupResult"},"Enums/SetupResult.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"SetupResult"},"Enums/SetupResult.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"SetupResult"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermO9attributeyACyxGSSFZ":{"name":"attribute(_:)","abstract":"

    Provides a SelectTerm to a Select clause for querying an entity attribute. A shorter way to do the same is to assign from the string keypath directly:

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermO7average_2asACyxGSS_SSSgtFZ":{"name":"average(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the average value of an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermO5count_2asACyxGSS_SSSgtFZ":{"name":"count(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for a count query.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermO7maximum_2asACyxGSS_SSSgtFZ":{"name":"maximum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the maximum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermO7minimum_2asACyxGSS_SSSgtFZ":{"name":"minimum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the minimum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermO3sum_2asACyxGSS_SSSgtFZ":{"name":"sum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the sum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermO8objectID2asACyxGSSSg_tFZ":{"name":"objectID(as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the NSManagedObjectID.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:s26ExpressibleByStringLiteralP06stringD0x0cD4TypeQz_tcfc":{"name":"init(stringLiteral:)","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:s33ExpressibleByUnicodeScalarLiteralP07unicodedE0x0cdE4TypeQz_tcfc":{"name":"init(unicodeScalarLiteral:)","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:s43ExpressibleByExtendedGraphemeClusterLiteralP08extendeddeF0x0cdeF4TypeQz_tcfc":{"name":"init(extendedGraphemeClusterLiteral:)","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOAASo15NSManagedObjectCRbzrlE9attributeyACyxGs7KeyPathCyxqd__GlFZ":{"name":"attribute(_:)","abstract":"

    Provides a SelectTerm to a Select clause for querying an entity attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOAASo15NSManagedObjectCRbzrlE7average_2asACyxGs7KeyPathCyxqd__G_SSSgtlFZ":{"name":"average(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the average value of an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOAASo15NSManagedObjectCRbzrlE5count_2asACyxGs7KeyPathCyxqd__G_SSSgtlFZ":{"name":"count(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for a count query.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOAASo15NSManagedObjectCRbzrlE7maximum_2asACyxGs7KeyPathCyxqd__G_SSSgtlFZ":{"name":"maximum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the maximum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOAASo15NSManagedObjectCRbzrlE7minimum_2asACyxGs7KeyPathCyxqd__G_SSSgtlFZ":{"name":"minimum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the minimum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOAASo15NSManagedObjectCRbzrlE3sum_2asACyxGs7KeyPathCyxqd__G_SSSgtlFZ":{"name":"sum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the sum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE9attributeyACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GGAA23ImportableAttributeTypeRd__lFZ":{"name":"attribute(_:)","abstract":"

    Provides a SelectTerm to a Select clause for querying an entity attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE9attributeyACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GGAA23ImportableAttributeTypeRd__lFZ":{"name":"attribute(_:)","abstract":"

    Provides a SelectTerm to a Select clause for querying an entity attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE9attributeyACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GGSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"attribute(_:)","abstract":"

    Provides a SelectTerm to a Select clause for querying an entity attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE9attributeyACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GGSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"attribute(_:)","abstract":"

    Provides a SelectTerm to a Select clause for querying an entity attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7average_2asACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"average(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the average value of an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7average_2asACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"average(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the average value of an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7average_2asACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"average(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the average value of an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7average_2asACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"average(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the average value of an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE5count_2asACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"count(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for a count query.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE5count_2asACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"count(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for a count query.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE5count_2asACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"count(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for a count query.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE5count_2asACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"count(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for a count query.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7maximum_2asACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"maximum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the maximum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7maximum_2asACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"maximum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the maximum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7maximum_2asACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"maximum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the maximum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7maximum_2asACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"maximum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the maximum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7minimum_2asACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"minimum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the minimum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7minimum_2asACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"minimum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the minimum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7minimum_2asACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"minimum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the minimum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7minimum_2asACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"minimum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the minimum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE3sum_2asACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"sum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the sum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE3sum_2asACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"sum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the sum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE3sum_2asACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"sum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the sum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE3sum_2asACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"sum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the sum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/CSLocalStorageOptions.html#/c:@M@CoreStore@E@CSLocalStorageOptions@CSLocalStorageOptionsNone":{"name":"none","abstract":"

    Tells the DataStack that the store should not be migrated or recreated, and should simply fail on model mismatch

    ","parent_name":"CSLocalStorageOptions"},"Enums/CSLocalStorageOptions.html#/c:@M@CoreStore@E@CSLocalStorageOptions@CSLocalStorageOptionsRecreateStoreOnModelMismatch":{"name":"recreateStoreOnModelMismatch","abstract":"

    Tells the DataStack to delete and recreate the store on model mismatch, otherwise exceptions will be thrown on failure instead

    ","parent_name":"CSLocalStorageOptions"},"Enums/CSLocalStorageOptions.html#/c:@M@CoreStore@E@CSLocalStorageOptions@CSLocalStorageOptionsPreventProgressiveMigration":{"name":"preventProgressiveMigration","abstract":"

    Tells the DataStack to prevent progressive migrations for the store

    ","parent_name":"CSLocalStorageOptions"},"Enums/CSLocalStorageOptions.html#/c:@M@CoreStore@E@CSLocalStorageOptions@CSLocalStorageOptionsAllowSynchronousLightweightMigration":{"name":"allowSynchronousLightweightMigration","abstract":"

    Tells the DataStack to allow lightweight migration for the store when added synchronously

    ","parent_name":"CSLocalStorageOptions"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO4noneyACSS_tcACmF":{"name":"none(version:)","abstract":"

    Indicates that the persistent store matches the latest model version and no migration is needed

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO11lightweightyACSS_SStcACmF":{"name":"lightweight(sourceVersion:destinationVersion:)","abstract":"

    Indicates that the persistent store does not match the latest model version but Core Data can infer the mapping model, so a lightweight migration is needed

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO11heavyweightyACSS_SStcACmF":{"name":"heavyweight(sourceVersion:destinationVersion:)","abstract":"

    Indicates that the persistent store does not match the latest model version and Core Data could not infer a mapping model, so a custom migration is needed

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO13sourceVersionSSvp":{"name":"sourceVersion","abstract":"

    Returns the source model version for the migration type. If no migration is required, sourceVersion will be equal to the destinationVersion.

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO18destinationVersionSSvp":{"name":"destinationVersion","abstract":"

    Returns the destination model version for the migration type. If no migration is required, destinationVersion will be equal to the sourceVersion.

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO013isLightweightC0Sbvp":{"name":"isLightweightMigration","abstract":"

    Returns true if the MigrationType is a lightweight migration. Used as syntactic sugar.

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO013isHeavyweightC0Sbvp":{"name":"isHeavyweightMigration","abstract":"

    Returns true if the MigrationType is a heavyweight migration. Used as syntactic sugar.

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO03hasC0Sbvp":{"name":"hasMigration","abstract":"

    Returns true if the MigrationType is either a lightweight or a heavyweight migration. Returns false if no migrations specified.

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MigrationType"},"Enums/MigrationResult.html#/s:9CoreStore15MigrationResultO7successyACSayAA0C4TypeOGcACmF":{"name":"success(_:)","abstract":"

    MigrationResult.success indicates either the migration succeeded, or there were no migrations needed. The associated value is an array of MigrationTypes reflecting the migration steps completed.

    ","parent_name":"MigrationResult"},"Enums/MigrationResult.html#/s:9CoreStore15MigrationResultO7failureyAcA0aB5ErrorOcACmF":{"name":"failure(_:)","abstract":"

    SaveResult.failure indicates that the migration failed. The associated object for this value is the a CoreStoreError enum value.

    ","parent_name":"MigrationResult"},"Enums/MigrationResult.html#/s:9CoreStore15MigrationResultO9isSuccessSbvp":{"name":"isSuccess","abstract":"

    Returns true if the result indicates .success, false if the result is .failure.

    ","parent_name":"MigrationResult"},"Enums/MigrationResult.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"MigrationResult"},"Enums/MigrationResult.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MigrationResult"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO7unknownyA2CmF":{"name":"unknown","abstract":"

    A failure occured because of an unknown error.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO27differentStorageExistsAtURLyAC10Foundation0H0V_tcACmF":{"name":"differentStorageExistsAtURL(existingPersistentStoreURL:)","abstract":"

    The NSPersistentStore could not be initialized because another store existed at the specified NSURL.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO20mappingModelNotFoundyAC10Foundation3URLV_So015NSManagedObjectE0CSStcACmF":{"name":"mappingModelNotFound(localStoreURL:targetModel:targetModelVersion:)","abstract":"

    An NSMappingModel could not be found for a specific source and destination model versions.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO28progressiveMigrationRequiredyAC10Foundation3URLV_tcACmF":{"name":"progressiveMigrationRequired(localStoreURL:)","abstract":"

    Progressive migrations are disabled for a store, but an NSMappingModel could not be found for a specific source and destination model versions.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO29asynchronousMigrationRequiredyAC10Foundation3URLV_So7NSErrorCtcACmF":{"name":"asynchronousMigrationRequired(localStoreURL:NSError:)","abstract":"

    The LocalStorage was configured with .allowSynchronousLightweightMigration, but the model can only be migrated asynchronously.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO08internalC0yACSo7NSErrorC_tcACmF":{"name":"internalError(NSError:)","abstract":"

    An internal SDK call failed with the specified NSError.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO04userC0yACs0C0_p_tcACmF":{"name":"userError(error:)","abstract":"

    The transaction was terminated by a user-thrown Error.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO13userCancelledyA2CmF":{"name":"userCancelled","abstract":"

    The transaction was cancelled by the user.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:10Foundation13CustomNSErrorP11errorDomainSSvpZ":{"name":"errorDomain","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:10Foundation13CustomNSErrorP9errorCodeSivp":{"name":"errorCode","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:10Foundation13CustomNSErrorP13errorUserInfoSDySSypGvp":{"name":"errorUserInfo","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:10Foundation26_ObjectiveCBridgeableErrorP15_bridgedNSErrorxSgSo0F0C_tcfc":{"name":"init(_bridgedNSError:)","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"CoreStoreError"},"Enums/CSErrorCode.html#/c:@M@CoreStore@E@CSErrorCode@CSErrorCodeUnknownError":{"name":"unknownError","abstract":"

    A failure occured because of an unknown error.

    ","parent_name":"CSErrorCode"},"Enums/CSErrorCode.html#/c:@M@CoreStore@E@CSErrorCode@CSErrorCodeDifferentStorageExistsAtURL":{"name":"differentStorageExistsAtURL","abstract":"

    The NSPersistentStore could note be initialized because another store existed at the specified NSURL.

    ","parent_name":"CSErrorCode"},"Enums/CSErrorCode.html#/c:@M@CoreStore@E@CSErrorCode@CSErrorCodeMappingModelNotFound":{"name":"mappingModelNotFound","abstract":"

    An NSMappingModel could not be found for a specific source and destination model versions.

    ","parent_name":"CSErrorCode"},"Enums/CSErrorCode.html#/c:@M@CoreStore@E@CSErrorCode@CSErrorCodeProgressiveMigrationRequired":{"name":"progressiveMigrationRequired","abstract":"

    Progressive migrations are disabled for a store, but an NSMappingModel could not be found for a specific source and destination model versions.

    ","parent_name":"CSErrorCode"},"Enums/CSErrorCode.html#/c:@M@CoreStore@E@CSErrorCode@CSErrorCodeInternalError":{"name":"internalError","abstract":"

    An internal SDK call failed with the specified NSError userInfo key.

    ","parent_name":"CSErrorCode"},"Enums/CSErrorCode.html#/c:@M@CoreStore@E@CSErrorCode@CSErrorCodeUserError":{"name":"userError","abstract":"

    The transaction was terminated by a user-thrown error with the specified Error userInfo key.

    ","parent_name":"CSErrorCode"},"Enums/CSErrorCode.html#/c:@M@CoreStore@E@CSErrorCode@CSErrorCodeUserCancelled":{"name":"userCancelled","abstract":"

    The transaction was cancelled by the user.

    ","parent_name":"CSErrorCode"},"Enums/CSErrorCode.html":{"name":"CSErrorCode","abstract":"

    The NSError error codes for CSError.Domain.

    "},"Enums/CoreStoreError.html":{"name":"CoreStoreError","abstract":"

    All errors thrown from CoreStore are expressed in CoreStoreError enum values.

    "},"Enums/MigrationResult.html":{"name":"MigrationResult","abstract":"

    The MigrationResult indicates the result of a migration."},"Enums/MigrationType.html":{"name":"MigrationType","abstract":"

    The MigrationType specifies the type of migration required for a store.

    "},"Enums/CSLocalStorageOptions.html":{"name":"CSLocalStorageOptions","abstract":"

    The CSLocalStorageOptions provides settings that tells the CSDataStack how to setup the persistent store for CSLocalStorage implementers.

    "},"Enums/SelectTerm.html":{"name":"SelectTerm","abstract":"

    The SelectTerm is passed to the Select clause to indicate the attributes/aggregate keys to be queried.

    "},"Enums/SetupResult.html":{"name":"SetupResult","abstract":"

    The SetupResult indicates the result of an asynchronous initialization of a persistent store."},"Enums/CoreStore.html":{"name":"CoreStore","abstract":"

    CoreStore is the main entry point for all other APIs.

    "},"Enums/CoreStoreErrorCode.html":{"name":"CoreStoreErrorCode","abstract":"

    The NSError error codes for CoreStoreErrorDomain.

    "},"Enums.html#/s:9CoreStore8LogLevelO":{"name":"LogLevel","abstract":"

    The LogLevel indicates the severity of a log message.

    "},"Enums/ValueContainer.html":{"name":"ValueContainer","abstract":"

    The containing type for value properties. Use the DynamicObject.Value typealias instead for shorter syntax.

    "},"Enums/TransformableContainer.html":{"name":"TransformableContainer","abstract":"

    The containing type for transformable properties. Use the DynamicObject.Transformable typealias instead for shorter syntax.

    "},"Enums/RelationshipContainer.html":{"name":"RelationshipContainer","abstract":"

    The containing type for relationships. Use the DynamicObject.Relationship typealias instead for shorter syntax.

    "},"Global Variables.html#/s:9CoreStore0aB11ErrorDomainSSvp":{"name":"CoreStoreErrorDomain","abstract":"

    The NSError error domain string for CSError.

    "},"Classes/XcodeSchemaMappingProvider.html#/s:9CoreStore26XcodeSchemaMappingProviderC13sourceVersionSSvp":{"name":"sourceVersion","abstract":"

    The source model version for the mapping.

    ","parent_name":"XcodeSchemaMappingProvider"},"Classes/XcodeSchemaMappingProvider.html#/s:9CoreStore26XcodeSchemaMappingProviderC18destinationVersionSSvp":{"name":"destinationVersion","abstract":"

    The destination model version for the mapping.

    ","parent_name":"XcodeSchemaMappingProvider"},"Classes/XcodeSchemaMappingProvider.html#/s:9CoreStore26XcodeSchemaMappingProviderC18mappingModelBundleSo8NSBundleCvp":{"name":"mappingModelBundle","abstract":"

    The Bundle that contains the xcmappingmodel file.

    ","parent_name":"XcodeSchemaMappingProvider"},"Classes/XcodeSchemaMappingProvider.html#/s:9CoreStore26XcodeSchemaMappingProviderC4from2to18mappingModelBundleACSS_SSSo8NSBundleCtcfc":{"name":"init(from:to:mappingModelBundle:)","abstract":"

    Creates an XcodeSchemaMappingProvider

    ","parent_name":"XcodeSchemaMappingProvider"},"Classes/XcodeSchemaMappingProvider.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"XcodeSchemaMappingProvider"},"Classes/XcodeSchemaMappingProvider.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"XcodeSchemaMappingProvider"},"Classes/XcodeSchemaMappingProvider.html#/s:9CoreStore21SchemaMappingProviderP09cs_createD5Model4from2to7storageSo09NSMappingH0C07mappingH0_AA13MigrationTypeO09migrationO0tAA07DynamicC0_p_AaN_pAA12LocalStorage_ptKF":{"name":"cs_createMappingModel(from:to:storage:)","parent_name":"XcodeSchemaMappingProvider"},"Classes/UserInfo.html#/s:9CoreStore8UserInfoCyypSgSVcip":{"name":"subscript(_:)","abstract":"

    Allows external libraries to store custom data. App code should rarely have a need for this.

    ","parent_name":"UserInfo"},"Classes/UserInfo.html#/s:9CoreStore8UserInfoC_8lazyInitypSV_ypyXEtcip":{"name":"subscript(_:lazyInit:)","abstract":"

    Allows external libraries to store custom data in the DataStack. App code should rarely have a need for this.

    ","parent_name":"UserInfo"},"Classes/InferredSchemaMappingProvider.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"InferredSchemaMappingProvider"},"Classes/InferredSchemaMappingProvider.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"InferredSchemaMappingProvider"},"Classes/InferredSchemaMappingProvider.html#/s:9CoreStore21SchemaMappingProviderP09cs_createD5Model4from2to7storageSo09NSMappingH0C07mappingH0_AA13MigrationTypeO09migrationO0tAA07DynamicC0_p_AaN_pAA12LocalStorage_ptKF":{"name":"cs_createMappingModel(from:to:storage:)","parent_name":"InferredSchemaMappingProvider"},"Classes/DynamicEntity.html#/s:9CoreStore13DynamicEntityC4typeAA0C6Object_pXpvp":{"name":"type","abstract":"

    Do not use directly.

    ","parent_name":"DynamicEntity"},"Classes/DynamicEntity.html#/s:9CoreStore13DynamicEntityC10entityNameSSvp":{"name":"entityName","abstract":"

    Do not use directly.

    ","parent_name":"DynamicEntity"},"Classes/DynamicEntity.html#/s:9CoreStore13DynamicEntityC10isAbstractSbvp":{"name":"isAbstract","abstract":"

    Do not use directly.

    ","parent_name":"DynamicEntity"},"Classes/DynamicEntity.html#/s:9CoreStore13DynamicEntityC19versionHashModifierSSSgvp":{"name":"versionHashModifier","abstract":"

    Do not use directly.

    ","parent_name":"DynamicEntity"},"Classes/DynamicEntity.html#/s:9CoreStore13DynamicEntityC7indexesSaySaySSGGvp":{"name":"indexes","abstract":"

    Do not use directly.

    ","parent_name":"DynamicEntity"},"Classes/DynamicEntity.html#/s:9CoreStore13DynamicEntityC17uniqueConstraintsSaySaySSGGvp":{"name":"uniqueConstraints","abstract":"

    Do not use directly.

    ","parent_name":"DynamicEntity"},"Classes/DynamicEntity.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"DynamicEntity"},"Classes/DynamicEntity.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"DynamicEntity"},"Classes/DefaultLogger.html#/s:9CoreStore13DefaultLoggerCACycfc":{"name":"init()","abstract":"

    Creates a DefaultLogger.

    ","parent_name":"DefaultLogger"},"Classes/DefaultLogger.html#/s:9CoreStore13DefaultLoggerC3log5level7message8fileName10lineNumber08functionI0yAA8LogLevelO_SSs12StaticStringVSiAMtF":{"name":"log(level:message:fileName:lineNumber:functionName:)","abstract":"

    Handles log messages sent by the CoreStore framework.

    ","parent_name":"DefaultLogger"},"Classes/DefaultLogger.html#/s:9CoreStore13DefaultLoggerC3log5error7message8fileName10lineNumber08functionI0yAA0aB5ErrorO_SSs12StaticStringVSiAMtF":{"name":"log(error:message:fileName:lineNumber:functionName:)","abstract":"

    Handles errors sent by the CoreStore framework.

    ","parent_name":"DefaultLogger"},"Classes/DefaultLogger.html#/s:9CoreStore13DefaultLoggerC6assert_7message8fileName10lineNumber08functionH0ySbyXK_SSyXKs12StaticStringVSiAJtF":{"name":"assert(_:message:fileName:lineNumber:functionName:)","abstract":"

    Handles assertions made throughout the CoreStore framework.

    ","parent_name":"DefaultLogger"},"Classes/DefaultLogger.html#/s:9CoreStore13DefaultLoggerC5abort_8fileName10lineNumber08functionG0ySS_s12StaticStringVSiAItF":{"name":"abort(_:fileName:lineNumber:functionName:)","abstract":"

    Handles fatal errors made throughout the CoreStore framework.

    ","parent_name":"DefaultLogger"},"Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html#/s:9CoreStore27CustomSchemaMappingProviderC23UnsafeDestinationObjectCyypSgSScip":{"name":"subscript(_:)","abstract":"

    Accesses or mutates the property value via its keyPath.

    ","parent_name":"UnsafeDestinationObject"},"Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html#/s:9CoreStore27CustomSchemaMappingProviderC23UnsafeDestinationObjectCyypSgSo22NSAttributeDescriptionCcip":{"name":"subscript(_:)","abstract":"

    Accesses or mutates the property value via its NSAttributeDescription, which can be accessed from the enumerateAttributes(_:) method.

    ","parent_name":"UnsafeDestinationObject"},"Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html#/s:9CoreStore27CustomSchemaMappingProviderC23UnsafeDestinationObjectC19enumerateAttributesyyySo22NSAttributeDescriptionC_AHSgtXEF":{"name":"enumerateAttributes(_:)","abstract":"

    Enumerates the all NSAttributeDescriptions. The attribute argument can be used as the subscript key to access and mutate the property. The sourceAttribute can be used to access properties from the source UnsafeSourceObject.

    ","parent_name":"UnsafeDestinationObject"},"Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html#/s:9CoreStore27CustomSchemaMappingProviderC18UnsafeSourceObjectCyypSgSScip":{"name":"subscript(_:)","abstract":"

    Accesses the property value via its keyPath.

    ","parent_name":"UnsafeSourceObject"},"Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html#/s:9CoreStore27CustomSchemaMappingProviderC18UnsafeSourceObjectCyypSgSo22NSAttributeDescriptionCcip":{"name":"subscript(_:)","abstract":"

    Accesses the property value via its NSAttributeDescription, which can be accessed from the enumerateAttributes(_:) method.

    ","parent_name":"UnsafeSourceObject"},"Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html#/s:9CoreStore27CustomSchemaMappingProviderC18UnsafeSourceObjectC19enumerateAttributesyyySo22NSAttributeDescriptionCXEF":{"name":"enumerateAttributes(_:)","abstract":"

    Enumerates the all NSAttributeDescriptions. The attribute argument can be used as the subscript key to access the property.

    ","parent_name":"UnsafeSourceObject"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:9CoreStore27CustomSchemaMappingProviderC0cE0O12deleteEntityyAESS_tcAEmF":{"name":"deleteEntity(sourceEntity:)","abstract":"

    The sourceEntity is meant to be removed from the source DynamicSchema and should not be migrated to the destination DynamicSchema.

    ","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:9CoreStore27CustomSchemaMappingProviderC0cE0O12insertEntityyAESS_tcAEmF":{"name":"insertEntity(destinationEntity:)","abstract":"

    The destinationEntity is newly added to the destination DynamicSchema and has no mapping from the source DynamicSchema.

    ","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:9CoreStore27CustomSchemaMappingProviderC0cE0O10copyEntityyAESS_SStcAEmF":{"name":"copyEntity(sourceEntity:destinationEntity:)","abstract":"

    The DynamicSchemas entity has no changes and can be copied directly from sourceEntity to destinationEntity.

    ","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:9CoreStore27CustomSchemaMappingProviderC0cE0O15transformEntityyAESS_SSyAC18UnsafeSourceObjectC_AC0i11DestinationK0CyXEtKctcAEmF":{"name":"transformEntity(sourceEntity:destinationEntity:transformer:)","abstract":"

    The DynamicSchemas entity needs transformations from sourceEntity to destinationEntity. The transformer closure will be used to apply the changes. The CustomMapping.inferredTransformation method can be used directly as the transformer if the changes can be inferred (i.e. lightweight).

    ","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:9CoreStore27CustomSchemaMappingProviderC0cE0O11Transformera":{"name":"Transformer","abstract":"

    The closure type for CustomMapping.transformEntity.

    ","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:9CoreStore27CustomSchemaMappingProviderC0cE0O22inferredTransformationyyAC18UnsafeSourceObjectC_AC0i11DestinationK0CyXEtKFZ":{"name":"inferredTransformation(_:_:)","abstract":"

    The CustomMapping.inferredTransformation method can be used directly as the transformer if the changes can be inferred (i.e. lightweight).

    ","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider.html#/s:9CoreStore27CustomSchemaMappingProviderC13sourceVersionSSvp":{"name":"sourceVersion","abstract":"

    The source model version for the mapping.

    ","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider.html#/s:9CoreStore27CustomSchemaMappingProviderC18destinationVersionSSvp":{"name":"destinationVersion","abstract":"

    The destination model version for the mapping.

    ","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider.html#/s:9CoreStore27CustomSchemaMappingProviderC4from2to14entityMappingsACSS_SSShyAC0cE0OGtcfc":{"name":"init(from:to:entityMappings:)","abstract":"

    Creates a CustomSchemaMappingProvider

    ","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider/CustomMapping.html":{"name":"CustomMapping","abstract":"

    Provides the type of mapping for an entity. Mappings of entities with no CustomMapping provided will be automatically calculated if possible. Any conflicts or ambiguity will raise an assertion.

    ","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html":{"name":"UnsafeSourceObject","abstract":"

    The read-only proxy object used for the source object in a mapping’s Transformer closure. Properties can be accessed either by keyPath string or by NSAttributeDescription.

    ","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html":{"name":"UnsafeDestinationObject","abstract":"

    The read-write proxy object used for the destination object that can be created in a mapping’s Transformer closure. Properties can be accessed and mutated either through keyPath string or by NSAttributeDescription.

    ","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider.html#/s:9CoreStore21SchemaMappingProviderP09cs_createD5Model4from2to7storageSo09NSMappingH0C07mappingH0_AA13MigrationTypeO09migrationO0tAA07DynamicC0_p_AaN_pAA12LocalStorage_ptKF":{"name":"cs_createMappingModel(from:to:storage:)","parent_name":"CustomSchemaMappingProvider"},"Classes/CoreStoreObjectOrderedDiff.html#/s:9CoreStore0aB17ObjectOrderedDiffC4kindSo16NSKeyValueChangeVvp":{"name":"kind","abstract":"

    Indicates the kind of change. See the comments for NSObject.observeValue(forKeyPath:of:change:context:) for more information.

    ","parent_name":"CoreStoreObjectOrderedDiff"},"Classes/CoreStoreObjectOrderedDiff.html#/s:9CoreStore0aB17ObjectOrderedDiffC8newValueSayxGvp":{"name":"newValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectOrderedDiff"},"Classes/CoreStoreObjectOrderedDiff.html#/s:9CoreStore0aB17ObjectOrderedDiffC8oldValueSayxGvp":{"name":"oldValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectOrderedDiff"},"Classes/CoreStoreObjectOrderedDiff.html#/s:9CoreStore0aB17ObjectOrderedDiffC7indexes10Foundation8IndexSetVvp":{"name":"indexes","abstract":"

    indexes will be nil unless the observed KeyPath refers to an ordered to-many property

    ","parent_name":"CoreStoreObjectOrderedDiff"},"Classes/CoreStoreObjectOrderedDiff.html#/s:9CoreStore0aB17ObjectOrderedDiffC7isPriorSbvp":{"name":"isPrior","abstract":"

    ‘isPrior’ will be true if this change observation is being sent before the change happens, due to .prior being passed to observe()

    ","parent_name":"CoreStoreObjectOrderedDiff"},"Classes/CoreStoreObjectUnorderedDiff.html#/s:9CoreStore0aB19ObjectUnorderedDiffC4kindSo16NSKeyValueChangeVvp":{"name":"kind","abstract":"

    Indicates the kind of change. See the comments for NSObject.observeValue(forKeyPath:of:change:context:) for more information.

    ","parent_name":"CoreStoreObjectUnorderedDiff"},"Classes/CoreStoreObjectUnorderedDiff.html#/s:9CoreStore0aB19ObjectUnorderedDiffC8newValueShyxGvp":{"name":"newValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectUnorderedDiff"},"Classes/CoreStoreObjectUnorderedDiff.html#/s:9CoreStore0aB19ObjectUnorderedDiffC8oldValueShyxGvp":{"name":"oldValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectUnorderedDiff"},"Classes/CoreStoreObjectUnorderedDiff.html#/s:9CoreStore0aB19ObjectUnorderedDiffC7isPriorSbvp":{"name":"isPrior","abstract":"

    ‘isPrior’ will be true if this change observation is being sent before the change happens, due to .prior being passed to observe()

    ","parent_name":"CoreStoreObjectUnorderedDiff"},"Classes/CoreStoreObjectObjectDiff.html#/s:9CoreStore0ab6ObjectC4DiffC4kindSo16NSKeyValueChangeVvp":{"name":"kind","abstract":"

    Indicates the kind of change. See the comments for NSObject.observeValue(forKeyPath:of:change:context:) for more information.

    ","parent_name":"CoreStoreObjectObjectDiff"},"Classes/CoreStoreObjectObjectDiff.html#/s:9CoreStore0ab6ObjectC4DiffC8newValuexSgvp":{"name":"newValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectObjectDiff"},"Classes/CoreStoreObjectObjectDiff.html#/s:9CoreStore0ab6ObjectC4DiffC8oldValuexSgvp":{"name":"oldValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectObjectDiff"},"Classes/CoreStoreObjectObjectDiff.html#/s:9CoreStore0ab6ObjectC4DiffC7isPriorSbvp":{"name":"isPrior","abstract":"

    ‘isPrior’ will be true if this change observation is being sent before the change happens, due to .prior being passed to observe()

    ","parent_name":"CoreStoreObjectObjectDiff"},"Classes/CoreStoreObjectTransformableDiff.html#/s:9CoreStore0aB23ObjectTransformableDiffC4kindSo16NSKeyValueChangeVvp":{"name":"kind","abstract":"

    Indicates the kind of change. See the comments for NSObject.observeValue(forKeyPath:of:change:context:) for more information.

    ","parent_name":"CoreStoreObjectTransformableDiff"},"Classes/CoreStoreObjectTransformableDiff.html#/s:9CoreStore0aB23ObjectTransformableDiffC8newValuexSgvp":{"name":"newValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectTransformableDiff"},"Classes/CoreStoreObjectTransformableDiff.html#/s:9CoreStore0aB23ObjectTransformableDiffC8oldValuexSgvp":{"name":"oldValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectTransformableDiff"},"Classes/CoreStoreObjectTransformableDiff.html#/s:9CoreStore0aB23ObjectTransformableDiffC7isPriorSbvp":{"name":"isPrior","abstract":"

    ‘isPrior’ will be true if this change observation is being sent before the change happens, due to .prior being passed to observe()

    ","parent_name":"CoreStoreObjectTransformableDiff"},"Classes/CoreStoreObjectValueDiff.html#/s:9CoreStore0aB15ObjectValueDiffC4kindSo05NSKeyD6ChangeVvp":{"name":"kind","abstract":"

    Indicates the kind of change. See the comments for NSObject.observeValue(forKeyPath:of:change:context:) for more information.

    ","parent_name":"CoreStoreObjectValueDiff"},"Classes/CoreStoreObjectValueDiff.html#/s:9CoreStore0aB15ObjectValueDiffC03newD0xSgvp":{"name":"newValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). newValue will be nil if isPrior is true.

    ","parent_name":"CoreStoreObjectValueDiff"},"Classes/CoreStoreObjectValueDiff.html#/s:9CoreStore0aB15ObjectValueDiffC03oldD0xSgvp":{"name":"oldValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe().

    ","parent_name":"CoreStoreObjectValueDiff"},"Classes/CoreStoreObjectValueDiff.html#/s:9CoreStore0aB15ObjectValueDiffC7isPriorSbvp":{"name":"isPrior","abstract":"

    ‘isPrior’ will be true if this change observation is being sent before the change happens, due to .prior being passed to observe()

    ","parent_name":"CoreStoreObjectValueDiff"},"Classes/SchemaHistory.html#/s:9CoreStore13SchemaHistoryC19currentModelVersionSSvp":{"name":"currentModelVersion","abstract":"

    The version string for the current model version. The DataStack will try to migrate all StorageInterfaces added to itself to this version, following the version steps provided by the migrationChain.

    ","parent_name":"SchemaHistory"},"Classes/SchemaHistory.html#/s:9CoreStore13SchemaHistoryC07currentC0AA07DynamicC0_pvp":{"name":"currentSchema","abstract":"

    The schema for the current model version. The DataStack will try to migrate all StorageInterfaces added to itself to this version, following the version steps provided by the migrationChain.

    ","parent_name":"SchemaHistory"},"Classes/SchemaHistory.html#/s:9CoreStore13SchemaHistoryC14migrationChainAA09MigrationF0Vvp":{"name":"migrationChain","abstract":"

    The version string for the current model version. The DataStack will try to migrate all StorageInterfaces added to itself to this version, following the version steps provided by the migrationChain.

    ","parent_name":"SchemaHistory"},"Classes/SchemaHistory.html#/s:9CoreStore13SchemaHistoryC_14migrationChainACSayAA014XcodeDataModelC0CG03allC0_SS07currentI7Versiont_AA09MigrationF0Vtcfc":{"name":"init(_:migrationChain:)","abstract":"

    Convenience initializer for a SchemaHistory created from a single xcdatamodeld file.

    ","parent_name":"SchemaHistory"},"Classes/SchemaHistory.html#/s:9CoreStore13SchemaHistoryC__14migrationChain24exactCurrentModelVersionAcA07DynamicC0_p_AaF_pdAA09MigrationF0VSSSgtcfc":{"name":"init(_:_:migrationChain:exactCurrentModelVersion:)","abstract":"

    Initializes a SchemaHistory with a list of DynamicSchema and a MigrationChain to describe the order of progressive migrations.

    ","parent_name":"SchemaHistory"},"Classes/SchemaHistory.html#/s:9CoreStore13SchemaHistoryC03allC014migrationChain24exactCurrentModelVersionACSayAA07DynamicC0_pG_AA09MigrationG0VSSSgtcfc":{"name":"init(allSchema:migrationChain:exactCurrentModelVersion:)","abstract":"

    Initializes a SchemaHistory with a list of DynamicSchema and a MigrationChain to describe the order of progressive migrations.

    ","parent_name":"SchemaHistory"},"Classes/SchemaHistory.html#/s:s25ExpressibleByArrayLiteralP05arrayD0x0cD7ElementQzd_tcfc":{"name":"init(arrayLiteral:)","parent_name":"SchemaHistory"},"Classes/SchemaHistory.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"SchemaHistory"},"Classes/ObjectMonitor.html#/s:9CoreStore13ObjectMonitorC0C4Typea":{"name":"ObjectType","abstract":"

    The type for the object contained by the ObjectMonitor

    ","parent_name":"ObjectMonitor"},"Classes/ObjectMonitor.html#/s:9CoreStore13ObjectMonitorC6objectxSgvp":{"name":"object","abstract":"

    Returns the DynamicObject instance being observed, or nil if the object was already deleted.

    ","parent_name":"ObjectMonitor"},"Classes/ObjectMonitor.html#/s:9CoreStore13ObjectMonitorC02isC7DeletedSbvp":{"name":"isObjectDeleted","abstract":"

    Returns true if the DynamicObject instance being observed still exists, or false if the object was already deleted.

    ","parent_name":"ObjectMonitor"},"Classes/ObjectMonitor.html#/s:9CoreStore13ObjectMonitorC11addObserveryyqd__0C10EntityTypeQyd__RszAA0cF0Rd__lF":{"name":"addObserver(_:)","abstract":"

    Registers an ObjectObserver to be notified when changes to the receiver’s object are made.

    ","parent_name":"ObjectMonitor"},"Classes/ObjectMonitor.html#/s:9CoreStore13ObjectMonitorC14removeObserveryyqd__0C10EntityTypeQyd__RszAA0cF0Rd__lF":{"name":"removeObserver(_:)","abstract":"

    Unregisters an ObjectObserver from receiving notifications for changes to the receiver’s object.

    ","parent_name":"ObjectMonitor"},"Classes/ObjectMonitor.html#/s:9CoreStore13ObjectMonitorC8userInfoAA04UserF0Cvp":{"name":"userInfo","abstract":"

    Allow external libraries to store custom data in the ObjectMonitor. App code should rarely have a need for this.

    ","parent_name":"ObjectMonitor"},"Classes/ObjectMonitor.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"ObjectMonitor"},"Classes/ObjectMonitor.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"ObjectMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC10ObjectTypea":{"name":"ObjectType","abstract":"

    The type for the objects contained bye the ListMonitor

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCyxSicip":{"name":"subscript(_:)","abstract":"

    Returns the object at the given index within the first section. This subscript indexer is typically used for ListMonitors created with monitorList(_:).

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC9safeIndexxSgSi_tcip":{"name":"subscript(safeIndex:)","abstract":"

    Returns the object at the given index, or nil if out of bounds. This subscript indexer is typically used for ListMonitors created with monitorList(_:).

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCyxSi_Sitcip":{"name":"subscript(_:_:)","abstract":"

    Returns the object at the given sectionIndex and itemIndex. This subscript indexer is typically used for ListMonitors created with monitorSectionedList(_:).

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC16safeSectionIndex0e4ItemG0xSgSi_Sitcip":{"name":"subscript(safeSectionIndex:safeItemIndex:)","abstract":"

    Returns the object at the given section and item index, or nil if out of bounds. This subscript indexer is typically used for ListMonitors created with monitorSectionedList(_:).

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCyx10Foundation9IndexPathVcip":{"name":"subscript(_:)","abstract":"

    Returns the object at the given IndexPath. This subscript indexer is typically used for ListMonitors created with monitorSectionedList(_:).

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC13safeIndexPathxSg10Foundation0fG0V_tcip":{"name":"subscript(safeIndexPath:)","abstract":"

    Returns the object at the given IndexPath, or nil if out of bounds. This subscript indexer is typically used for ListMonitors created with monitorSectionedList(_:).

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC11hasSectionsSbyF":{"name":"hasSections()","abstract":"

    Checks if the ListMonitor has at least one section

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC10hasObjectsSbyF":{"name":"hasObjects()","abstract":"

    Checks if the ListMonitor has at least one object in any section.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC19hasObjectsInSectionySbSiF":{"name":"hasObjectsInSection(_:)","abstract":"

    Checks if the ListMonitor has at least one object the specified section.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC16numberOfSectionsSiyF":{"name":"numberOfSections()","abstract":"

    Returns the number of sections

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC15numberOfObjectsSiyF":{"name":"numberOfObjects()","abstract":"

    Returns the number of objects in all sections

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC24numberOfObjectsInSectionyS2iF":{"name":"numberOfObjectsInSection(_:)","abstract":"

    Returns the number of objects in the specified section

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC24numberOfObjectsInSection04safeI5IndexSiSgSi_tF":{"name":"numberOfObjectsInSection(safeSectionIndex:)","abstract":"

    Returns the number of objects in the specified section, or nil if out of bounds.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC18sectionInfoAtIndexySo023NSFetchedResultsSectionF0_pSiF":{"name":"sectionInfoAtIndex(_:)","abstract":"

    Returns the NSFetchedResultsSectionInfo for the specified section

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC18sectionInfoAtIndex011safeSectionH0So016NSFetchedResultsjF0_pSgSi_tF":{"name":"sectionInfoAtIndex(safeSectionIndex:)","abstract":"

    Returns the NSFetchedResultsSectionInfo for the specified section, or nil if out of bounds.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC8sectionsSaySo27NSFetchedResultsSectionInfo_pGyF":{"name":"sections()","abstract":"

    Returns the NSFetchedResultsSectionInfos for all sections

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC016targetSectionForF5Index5title5indexSiSS_SitF":{"name":"targetSectionForSectionIndex(title:index:)","abstract":"

    Returns the target section for a specified Section Index title and index.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC18sectionIndexTitlesSaySSGyF":{"name":"sectionIndexTitles()","abstract":"

    Returns the section index titles for all sections

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC7indexOfySiSgxF":{"name":"indexOf(_:)","abstract":"

    Returns the index of the DynamicObject if it exists in the ListMonitor‘s fetched objects, or nil if not found.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC11indexPathOfy10Foundation05IndexF0VSgxF":{"name":"indexPathOf(_:)","abstract":"

    Returns the IndexPath of the DynamicObject if it exists in the ListMonitor‘s fetched objects, or nil if not found.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC11addObserveryyqd__0C10EntityTypeQyd__RszAA0cF0Rd__lF":{"name":"addObserver(_:)","abstract":"

    Registers a ListObserver to be notified when changes to the receiver’s list occur.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC11addObserveryyqd__0C10EntityTypeQyd__RszAA0c6ObjectF0Rd__lF":{"name":"addObserver(_:)","abstract":"

    Registers a ListObjectObserver to be notified when changes to the receiver’s list occur.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC11addObserveryyqd__0C10EntityTypeQyd__RszAA0c7SectionF0Rd__lF":{"name":"addObserver(_:)","abstract":"

    Registers a ListSectionObserver to be notified when changes to the receiver’s list occur.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC14removeObserveryyqd__0C10EntityTypeQyd__RszAA0cF0Rd__lF":{"name":"removeObserver(_:)","abstract":"

    Unregisters a ListObserver from receiving notifications for changes to the receiver’s list.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC16isPendingRefetchSbvp":{"name":"isPendingRefetch","abstract":"

    Returns true if a call to refetch(...) was made to the ListMonitor and is currently waiting for the fetching to complete. Returns false otherwise.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC7refetchyyAA11FetchClause_pd_tF":{"name":"refetch(_:)","abstract":"

    Asks the ListMonitor to refetch its objects using the specified series of FetchClauses. Note that this method does not execute the fetch immediately; the actual fetching will happen after the NSFetchedResultsController‘s last controllerDidChangeContent(_:) notification completes.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC7refetchyySayAA11FetchClause_pGF":{"name":"refetch(_:)","abstract":"

    Asks the ListMonitor to refetch its objects using the specified series of FetchClauses. Note that this method does not execute the fetch immediately; the actual fetching will happen after the NSFetchedResultsController‘s last controllerDidChangeContent(_:) notification completes.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC8userInfoAA04UserF0Cvp":{"name":"userInfo","abstract":"

    Allow external libraries to store custom data in the ListMonitor. App code should rarely have a need for this.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCAASo15NSManagedObjectCRbzrlE20objectsInAllSectionsSayxGyF":{"name":"objectsInAllSections()","abstract":"

    Returns all objects in all sections

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCAASo15NSManagedObjectCRbzrlE16objectsInSectionySayxGSiF":{"name":"objectsInSection(_:)","abstract":"

    Returns all objects in the specified section

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCAASo15NSManagedObjectCRbzrlE16objectsInSection04safeI5IndexSayxGSgSi_tF":{"name":"objectsInSection(safeSectionIndex:)","abstract":"

    Returns all objects in the specified section, or nil if out of bounds.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCA2A0aB6ObjectCRbzrlE20objectsInAllSectionsSayxGyF":{"name":"objectsInAllSections()","abstract":"

    Returns all objects in all sections

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCA2A0aB6ObjectCRbzrlE16objectsInSectionySayxGSiF":{"name":"objectsInSection(_:)","abstract":"

    Returns all objects in the specified section

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCA2A0aB6ObjectCRbzrlE16objectsInSection04safeH5IndexSayxGSgSi_tF":{"name":"objectsInSection(safeSectionIndex:)","abstract":"

    Returns all objects in the specified section, or nil if out of bounds.

    ","parent_name":"ListMonitor"},"Classes/ICloudStore.html#/s:9CoreStore06ICloudB0C21ubiquitousContentName0dE27TransactionLogsSubdirectory0D11ContainerID0D9PeerToken13configuration19cloudStorageOptionsACSgSS_S2SSgA2kA05CloudpQ0Vtcfc":{"name":"init(ubiquitousContentName:ubiquitousContentTransactionLogsSubdirectory:ubiquitousContainerID:ubiquitousPeerToken:configuration:cloudStorageOptions:)","abstract":"

    Initializes an iCloud store interface from the given ubiquitous store information. Returns nil if the container could not be located or if iCloud storage is unavailable for the current user or device

    ","parent_name":"ICloudStore"},"Classes/ICloudStore.html#/s:9CoreStore06ICloudB0C11addObserveryyxAA0cbE0RzlF":{"name":"addObserver(_:)","abstract":"

    Registers an ICloudStoreObserver to start receive notifications from the ubiquitous store

    ","parent_name":"ICloudStore"},"Classes/ICloudStore.html#/s:9CoreStore06ICloudB0C14removeObserveryyAA0cbE0_pF":{"name":"removeObserver(_:)","abstract":"

    Unregisters an ICloudStoreObserver to stop receiving notifications from the ubiquitous store

    ","parent_name":"ICloudStore"},"Classes/ICloudStore.html#/s:9CoreStore06ICloudB0C9storeTypeSSvpZ":{"name":"storeType","abstract":"

    The string identifier for the NSPersistentStore‘s type property. For SQLiteStores, this is always set to NSSQLiteStoreType.

    ","parent_name":"ICloudStore"},"Classes/ICloudStore.html#/s:9CoreStore06ICloudB0C13configurationSSSgvp":{"name":"configuration","abstract":"

    The configuration name in the model file

    ","parent_name":"ICloudStore"},"Classes/ICloudStore.html#/s:9CoreStore06ICloudB0C12storeOptionsSDys11AnyHashableVypGSgvp":{"name":"storeOptions","abstract":"

    The options dictionary for the NSPersistentStore. For SQLiteStores, this is always set to

    ","parent_name":"ICloudStore"},"Classes/ICloudStore.html#/s:9CoreStore06ICloudB0C20cs_didAddToDataStackyyAA0hI0CF":{"name":"cs_didAddToDataStack(_:)","abstract":"

    Do not call directly. Used by the DataStack internally.

    ","parent_name":"ICloudStore"},"Classes/ICloudStore.html#/s:9CoreStore06ICloudB0C25cs_didRemoveFromDataStackyyAA0hI0CF":{"name":"cs_didRemoveFromDataStack(_:)","abstract":"

    Do not call directly. Used by the DataStack internally.

    ","parent_name":"ICloudStore"},"Classes/ICloudStore.html#/s:9CoreStore06ICloudB0C12cacheFileURL10Foundation0F0Vvp":{"name":"cacheFileURL","abstract":"

    The NSURL that points to the ubiquity container file

    ","parent_name":"ICloudStore"},"Classes/ICloudStore.html#/s:9CoreStore06ICloudB0C19cloudStorageOptionsAA05CloudeF0Vvp":{"name":"cloudStorageOptions","abstract":"

    Options that tell the DataStack how to setup the persistent store

    ","parent_name":"ICloudStore"},"Classes/ICloudStore.html#/s:9CoreStore06ICloudB0C10dictionary10forOptionsSDys11AnyHashableVypGSgAA012CloudStorageF0V_tF":{"name":"dictionary(forOptions:)","abstract":"

    The options dictionary for the specified CloudStorageOptions

    ","parent_name":"ICloudStore"},"Classes/ICloudStore.html#/s:9CoreStore06ICloudB0C22cs_eraseStorageAndWait10soureModelySo015NSManagedObjectJ0C_tKF":{"name":"cs_eraseStorageAndWait(soureModel:)","abstract":"

    Called by the DataStack to perform actual deletion of the store file from disk. Do not call directly! The sourceModel argument is a hint for the existing store’s model version. For SQLiteStore, this converts the database’s WAL journaling mode to DELETE before deleting the file.

    ","parent_name":"ICloudStore"},"Classes/ICloudStore.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"ICloudStore"},"Classes/Entity.html#/s:9CoreStore6EntityC_10isAbstract19versionHashModifier7indexes17uniqueConstraintsACyxGSS_SbSSSgSaySays14PartialKeyPathCyxGGGANtcfc":{"name":"init(_:isAbstract:versionHashModifier:indexes:uniqueConstraints:)","abstract":"

    Initializes an Entity. Always provide a concrete generic type to Entity.

    ","parent_name":"Entity"},"Classes/Entity.html#/s:9CoreStore6EntityC__10isAbstract19versionHashModifier7indexes17uniqueConstraintsACyxGxm_SSSbSSSgSaySays14PartialKeyPathCyxGGGANtcfc":{"name":"init(_:_:isAbstract:versionHashModifier:indexes:uniqueConstraints:)","abstract":"

    Initializes an Entity.

    ","parent_name":"Entity"},"Classes/Entity.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"Entity"},"Classes/CoreStoreSchema.html#/s:9CoreStore0aB6SchemaC12modelVersion8entities11versionLockACSS_SayAA13DynamicEntityCGAA0eH0VSgtcfc":{"name":"init(modelVersion:entities:versionLock:)","abstract":"

    Initializes a CoreStoreSchema. Using this initializer only if the entities don’t need to be assigned to particular Configurations. To use multiple configurations (for example, to separate entities in different StorageInterfaces), use the init(modelVersion:entitiesByConfiguration:versionLock:) initializer.

    ","parent_name":"CoreStoreSchema"},"Classes/CoreStoreSchema.html#/s:9CoreStore0aB6SchemaC12modelVersion20entityConfigurations11versionLockACSS_SDyAA13DynamicEntityCShySSGGAA0eI0VSgtcfc":{"name":"init(modelVersion:entityConfigurations:versionLock:)","abstract":"

    Initializes a CoreStoreSchema. Using this initializer if multiple Configurations (for example, to separate entities in different StorageInterfaces) are needed. To add an entity only to the default configuration, assign an empty set to its configurations list. Note that regardless of the set configurations, all entities will be added to the default configuration.

    ","parent_name":"CoreStoreSchema"},"Classes/CoreStoreSchema.html#/s:9CoreStore13DynamicSchemaP12modelVersionSSvp":{"name":"modelVersion","parent_name":"CoreStoreSchema"},"Classes/CoreStoreSchema.html#/s:9CoreStore13DynamicSchemaP8rawModelSo015NSManagedObjectF0CyF":{"name":"rawModel()","parent_name":"CoreStoreSchema"},"Classes/CoreStoreSchema.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"CoreStoreSchema"},"Classes/CoreStoreObject.html#/s:9CoreStore0aB6ObjectC03rawC0ACSo09NSManagedC0C_tcfc":{"name":"init(rawObject:)","abstract":"

    Do not call this directly. This is exposed as public only as a required initializer.

    ","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore0aB6ObjectC6asMetaACyt_tcfc":{"name":"init(asMeta:)","abstract":"

    Do not call this directly. This is exposed as public only as a required initializer.

    ","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore0aB6ObjectC11fetchSourceAA09FetchableE0_pSgyF":{"name":"fetchSource()","abstract":"

    Exposes a FetchableSource that can fetch sibling objects of this CoreStoreObject instance. This may be the DataStack, a BaseDataTransaction, the NSManagedObjectContext itself, or nil if the obejct’s parent is already deallocated.

    ","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore0aB6ObjectC11querySourceAA09QueryableE0_pSgyF":{"name":"querySource()","abstract":"

    Exposes a QueryableSource that can query attributes and aggregate values. This may be the DataStack, a BaseDataTransaction, the NSManagedObjectContext itself, or nil if the obejct’s parent is already deallocated.

    ","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore0aB6ObjectC14refreshAsFaultyyF":{"name":"refreshAsFault()","abstract":"

    Re-faults the object to use the latest values from the persistent store

    ","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore0aB6ObjectC15refreshAndMergeyyF":{"name":"refreshAndMerge()","abstract":"

    Re-faults the object to use the latest values from the persistent store and merges previously pending changes back

    ","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore13DynamicObjectP14cs_forceCreate17entityDescription4into8assignToxSo08NSEntityI0C_So09NSManagedD7ContextCSo012NSPersistentB0CtFZ":{"name":"cs_forceCreate(entityDescription:into:assignTo:)","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore13DynamicObjectP10cs_fromRaw6objectxSo09NSManagedD0C_tFZ":{"name":"cs_fromRaw(object:)","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore13DynamicObjectP10cs_matches6objectSbSo09NSManagedD0C_tFZ":{"name":"cs_matches(object:)","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore13DynamicObjectP5cs_idSo09NSManagedD2IDCyF":{"name":"cs_id()","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore13DynamicObjectP8cs_toRawSo09NSManagedD0CyF":{"name":"cs_toRaw()","parent_name":"CoreStoreObject"},"Classes/XcodeDataModelSchema.html#/s:9CoreStore20XcodeDataModelSchemaC4from9modelName6bundle14migrationChainSayACG03allF0_SS07currentE7VersiontSS_So8NSBundleCAA09MigrationL0VtFZ":{"name":"from(modelName:bundle:migrationChain:)","abstract":"

    Creates a XcodeDataModelSchema for each of the models declared in the specified (.xcdatamodeld) model file.

    ","parent_name":"XcodeDataModelSchema"},"Classes/XcodeDataModelSchema.html#/s:9CoreStore20XcodeDataModelSchemaC9modelName6bundleACSS_So8NSBundleCtcfc":{"name":"init(modelName:bundle:)","abstract":"

    Initializes an XcodeDataModelSchema from an *.xcdatamodeld version name and its containing Bundle.

    ","parent_name":"XcodeDataModelSchema"},"Classes/XcodeDataModelSchema.html#/s:9CoreStore20XcodeDataModelSchemaC9modelName0G14VersionFileURLACSS_10Foundation0K0Vtcfc":{"name":"init(modelName:modelVersionFileURL:)","abstract":"

    Initializes an XcodeDataModelSchema from an *.xcdatamodeld file URL.

    ","parent_name":"XcodeDataModelSchema"},"Classes/XcodeDataModelSchema.html#/s:9CoreStore13DynamicSchemaP12modelVersionSSvp":{"name":"modelVersion","parent_name":"XcodeDataModelSchema"},"Classes/XcodeDataModelSchema.html#/s:9CoreStore13DynamicSchemaP8rawModelSo015NSManagedObjectF0CyF":{"name":"rawModel()","parent_name":"XcodeDataModelSchema"},"Classes/XcodeDataModelSchema.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"XcodeDataModelSchema"},"Classes/XcodeDataModelSchema.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"XcodeDataModelSchema"},"Classes/CSXcodeDataModelSchema.html#/c:@M@CoreStore@objc(cs)CSXcodeDataModelSchema(im)initWithModelName:modelVersionFileURL:":{"name":"init(modelName:modelVersionFileURL:)","abstract":"

    Initializes an CSXcodeDataModelSchema from an *.xcdatamodeld file URL.

    ","parent_name":"CSXcodeDataModelSchema"},"Classes/CSXcodeDataModelSchema.html#/c:@M@CoreStore@objc(pl)CSDynamicSchema(py)modelVersion":{"name":"modelVersion","parent_name":"CSXcodeDataModelSchema"},"Classes/CSXcodeDataModelSchema.html#/c:@M@CoreStore@objc(pl)CSDynamicSchema(im)rawModel":{"name":"rawModel()","parent_name":"CSXcodeDataModelSchema"},"Classes/CSXcodeDataModelSchema.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSXcodeDataModelSchema"},"Classes/CSXcodeDataModelSchema.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSXcodeDataModelSchema"},"Classes/CSWhere.html#/c:@M@CoreStore@objc(cs)CSWhere(py)predicate":{"name":"predicate","abstract":"

    The internal NSPredicate instance for the Where clause

    ","parent_name":"CSWhere"},"Classes/CSWhere.html#/c:@M@CoreStore@objc(cs)CSWhere(im)initWithValue:":{"name":"init(value:)","abstract":"

    Initializes a CSWhere clause with a predicate that always evaluates to the specified boolean value

    ","parent_name":"CSWhere"},"Classes/CSWhere.html#/c:@M@CoreStore@objc(cs)CSWhere(im)initWithFormat:argumentArray:":{"name":"init(format:argumentArray:)","abstract":"

    Initializes a CSWhere clause with a predicate using the specified string format and arguments

    ","parent_name":"CSWhere"},"Classes/CSWhere.html#/c:@M@CoreStore@objc(cs)CSWhere(im)initWithKeyPath:isEqualTo:":{"name":"init(keyPath:isEqualTo:)","abstract":"

    Initializes a CSWhere clause that compares equality

    ","parent_name":"CSWhere"},"Classes/CSWhere.html#/c:@M@CoreStore@objc(cs)CSWhere(im)initWithKeyPath:isMemberOf:":{"name":"init(keyPath:isMemberOf:)","abstract":"

    Initializes a CSWhere clause that compares membership

    ","parent_name":"CSWhere"},"Classes/CSWhere.html#/c:@M@CoreStore@objc(cs)CSWhere(im)initWithPredicate:":{"name":"init(predicate:)","abstract":"

    Initializes a CSWhere clause with an NSPredicate

    ","parent_name":"CSWhere"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC6commityyyAA0aB5ErrorOSgcF":{"name":"commit(_:)","abstract":"

    Saves the transaction changes asynchronously. For an UnsafeDataTransaction, multiple commits are allowed, although it is the developer’s responsibility to ensure a reasonable leeway to prevent blocking the main thread.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC13commitAndWaityyKF":{"name":"commitAndWait()","abstract":"

    Saves the transaction changes and waits for completion synchronously. For an UnsafeDataTransaction, multiple commits are allowed, although it is the developer’s responsibility to ensure a reasonable leeway to prevent blocking the main thread.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC8rollbackyyF":{"name":"rollback()","abstract":"

    Rolls back the transaction.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC4undoyyF":{"name":"undo()","abstract":"

    Undo’s the last change made to the transaction.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC5flushyyF":{"name":"flush()","abstract":"

    Immediately flushes all pending changes to the transaction’s observers. This is useful in conjunction with ListMonitors and ObjectMonitors created from UnsafeDataTransactions used to manage temporary scratch data.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC5flush7closureyyyKXE_tKF":{"name":"flush(closure:)","abstract":"

    Flushes all pending changes to the transaction’s observers at the end of the closure‘s execution. This is useful in conjunction with ListMonitors and ObjectMonitors created from UnsafeDataTransactions used to manage temporary scratch data.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC4redoyyF":{"name":"redo()","abstract":"

    Redo’s the last undone change to the transaction.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC05beginC012supportsUndoACSb_tF":{"name":"beginUnsafe(supportsUndo:)","abstract":"

    Begins a child transaction where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC30createFetchedResultsControllerySo09NSFetchedhI0CyxGAA4FromVyxG_AA9SectionByVyxGAA11FetchClause_pdtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(_:_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from the UnsafeDataTransaction. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC30createFetchedResultsControllerySo09NSFetchedhI0CyxGAA4FromVyxG_AA9SectionByVyxGSayAA11FetchClause_pGtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(_:_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from the UnsafeDataTransaction. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC30createFetchedResultsControllerySo09NSFetchedhI0CyxGAA4FromVyxG_AA11FetchClause_pdtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from the UnsafeDataTransaction. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC30createFetchedResultsControllerySo09NSFetchedhI0CyxGAA4FromVyxG_SayAA11FetchClause_pGtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from the UnsafeDataTransaction. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC13monitorObjectyAA0G7MonitorCyxGxAA07DynamicG0RzlF":{"name":"monitorObject(_:)","abstract":"

    Creates a ObjectMonitor for the specified DynamicObject. Multiple ObjectObservers may then register themselves to be notified when changes are made to the DynamicObject.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC11monitorListyAA0G7MonitorCyxGAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorList(_:_:)","abstract":"

    Creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC11monitorListyAA0G7MonitorCyxGAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorList(_:_:)","abstract":"

    Creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC11monitorListyAA0G7MonitorCy10ObjectTypeQzGxAA021FetchChainableBuilderJ0RzlF":{"name":"monitorList(_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC11monitorList20createAsynchronously__yyAA0G7MonitorCyxGc_AA4FromVyxGAA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorList(createAsynchronously:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC11monitorList20createAsynchronously__yyAA0G7MonitorCyxGc_AA4FromVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorList(createAsynchronously:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC20monitorSectionedListyAA0H7MonitorCyxGAA4FromVyxG_AA9SectionByVyxGAA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(_:_:_:)","abstract":"

    Creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC20monitorSectionedListyAA0H7MonitorCyxGAA4FromVyxG_AA9SectionByVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(_:_:_:)","abstract":"

    Creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC20monitorSectionedListyAA0H7MonitorCy10ObjectTypeQzGxAA07Sectioni7BuilderK0RzlF":{"name":"monitorSectionedList(_:)","abstract":"

    Creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified SectionMonitorBuilderType built from a chain of clauses.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC20monitorSectionedList20createAsynchronously___yyAA0H7MonitorCyxGc_AA4FromVyxGAA9SectionByVyxGAA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(createAsynchronously:_:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC20monitorSectionedList20createAsynchronously___yyAA0H7MonitorCyxGc_AA4FromVyxGAA9SectionByVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(createAsynchronously:_:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC20monitorSectionedList20createAsynchronously_yyAA0H7MonitorCy10ObjectTypeQzGc_xtAA07Sectionk7BuilderM0RzlF":{"name":"monitorSectionedList(createAsynchronously:_:)","abstract":"

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified SectionMonitorBuilderType built from a chain of clauses.

    ","parent_name":"UnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)commitWithSuccess::":{"name":"commitWithSuccess(_:_:)","abstract":"

    Saves the transaction changes asynchronously. For a CSUnsafeDataTransaction, multiple commits are allowed, although it is the developer’s responsibility to ensure a reasonable leeway to prevent blocking the main thread.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)commitAndWaitWithError:":{"name":"commitAndWait(error:)","abstract":"

    Saves the transaction changes and waits for completion synchronously. For a CSUnsafeDataTransaction, multiple commits are allowed, although it is the developer’s responsibility to ensure a reasonable leeway to prevent blocking the main thread.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)rollback":{"name":"rollback()","abstract":"

    Rolls back the transaction.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)undo":{"name":"undo()","abstract":"

    Undo’s the last change made to the transaction.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)redo":{"name":"redo()","abstract":"

    Redo’s the last undone change to the transaction.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)flush":{"name":"flush()","abstract":"

    Immediately flushes all pending changes to the transaction’s observers. This is useful in conjunction with ListMonitors and ObjectMonitors created from UnsafeDataTransactions used to manage temporary scratch data.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)flush:":{"name":"flush(_:)","abstract":"

    Flushes all pending changes to the transaction’s observers at the end of the closure‘s execution. This is useful in conjunction with ListMonitors and ObjectMonitors created from UnsafeDataTransactions used to manage temporary scratch data.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)beginUnsafe":{"name":"beginUnsafe()","abstract":"

    Begins a child transaction where NSManagedObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)beginUnsafeWithSupportsUndo:":{"name":"beginUnsafeWithSupportsUndo(_:)","abstract":"

    Begins a child transaction where NSManagedObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)unsafeContext":{"name":"unsafeContext()","abstract":"

    Returns the NSManagedObjectContext for this unsafe transaction. Use only for cases where external frameworks need an NSManagedObjectContext instance to work with.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypeP9SwiftTypeQa":{"name":"SwiftType","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSUnsafeDataTransaction"},"Classes/UnsafeDataModelSchema.html#/s:9CoreStore21UnsafeDataModelSchemaC9modelName0G0ACSS_So015NSManagedObjectE0Ctcfc":{"name":"init(modelName:model:)","abstract":"

    Initializes a UnsafeDataModelSchema from an NSManagedObjectModel.

    ","parent_name":"UnsafeDataModelSchema"},"Classes/UnsafeDataModelSchema.html#/s:9CoreStore13DynamicSchemaP12modelVersionSSvp":{"name":"modelVersion","parent_name":"UnsafeDataModelSchema"},"Classes/UnsafeDataModelSchema.html#/s:9CoreStore13DynamicSchemaP8rawModelSo015NSManagedObjectF0CyF":{"name":"rawModel()","parent_name":"UnsafeDataModelSchema"},"Classes/UnsafeDataModelSchema.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"UnsafeDataModelSchema"},"Classes/UnsafeDataModelSchema.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"UnsafeDataModelSchema"},"Classes/CSUnsafeDataModelSchema.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataModelSchema(im)initWithModelName:model:":{"name":"init(modelName:model:)","abstract":"

    Initializes a CSUnsafeDataModelSchema from an NSManagedObjectModel.

    ","parent_name":"CSUnsafeDataModelSchema"},"Classes/CSUnsafeDataModelSchema.html#/c:@M@CoreStore@objc(pl)CSDynamicSchema(py)modelVersion":{"name":"modelVersion","parent_name":"CSUnsafeDataModelSchema"},"Classes/CSUnsafeDataModelSchema.html#/c:@M@CoreStore@objc(pl)CSDynamicSchema(im)rawModel":{"name":"rawModel()","parent_name":"CSUnsafeDataModelSchema"},"Classes/CSUnsafeDataModelSchema.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSUnsafeDataModelSchema"},"Classes/CSUnsafeDataModelSchema.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSUnsafeDataModelSchema"},"Classes/CSTweak.html#/c:@M@CoreStore@objc(cs)CSTweak(py)block":{"name":"block","abstract":"

    The block to customize the NSFetchRequest

    ","parent_name":"CSTweak"},"Classes/CSTweak.html#/c:@M@CoreStore@objc(cs)CSTweak(im)initWithBlock:":{"name":"init(block:)","abstract":"

    Initializes a CSTweak clause with a closure where the NSFetchRequest may be configured.

    ","parent_name":"CSTweak"},"Classes/CSTweak.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSTweak"},"Classes/CSTweak.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSTweak"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore26SynchronousDataTransactionC6cancels5NeverOyKF":{"name":"cancel()","abstract":"

    Cancels a transaction by throwing CoreStoreError.userCancelled.

    ","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore26SynchronousDataTransactionC6createyxAA4IntoVyxGAA13DynamicObjectRzlF":{"name":"create(_:)","abstract":"

    Creates a new NSManagedObject or CoreStoreObject with the specified entity type.

    ","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore26SynchronousDataTransactionC4edityxSgAeA13DynamicObjectRzlF":{"name":"edit(_:)","abstract":"

    Returns an editable proxy of a specified NSManagedObject or CoreStoreObject.

    ","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore26SynchronousDataTransactionC4edityxSgAA4IntoVyxG_So17NSManagedObjectIDCtAA07DynamicI0RzlF":{"name":"edit(_:_:)","abstract":"

    Returns an editable proxy of the object with the specified NSManagedObjectID.

    ","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore26SynchronousDataTransactionC6deleteyyxSgAA13DynamicObjectRzlF":{"name":"delete(_:)","abstract":"

    Deletes a specified NSManagedObject or CoreStoreObject.

    ","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore26SynchronousDataTransactionC6deleteyyxSg_A2EdtAA13DynamicObjectRzlF":{"name":"delete(_:_:_:)","abstract":"

    Deletes the specified DynamicObjects.

    ","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore26SynchronousDataTransactionC6deleteyyxSTRzAA13DynamicObject7ElementRpzlF":{"name":"delete(_:)","abstract":"

    Deletes the specified DynamicObjects.

    ","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"SynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSSynchronousDataTransaction(im)commitAndWaitWithError:":{"name":"commitAndWait(error:)","abstract":"

    Saves the transaction changes and waits for completion synchronously. This method should not be used after the -commitAndWaitWithError: method was already called once.

    ","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSSynchronousDataTransaction(im)createInto:":{"name":"createInto(_:)","abstract":"

    Creates a new NSManagedObject with the specified entity type.

    ","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSSynchronousDataTransaction(im)editObject:":{"name":"editObject(_:)","abstract":"

    Returns an editable proxy of a specified NSManagedObject. This method should not be used after the -commitAndWait method was already called once.

    ","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSSynchronousDataTransaction(im)editInto:objectID:":{"name":"editInto(_:objectID:)","abstract":"

    Returns an editable proxy of the object with the specified NSManagedObjectID. This method should not be used after the -commitAndWait method was already called once.

    ","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSSynchronousDataTransaction(im)deleteObject:":{"name":"deleteObject(_:)","abstract":"

    Deletes a specified NSManagedObject. This method should not be used after the -commitAndWait method was already called once.

    ","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSSynchronousDataTransaction(im)deleteObjects:":{"name":"deleteObjects(_:)","abstract":"

    Deletes the specified NSManagedObjects.

    ","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypeP9SwiftTypeQa":{"name":"SwiftType","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSetupResult.html#/c:@M@CoreStore@objc(cs)CSSetupResult(py)isSuccess":{"name":"isSuccess","abstract":"

    YES if adding the CSStorageInterface to the CSDataStack succeeded, NO otherwise.

    ","parent_name":"CSSetupResult"},"Classes/CSSetupResult.html#/c:@M@CoreStore@objc(cs)CSSetupResult(py)isFailure":{"name":"isFailure","abstract":"

    YES if adding the CSStorageInterface to the CSDataStack failed, NO otherwise. When YES, the error property returns the actual NSError for the failure.

    ","parent_name":"CSSetupResult"},"Classes/CSSetupResult.html#/c:@M@CoreStore@objc(cs)CSSetupResult(py)storage":{"name":"storage","abstract":"

    A CSStorageInterface instance if the commit operation for the transaction succeeded. Returns nil otherwise.

    ","parent_name":"CSSetupResult"},"Classes/CSSetupResult.html#/c:@M@CoreStore@objc(cs)CSSetupResult(py)error":{"name":"error","abstract":"

    The NSError for a failed commit operation, or nil if the commit succeeded

    ","parent_name":"CSSetupResult"},"Classes/CSSetupResult.html#/c:@M@CoreStore@objc(cs)CSSetupResult(im)handleSuccess:failure:":{"name":"handleSuccess(_:failure:)","abstract":"

    If the result was a success, the success block is executed with the CSStorageInterface instance that was added to the CSDataStack. If the result was a failure, the failure block is executed with an NSError argument pertaining to the actual error.

    ","parent_name":"CSSetupResult"},"Classes/CSSetupResult.html#/c:@M@CoreStore@objc(cs)CSSetupResult(im)handleSuccess:":{"name":"handleSuccess(_:)","abstract":"

    If the result was a success, the success block is executed with a BOOL argument that indicates if there were any changes made. If the result was a failure, this method does nothing.

    ","parent_name":"CSSetupResult"},"Classes/CSSetupResult.html#/c:@M@CoreStore@objc(cs)CSSetupResult(im)handleFailure:":{"name":"handleFailure(_:)","abstract":"

    If the result was a failure, the failure block is executed with an NSError argument pertaining to the actual error. If the result was a success, this method does nothing.

    ","parent_name":"CSSetupResult"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(im)initWithNumberTerm:":{"name":"init(numberTerm:)","abstract":"

    Creates a CSSelect clause for querying NSNumber values.

    ","parent_name":"CSSelect"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(im)initWithDecimalTerm:":{"name":"init(decimalTerm:)","abstract":"

    Creates a CSSelect clause for querying NSDecimalNumber values.

    ","parent_name":"CSSelect"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(im)initWithStringTerm:":{"name":"init(stringTerm:)","abstract":"

    Creates a CSSelect clause for querying NSString values.

    ","parent_name":"CSSelect"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(im)initWithDateTerm:":{"name":"init(dateTerm:)","abstract":"

    Creates a CSSelect clause for querying NSDate values.

    ","parent_name":"CSSelect"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(im)initWithDataTerm:":{"name":"init(dataTerm:)","abstract":"

    Creates a CSSelect clause for querying NSData values.

    ","parent_name":"CSSelect"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(im)initWithObjectIDTerm":{"name":"init(objectIDTerm:)","abstract":"

    Creates a CSSelect clause for querying NSManagedObjectID values.

    ","parent_name":"CSSelect"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(cm)dictionaryForTerm:":{"name":"dictionaryForTerm(_:)","abstract":"

    Creates a CSSelect clause for querying NSDictionary of an entity’s attribute keys and values.

    ","parent_name":"CSSelect"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(cm)dictionaryForTerms:":{"name":"dictionaryForTerms(_:)","abstract":"

    Creates a CSSelect clause for querying NSDictionary of an entity’s attribute keys and values.

    ","parent_name":"CSSelect"},"Classes/CSSelectTerm.html#/c:@M@CoreStore@objc(cs)CSSelectTerm(im)initWithKeyPath:":{"name":"init(keyPath:)","abstract":"

    Provides a CSSelectTerm to a CSSelect clause for querying an entity attribute.

    ","parent_name":"CSSelectTerm"},"Classes/CSSelectTerm.html#/c:@M@CoreStore@objc(cs)CSSelectTerm(cm)average:as:":{"name":"average(_:as:)","abstract":"

    Provides a CSSelectTerm to a CSSelect clause for querying the average value of an attribute.

    ","parent_name":"CSSelectTerm"},"Classes/CSSelectTerm.html#/c:@M@CoreStore@objc(cs)CSSelectTerm(cm)count:as:":{"name":"count(_:as:)","abstract":"

    Provides a CSSelectTerm to a CSSelect clause for a count query.

    ","parent_name":"CSSelectTerm"},"Classes/CSSelectTerm.html#/c:@M@CoreStore@objc(cs)CSSelectTerm(cm)maximum:as:":{"name":"maximum(_:as:)","abstract":"

    Provides a CSSelectTerm to a CSSelect clause for querying the maximum value for an attribute.

    ","parent_name":"CSSelectTerm"},"Classes/CSSelectTerm.html#/c:@M@CoreStore@objc(cs)CSSelectTerm(cm)minimum:as:":{"name":"minimum(_:as:)","abstract":"

    Provides a CSSelectTerm to a CSSelect clause for querying the minimum value for an attribute.

    ","parent_name":"CSSelectTerm"},"Classes/CSSelectTerm.html#/c:@M@CoreStore@objc(cs)CSSelectTerm(cm)sum:as:":{"name":"sum(_:as:)","abstract":"

    Provides a CSSelectTerm to a CSSelect clause for querying the sum value for an attribute.

    ","parent_name":"CSSelectTerm"},"Classes/CSSelectTerm.html#/c:@M@CoreStore@objc(cs)CSSelectTerm(cm)objectIDAs:":{"name":"objectIDAs(_:)","abstract":"

    Provides a CSSelectTerm to a CSSelect clause for querying the NSManagedObjectID.

    ","parent_name":"CSSelectTerm"},"Classes/CSSectionBy.html#/c:@M@CoreStore@objc(cs)CSSectionBy(cm)keyPath:":{"name":"keyPath(_:)","abstract":"

    Initializes a CSSectionBy clause with the key path to use to group CSListMonitor objects into sections

    ","parent_name":"CSSectionBy"},"Classes/CSSectionBy.html#/c:@M@CoreStore@objc(cs)CSSectionBy(cm)keyPath:sectionIndexTransformer:":{"name":"keyPath(_:sectionIndexTransformer:)","abstract":"

    Initializes a CSSectionBy clause with the key path to use to group CSListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"CSSectionBy"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C7fileURL13configuration25migrationMappingProviders19localStorageOptionsAC10Foundation0E0V_SSSgSayAA06SchemaH8Provider_pGAA05LocalkL0Vtcfc":{"name":"init(fileURL:configuration:migrationMappingProviders:localStorageOptions:)","abstract":"

    Initializes an SQLite store interface from the given SQLite file URL. When this instance is passed to the DataStack‘s addStorage() methods, a new SQLite file will be created if it does not exist.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C8fileName13configuration25migrationMappingProviders19localStorageOptionsACSS_SSSgSayAA06SchemaH8Provider_pGAA05LocalkL0Vtcfc":{"name":"init(fileName:configuration:migrationMappingProviders:localStorageOptions:)","abstract":"

    Initializes an SQLite store interface from the given SQLite file name. When this instance is passed to the DataStack‘s addStorage() methods, a new SQLite file will be created if it does not exist.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0CACycfc":{"name":"init()","abstract":"

    Initializes an SQLiteStore with an all-default settings: a fileURL pointing to a .sqlite file in the Application Support/ directory (or the Caches/ directory on tvOS), a nil configuration pertaining to the Default configuration, a migrationMappingProviders set to empty, and localStorageOptions set to .AllowProgresiveMigration.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C6legacy8fileName13configuration25migrationMappingProviders19localStorageOptionsACSS_SSSgSayAA06SchemaI8Provider_pGAA05LocallM0VtFZ":{"name":"legacy(fileName:configuration:migrationMappingProviders:localStorageOptions:)","abstract":"

    Initializes an SQLite store interface from the given SQLite file name. When this instance is passed to the DataStack‘s addStorage() methods, a new SQLite file will be created if it does not exist.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C6legacyACyFZ":{"name":"legacy()","abstract":"

    Initializes an LegacySQLiteStore with an all-default settings: a fileURL pointing to a .sqlite file in the Application Support directory (or the Caches directory on tvOS), a nil configuration pertaining to the Default configuration, a migrationMappingProviders set to empty, and localStorageOptions set to .AllowProgresiveMigration.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C8fileSizes6UInt64VSgyF":{"name":"fileSize()","abstract":"

    Queries the file size (in bytes) of the store, or nil if the file does not exist yet

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C9storeTypeSSvpZ":{"name":"storeType","abstract":"

    The string identifier for the NSPersistentStore‘s type property. For SQLiteStores, this is always set to NSSQLiteStoreType.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C13configurationSSSgvp":{"name":"configuration","abstract":"

    The configuration name in the model file

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C12storeOptionsSDys11AnyHashableVypGSgvp":{"name":"storeOptions","abstract":"

    The options dictionary for the NSPersistentStore. For SQLiteStores, this is always set to

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C20cs_didAddToDataStackyyAA0hI0CF":{"name":"cs_didAddToDataStack(_:)","abstract":"

    Do not call directly. Used by the DataStack internally.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C25cs_didRemoveFromDataStackyyAA0hI0CF":{"name":"cs_didRemoveFromDataStack(_:)","abstract":"

    Do not call directly. Used by the DataStack internally.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C7fileURL10Foundation0E0Vvp":{"name":"fileURL","abstract":"

    The NSURL that points to the SQLite file

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C25migrationMappingProvidersSayAA06SchemaE8Provider_pGvp":{"name":"migrationMappingProviders","abstract":"

    An array of SchemaMappingProviders that provides the complete mapping models for custom migrations.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C19localStorageOptionsAA05LocaleF0Vvp":{"name":"localStorageOptions","abstract":"

    Options that tell the DataStack how to setup the persistent store

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C10dictionary10forOptionsSDys11AnyHashableVypGSgAA012LocalStorageF0V_tF":{"name":"dictionary(forOptions:)","abstract":"

    The options dictionary for the specified LocalStorageOptions

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C25cs_finalizeStorageAndWait14soureModelHintySo015NSManagedObjectJ0C_tKF":{"name":"cs_finalizeStorageAndWait(soureModelHint:)","abstract":"

    Called by the DataStack to perform checkpoint operations on the storage. For SQLiteStore, this converts the database’s WAL journaling mode to DELETE to force a checkpoint.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C22cs_eraseStorageAndWait8metadata14soureModelHintySDySSypG_So015NSManagedObjectK0CSgtKF":{"name":"cs_eraseStorageAndWait(metadata:soureModelHint:)","abstract":"

    Called by the DataStack to perform actual deletion of the store file from disk. Do not call directly! The sourceModel argument is a hint for the existing store’s model version. For SQLiteStore, this converts the database’s WAL journaling mode to DELETE before deleting the file.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"SQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(im)initWithFileURL:configuration:localStorageOptions:":{"name":"init(fileURL:configuration:localStorageOptions:)","abstract":"

    Initializes an SQLite store interface from the given SQLite file URL. When this instance is passed to the CSDataStack‘s -addStorage*: methods, a new SQLite file will be created if it does not exist.

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(im)initWithFileName:configuration:localStorageOptions:":{"name":"init(fileName:configuration:localStorageOptions:)","abstract":"

    Initializes an SQLite store interface from the given SQLite file name. When this instance is passed to the CSDataStack‘s -addStorage*: methods, a new SQLite file will be created if it does not exist.

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(im)init":{"name":"init()","abstract":"

    Initializes an CSSQLiteStore with an all-default settings: a fileURL pointing to a .sqlite file in the Application Support/ directory (or the Caches/ directory on tvOS), a nil configuration pertaining to the Default configuration, and localStorageOptions set to [CSLocalStorageOptions none].

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(py)fileURL":{"name":"fileURL","abstract":"

    The NSURL that points to the SQLite file

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(py)migrationMappingProviders":{"name":"migrationMappingProviders","abstract":"

    An array of SchemaMappingProviders that provides the complete mapping models for custom migrations. This is currently only supported for Swift code.

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(py)localStorageOptions":{"name":"localStorageOptions","abstract":"

    Options that tell the CSDataStack how to setup the persistent store

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(cpy)storeType":{"name":"storeType","abstract":"

    The string identifier for the NSPersistentStore‘s type property. For CSSQLiteStores, this is always set to NSSQLiteStoreType.

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(py)configuration":{"name":"configuration","abstract":"

    The configuration name in the model file

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(py)storeOptions":{"name":"storeOptions","abstract":"

    The options dictionary for the NSPersistentStore. For CSSQLiteStores, this is always set to

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(im)cs_eraseStorageAndWaitWithMetadata:soureModelHint:error:":{"name":"cs_eraseStorageAndWait(metadata:soureModelHint:error:)","abstract":"

    Called by the CSDataStack to perform actual deletion of the store file from disk. Do not call directly! The sourceModel argument is a hint for the existing store’s model version. For CSSQLiteStore, this converts the database’s WAL journaling mode to DELETE before deleting the file.

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSSQLiteStore"},"Classes/CSOrderBy.html#/c:@M@CoreStore@objc(cs)CSOrderBy(py)sortDescriptors":{"name":"sortDescriptors","abstract":"

    The list of sort descriptors

    ","parent_name":"CSOrderBy"},"Classes/CSOrderBy.html#/c:@M@CoreStore@objc(cs)CSOrderBy(im)initWithSortDescriptor:":{"name":"init(sortDescriptor:)","abstract":"

    Initializes a CSOrderBy clause with a single sort descriptor

    ","parent_name":"CSOrderBy"},"Classes/CSOrderBy.html#/c:@M@CoreStore@objc(cs)CSOrderBy(im)initWithSortDescriptors:":{"name":"init(sortDescriptors:)","abstract":"

    Initializes a CSOrderBy clause with a list of sort descriptors

    ","parent_name":"CSOrderBy"},"Classes/CSObjectMonitor.html#/s:9CoreStore15CSObjectMonitorC6objectypSgvp":{"name":"object","abstract":"

    Returns the NSManagedObject instance being observed, or nil if the object was already deleted.

    ","parent_name":"CSObjectMonitor"},"Classes/CSObjectMonitor.html#/s:9CoreStore15CSObjectMonitorC15isObjectDeletedSbvp":{"name":"isObjectDeleted","abstract":"

    Returns YES if the NSManagedObject instance being observed still exists, or NO if the object was already deleted.

    ","parent_name":"CSObjectMonitor"},"Classes/CSObjectMonitor.html#/s:9CoreStore15CSObjectMonitorC17addObjectObserveryyAA0cG0_pF":{"name":"addObjectObserver(_:)","abstract":"

    Registers a CSObjectObserver to be notified when changes to the receiver’s object are made.

    ","parent_name":"CSObjectMonitor"},"Classes/CSObjectMonitor.html#/s:9CoreStore15CSObjectMonitorC20removeObjectObserveryyAA0cG0_pF":{"name":"removeObjectObserver(_:)","abstract":"

    Unregisters an CSObjectObserver from receiving notifications for changes to the receiver’s object.

    ","parent_name":"CSObjectMonitor"},"Classes/CSMigrationType.html#/c:@M@CoreStore@objc(cs)CSMigrationType(py)needsMigration":{"name":"needsMigration","abstract":"

    Returns YES if the CSMigrationType‘s sourceVersion and destinationVersion do not match. Returns NO otherwise.

    ","parent_name":"CSMigrationType"},"Classes/CSMigrationType.html#/c:@M@CoreStore@objc(cs)CSMigrationType(py)sourceVersion":{"name":"sourceVersion","abstract":"

    Returns the source model version for the migration type. If no migration is required, sourceVersion will be equal to the destinationVersion.

    ","parent_name":"CSMigrationType"},"Classes/CSMigrationType.html#/c:@M@CoreStore@objc(cs)CSMigrationType(py)destinationVersion":{"name":"destinationVersion","abstract":"

    Returns the destination model version for the migration type. If no migration is required, destinationVersion will be equal to the sourceVersion.

    ","parent_name":"CSMigrationType"},"Classes/CSMigrationType.html#/c:@M@CoreStore@objc(cs)CSMigrationType(py)isLightweightMigration":{"name":"isLightweightMigration","abstract":"

    Returns YES if the CSMigrationType is a lightweight migration. Used as syntactic sugar.

    ","parent_name":"CSMigrationType"},"Classes/CSMigrationType.html#/c:@M@CoreStore@objc(cs)CSMigrationType(py)isHeavyweightMigration":{"name":"isHeavyweightMigration","abstract":"

    Returns YES if the CSMigrationType is a heavyweight migration. Used as syntactic sugar.

    ","parent_name":"CSMigrationType"},"Classes/CSMigrationType.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSMigrationType"},"Classes/CSMigrationType.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSMigrationType"},"Classes/CSMigrationResult.html#/c:@M@CoreStore@objc(cs)CSMigrationResult(py)isSuccess":{"name":"isSuccess","abstract":"

    YES if the migration succeeded, NO otherwise

    ","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/c:@M@CoreStore@objc(cs)CSMigrationResult(py)isFailure":{"name":"isFailure","abstract":"

    YES if the migration failed, NO otherwise

    ","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/c:@M@CoreStore@objc(cs)CSMigrationResult(py)migrationTypes":{"name":"migrationTypes","abstract":"

    YES if the migration succeeded, NO otherwise

    ","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/c:@M@CoreStore@objc(cs)CSMigrationResult(py)error":{"name":"error","abstract":"

    The NSError for a failed migration, or nil if the migration succeeded

    ","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/c:@M@CoreStore@objc(cs)CSMigrationResult(im)handleSuccess:failure:":{"name":"handleSuccess(_:failure:)","abstract":"

    If the result was a success, the success block is executed with an array of CSMigrationTypes that indicates the migration steps completed. If the result was a failure, the failure block is executed with an NSError argument pertaining to the actual error.

    ","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/c:@M@CoreStore@objc(cs)CSMigrationResult(im)handleSuccess:":{"name":"handleSuccess(_:)","abstract":"

    If the result was a success, the success block is executed with an array of CSMigrationTypes that indicates the migration steps completed. If the result was a failure, this method does nothing.

    ","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/c:@M@CoreStore@objc(cs)CSMigrationResult(im)handleFailure:":{"name":"handleFailure(_:)","abstract":"

    If the result was a failure, the failure block is executed with an NSError argument pertaining to the actual error. If the result was a success, this method does nothing.

    ","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSMigrationResult"},"Classes/CSListMonitor.html#/s:9CoreStore13CSListMonitorCyypSicip":{"name":"subscript(_:)","abstract":"

    Returns the object at the given index within the first section. This subscript indexer is typically used for CSListMonitors created without section groupings.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectAtSafeIndex:":{"name":"objectAtSafeIndex(_:)","abstract":"

    Returns the object at the given index, or nil if out of bounds. This indexer is typically used for CSListMonitors created without section groupings.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectAtSectionIndex:itemIndex:":{"name":"objectAtSectionIndex(_:itemIndex:)","abstract":"

    Returns the object at the given sectionIndex and itemIndex. This indexer is typically used for CSListMonitors created as sectioned lists.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectAtSafeSectionIndex:safeItemIndex:":{"name":"objectAtSafeSectionIndex(_:safeItemIndex:)","abstract":"

    Returns the object at the given section and item index, or nil if out of bounds. This indexer is typically used for CSListMonitors created as sectioned lists.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectAtIndexPath:":{"name":"objectAtIndexPath(_:)","abstract":"

    Returns the object at the given NSIndexPath. This subscript indexer is typically used for CSListMonitors created as sectioned lists.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectAtSafeIndexPath:":{"name":"objectAtSafeIndexPath(_:)","abstract":"

    Returns the object at the given NSIndexPath, or nil if out of bounds. This subscript indexer is typically used for CSListMonitors created as sectioned lists.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)hasObjects":{"name":"hasObjects()","abstract":"

    Checks if the CSListMonitor has at least one object in any section.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)hasObjectsInSection:":{"name":"hasObjectsInSection(_:)","abstract":"

    Checks if the CSListMonitor has at least one object the specified section.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectsInAllSections":{"name":"objectsInAllSections()","abstract":"

    Returns all objects in all sections

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectsInSection:":{"name":"objectsInSection(_:)","abstract":"

    Returns all objects in the specified section

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectsInSafeSectionWithSafeSectionIndex:":{"name":"objectsInSafeSection(safeSectionIndex:)","abstract":"

    Returns all objects in the specified section, or nil if out of bounds.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)numberOfSections":{"name":"numberOfSections()","abstract":"

    Returns the number of sections

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)numberOfObjects":{"name":"numberOfObjects()","abstract":"

    Returns the number of objects in all sections

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)numberOfObjectsInSection:":{"name":"numberOfObjectsInSection(_:)","abstract":"

    Returns the number of objects in the specified section

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)numberOfObjectsInSafeSectionWithSafeSectionIndex:":{"name":"numberOfObjectsInSafeSection(safeSectionIndex:)","abstract":"

    Returns the number of objects in the specified section, or nil if out of bounds.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)sectionInfoAtIndex:":{"name":"sectionInfoAtIndex(_:)","abstract":"

    Returns the NSFetchedResultsSectionInfo for the specified section

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)sectionInfoAtSafeSectionIndexWithSafeSectionIndex:":{"name":"sectionInfoAtSafeSectionIndex(safeSectionIndex:)","abstract":"

    Returns the NSFetchedResultsSectionInfo for the specified section, or nil if out of bounds.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)sections":{"name":"sections()","abstract":"

    Returns the NSFetchedResultsSectionInfos for all sections

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)targetSectionForSectionIndexTitleWithTitle:index:":{"name":"targetSectionForSectionIndexTitle(title:index:)","abstract":"

    Returns the target section for a specified Section Index title and index.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)sectionIndexTitles":{"name":"sectionIndexTitles()","abstract":"

    Returns the section index titles for all sections

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)indexOf:":{"name":"indexOf(_:)","abstract":"

    Returns the index of the NSManagedObject if it exists in the CSListMonitor‘s fetched objects, or nil if not found.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)indexPathOf:":{"name":"indexPathOf(_:)","abstract":"

    Returns the NSIndexPath of the NSManagedObject if it exists in the CSListMonitor‘s fetched objects, or nil if not found.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)addListObserver:":{"name":"addListObserver(_:)","abstract":"

    Registers a CSListObserver to be notified when changes to the receiver’s list occur.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/s:9CoreStore13CSListMonitorC21addListObjectObserveryyAA0cgH0_pF":{"name":"addListObjectObserver(_:)","abstract":"

    Registers a CSListObjectObserver to be notified when changes to the receiver’s list occur.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)addListSectionObserver:":{"name":"addListSectionObserver(_:)","abstract":"

    Registers a CSListSectionObserver to be notified when changes to the receiver’s list occur.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)removeListObserver:":{"name":"removeListObserver(_:)","abstract":"

    Unregisters a CSListObserver from receiving notifications for changes to the receiver’s list.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(py)isPendingRefetch":{"name":"isPendingRefetch","abstract":"

    Returns YES if a call to -refetch: was made to the CSListMonitor and is currently waiting for the fetching to complete. Returns NO otherwise.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)refetch:":{"name":"refetch(_:)","abstract":"

    Asks the CSListMonitor to refetch its objects using the specified series of CSFetchClauses. Note that this method does not execute the fetch immediately; the actual fetching will happen after the NSFetchedResultsController‘s last controllerDidChangeContent(_:) notification completes.

    ","parent_name":"CSListMonitor"},"Classes/CSInto.html#/c:@M@CoreStore@objc(cs)CSInto(py)entityClass":{"name":"entityClass","abstract":"

    The associated NSManagedObject entity class

    ","parent_name":"CSInto"},"Classes/CSInto.html#/c:@M@CoreStore@objc(cs)CSInto(py)configuration":{"name":"configuration","abstract":"

    The NSPersistentStore configuration name to associate objects from.","parent_name":"CSInto"},"Classes/CSInto.html#/c:@M@CoreStore@objc(cs)CSInto(im)initWithEntityClass:":{"name":"init(entityClass:)","abstract":"

    Initializes a CSInto clause with the specified entity class.

    ","parent_name":"CSInto"},"Classes/CSInto.html#/c:@M@CoreStore@objc(cs)CSInto(im)initWithEntityClass:configuration:":{"name":"init(entityClass:configuration:)","abstract":"

    Initializes a CSInto clause with the specified configuration.

    ","parent_name":"CSInto"},"Classes/InMemoryStore.html#/s:9CoreStore08InMemoryB0C13configurationACSSSg_tcfc":{"name":"init(configuration:)","abstract":"

    Initializes an InMemoryStore for the specified configuration

    ","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:9CoreStore08InMemoryB0CACycfc":{"name":"init()","abstract":"

    Initializes an InMemoryStore with the Default configuration

    ","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:9CoreStore08InMemoryB0C9storeTypeSSvpZ":{"name":"storeType","abstract":"

    The string identifier for the NSPersistentStore‘s type property. For InMemoryStores, this is always set to NSInMemoryStoreType.

    ","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:9CoreStore08InMemoryB0C13configurationSSSgvp":{"name":"configuration","abstract":"

    The configuration name in the model file

    ","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:9CoreStore08InMemoryB0C12storeOptionsSDys11AnyHashableVypGSgvp":{"name":"storeOptions","abstract":"

    The options dictionary for the NSPersistentStore. For InMemoryStores, this is always set to nil.

    ","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:9CoreStore08InMemoryB0C20cs_didAddToDataStackyyAA0iJ0CF":{"name":"cs_didAddToDataStack(_:)","abstract":"

    Do not call directly. Used by the DataStack internally.

    ","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:9CoreStore08InMemoryB0C25cs_didRemoveFromDataStackyyAA0iJ0CF":{"name":"cs_didRemoveFromDataStack(_:)","abstract":"

    Do not call directly. Used by the DataStack internally.

    ","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"InMemoryStore"},"Classes/CSInMemoryStore.html#/c:@M@CoreStore@objc(cs)CSInMemoryStore(im)initWithConfiguration:":{"name":"init(configuration:)","abstract":"

    Initializes a CSInMemoryStore for the specified configuration

    ","parent_name":"CSInMemoryStore"},"Classes/CSInMemoryStore.html#/c:@M@CoreStore@objc(cs)CSInMemoryStore(im)init":{"name":"init()","abstract":"

    Initializes a CSInMemoryStore with the Default configuration

    ","parent_name":"CSInMemoryStore"},"Classes/CSInMemoryStore.html#/c:@M@CoreStore@objc(cs)CSInMemoryStore(cpy)storeType":{"name":"storeType","abstract":"

    The string identifier for the NSPersistentStore‘s type property. For CSInMemoryStores, this is always set to NSInMemoryStoreType.

    ","parent_name":"CSInMemoryStore"},"Classes/CSInMemoryStore.html#/c:@M@CoreStore@objc(cs)CSInMemoryStore(py)configuration":{"name":"configuration","abstract":"

    The configuration name in the model file

    ","parent_name":"CSInMemoryStore"},"Classes/CSInMemoryStore.html#/c:@M@CoreStore@objc(cs)CSInMemoryStore(py)storeOptions":{"name":"storeOptions","abstract":"

    The options dictionary for the NSPersistentStore. For CSInMemoryStores, this is always set to nil.

    ","parent_name":"CSInMemoryStore"},"Classes/CSInMemoryStore.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSInMemoryStore"},"Classes/CSInMemoryStore.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSInMemoryStore"},"Classes/CSGroupBy.html#/c:@M@CoreStore@objc(cs)CSGroupBy(py)keyPaths":{"name":"keyPaths","abstract":"

    The list of key path strings to group results with

    ","parent_name":"CSGroupBy"},"Classes/CSGroupBy.html#/c:@M@CoreStore@objc(cs)CSGroupBy(im)initWithKeyPath:":{"name":"init(keyPath:)","abstract":"

    Initializes a CSGroupBy clause with a key path string

    ","parent_name":"CSGroupBy"},"Classes/CSGroupBy.html#/c:@M@CoreStore@objc(cs)CSGroupBy(im)initWithKeyPaths:":{"name":"init(keyPaths:)","abstract":"

    Initializes a CSGroupBy clause with a list of key path strings

    ","parent_name":"CSGroupBy"},"Classes/CSFrom.html#/c:@M@CoreStore@objc(cs)CSFrom(py)entityClass":{"name":"entityClass","abstract":"

    The associated NSManagedObject entity class

    ","parent_name":"CSFrom"},"Classes/CSFrom.html#/c:@M@CoreStore@objc(cs)CSFrom(py)configurations":{"name":"configurations","abstract":"

    The NSPersistentStore configuration names to associate objects from.","parent_name":"CSFrom"},"Classes/CSFrom.html#/c:@M@CoreStore@objc(cs)CSFrom(im)initWithEntityClass:":{"name":"init(entityClass:)","abstract":"

    Initializes a CSFrom clause with the specified entity class.

    ","parent_name":"CSFrom"},"Classes/CSFrom.html#/c:@M@CoreStore@objc(cs)CSFrom(im)initWithEntityClass:configuration:":{"name":"init(entityClass:configuration:)","abstract":"

    Initializes a CSFrom clause with the specified configurations.

    ","parent_name":"CSFrom"},"Classes/CSFrom.html#/c:@M@CoreStore@objc(cs)CSFrom(im)initWithEntityClass:configurations:":{"name":"init(entityClass:configurations:)","abstract":"

    Initializes a CSFrom clause with the specified configurations.

    ","parent_name":"CSFrom"},"Classes/CSError.html#/c:@M@CoreStore@objc(cs)CSError(cpy)errorDomain":{"name":"errorDomain","abstract":"

    The NSError error domain for CSError.

    ","parent_name":"CSError"},"Classes/CSError.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSError"},"Classes/CSError.html#/s:9CoreStore7CSErrorCyAcA0aB5ErrorOcfc":{"name":"init(_:)","abstract":"

    Do not call directly!

    ","parent_name":"CSError"},"Classes/DataStack.html#/s:9CoreStore9DataStackC15applicationNameSSvpZ":{"name":"applicationName","abstract":"

    The resolved application name, used by the DataStack as the default Xcode model name (.xcdatamodel filename) if not explicitly provided.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC14xcodeModelName6bundle14migrationChainACSS_So8NSBundleCAA09MigrationJ0Vtcfc":{"name":"init(xcodeModelName:bundle:migrationChain:)","abstract":"

    Convenience initializer for DataStack that creates a SchemaHistory from the model with the specified modelName in the specified bundle.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC__14migrationChainAcA13DynamicSchema_p_AaE_pdAA09MigrationF0Vtcfc":{"name":"init(_:_:migrationChain:)","abstract":"

    Convenience initializer for DataStack that creates a SchemaHistory from a list of DynamicSchema versions.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13schemaHistoryAcA06SchemaF0C_tcfc":{"name":"init(schemaHistory:)","abstract":"

    Initializes a DataStack from a SchemaHistory instance.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC12modelVersionSSvp":{"name":"modelVersion","abstract":"

    Returns the DataStack‘s current model version. StorageInterfaces added to the stack will be migrated to this version.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11modelSchemaAA07DynamicF0_pvp":{"name":"modelSchema","abstract":"

    Returns the DataStack‘s current model schema. StorageInterfaces added to the stack will be migrated to this version.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17entityTypesByName3forSDySSSo15NSManagedObjectCmGAGm_tF":{"name":"entityTypesByName(for:)","abstract":"

    Returns the entity name-to-class type mapping from the DataStack‘s model.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17entityTypesByName3forSDySSAA0aB6ObjectCmGAGm_tF":{"name":"entityTypesByName(for:)","abstract":"

    Returns the entity name-to-class type mapping from the DataStack‘s model.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17entityDescription3forSo08NSEntityF0CSgSo15NSManagedObjectCm_tF":{"name":"entityDescription(for:)","abstract":"

    Returns the NSEntityDescription for the specified NSManagedObject subclass.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17entityDescription3forSo08NSEntityF0CSgAA0aB6ObjectCm_tF":{"name":"entityDescription(for:)","abstract":"

    Returns the NSEntityDescription for the specified CoreStoreObject subclass.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8objectID20forURIRepresentationSo015NSManagedObjectF0CSg10Foundation3URLV_tF":{"name":"objectID(forURIRepresentation:)","abstract":"

    Returns the NSManagedObjectID for the specified object URI if it exists in the persistent store.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17addStorageAndWaitAA06SQLiteB0CyKF":{"name":"addStorageAndWait()","abstract":"

    Creates an SQLiteStore with default parameters and adds it to the stack. This method blocks until completion.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17addStorageAndWaityxxKAA0F9InterfaceRzlF":{"name":"addStorageAndWait(_:)","abstract":"

    Adds a StorageInterface to the stack and blocks until completion.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17addStorageAndWaityxxKAA05LocalF0RzlF":{"name":"addStorageAndWait(_:)","abstract":"

    Adds a LocalStorage to the stack and blocks until completion.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17addStorageAndWaityxxKAA05CloudF0RzlF":{"name":"addStorageAndWait(_:)","abstract":"

    Adds a CloudStorage to the stack and blocks until completion.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8userInfoAA04UserF0Cvp":{"name":"userInfo","abstract":"

    Allow external libraries to store custom data in the DataStack. App code should rarely have a need for this.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"DataStack"},"Classes/DataStack.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10addStorage_10completionyx_yAA11SetupResultOyxGctAA0F9InterfaceRzlF":{"name":"addStorage(_:completion:)","abstract":"

    Asynchronously adds a StorageInterface to the stack. Migrations are also initiated by default.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10addStorage_10completionSo10NSProgressCSgx_yAA11SetupResultOyxGctAA05LocalF0RzlF":{"name":"addStorage(_:completion:)","abstract":"

    Asynchronously adds a LocalStorage to the stack. Migrations are also initiated by default.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10addStorage_10completionyx_yAA11SetupResultOyxGctAA05CloudF0RzlF":{"name":"addStorage(_:completion:)","abstract":"

    Asynchronously adds a CloudStorage to the stack. Migrations are also initiated by default.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC22upgradeStorageIfNeeded_10completionSo10NSProgressCSgx_yAA15MigrationResultOctKAA05LocalF0RzlF":{"name":"upgradeStorageIfNeeded(_:completion:)","abstract":"

    Migrates a local storage to match the DataStack‘s managed object model version. This method does NOT add the migrated store to the data stack.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC28requiredMigrationsForStorageySayAA13MigrationTypeOGxKAA05LocalH0RzlF":{"name":"requiredMigrationsForStorage(_:)","abstract":"

    Checks the migration steps required for the storage to match the DataStack‘s managed object model version.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13monitorObjectyAA0F7MonitorCyxGxAA07DynamicF0RzlF":{"name":"monitorObject(_:)","abstract":"

    Creates an ObjectMonitor for the specified DynamicObject. Multiple ObjectObservers may then register themselves to be notified when changes are made to the DynamicObject.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11monitorListyAA0F7MonitorCyxGAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorList(_:_:)","abstract":"

    Creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11monitorListyAA0F7MonitorCyxGAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorList(_:_:)","abstract":"

    Creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11monitorListyAA0F7MonitorCy10ObjectTypeQzGxAA021FetchChainableBuilderI0RzlF":{"name":"monitorList(_:)","abstract":"

    Creates a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11monitorList20createAsynchronously__yyAA0F7MonitorCyxGc_AA4FromVyxGAA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorList(createAsynchronously:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11monitorList20createAsynchronously__yyAA0F7MonitorCyxGc_AA4FromVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorList(createAsynchronously:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11monitorList20createAsynchronously_yyAA0F7MonitorCy10ObjectTypeQzGc_xtAA021FetchChainableBuilderK0RzlF":{"name":"monitorList(createAsynchronously:_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC20monitorSectionedListyAA0G7MonitorCyxGAA4FromVyxG_AA9SectionByVyxGAA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(_:_:_:)","abstract":"

    Creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC20monitorSectionedListyAA0G7MonitorCyxGAA4FromVyxG_AA9SectionByVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(_:_:_:)","abstract":"

    Creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC20monitorSectionedListyAA0G7MonitorCy10ObjectTypeQzGxAA07Sectionh7BuilderJ0RzlF":{"name":"monitorSectionedList(_:)","abstract":"

    Creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified SectionMonitorBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC20monitorSectionedList20createAsynchronously___yyAA0G7MonitorCyxGc_AA4FromVyxGAA9SectionByVyxGAA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(createAsynchronously:_:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC20monitorSectionedList20createAsynchronously___yyAA0G7MonitorCyxGc_AA4FromVyxGAA9SectionByVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(createAsynchronously:_:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC20monitorSectionedList20createAsynchronously_yyAA0G7MonitorCy10ObjectTypeQzGc_xtAA07Sectionj7BuilderL0RzlF":{"name":"monitorSectionedList(createAsynchronously:_:)","abstract":"

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified SectionMonitorBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13fetchExistingyxSgxAA13DynamicObjectRzlF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instance in the DataStack‘s context from a reference created from a transaction or from a different managed object context.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13fetchExistingyxSgSo17NSManagedObjectIDCAA07DynamicH0RzlF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instance in the DataStack‘s context from an NSManagedObjectID.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13fetchExistingySayxGq_AA13DynamicObjectRz7ElementQy_RszSTR_r0_lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instances in the DataStack‘s context from references created from a transaction or from a different managed object context.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13fetchExistingySayxGq_AA13DynamicObjectRzSTR_So09NSManagedH2IDC7ElementRt_r0_lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instances in the DataStack‘s context from a list of NSManagedObjectID.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8fetchOneyxSgAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"fetchOne(_:_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8fetchOneyxSgAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"fetchOne(_:_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8fetchOney10ObjectTypeQzSgxAA021FetchChainableBuilderH0RzlF":{"name":"fetchOne(_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8fetchAllySayxGSgAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"fetchAll(_:_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8fetchAllySayxGSgAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"fetchAll(_:_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8fetchAllySay10ObjectTypeQzGSgxAA021FetchChainableBuilderH0RzlF":{"name":"fetchAll(_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10fetchCountySiSgAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"fetchCount(_:_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10fetchCountySiSgAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"fetchCount(_:_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10fetchCountySiSgxAA25FetchChainableBuilderTypeRzlF":{"name":"fetchCount(_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13fetchObjectIDySo09NSManagedfG0CSgAA4FromVyxG_AA11FetchClause_pdtAA07DynamicF0RzlF":{"name":"fetchObjectID(_:_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13fetchObjectIDySo09NSManagedfG0CSgAA4FromVyxG_SayAA11FetchClause_pGtAA07DynamicF0RzlF":{"name":"fetchObjectID(_:_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13fetchObjectIDySo09NSManagedfG0CSgxAA25FetchChainableBuilderTypeRzlF":{"name":"fetchObjectID(_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC14fetchObjectIDsySaySo09NSManagedF2IDCGSgAA4FromVyxG_AA11FetchClause_pdtAA07DynamicF0RzlF":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC14fetchObjectIDsySaySo09NSManagedF2IDCGSgAA4FromVyxG_SayAA11FetchClause_pGtAA07DynamicF0RzlF":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC14fetchObjectIDsySaySo09NSManagedF2IDCGSgxAA25FetchChainableBuilderTypeRzlF":{"name":"fetchObjectIDs(_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10queryValueyq_SgAA4FromVyxG_AA6SelectVyxq_GAA11QueryClause_pdtAA13DynamicObjectRzAA22QueryableAttributeTypeR_r0_lF":{"name":"queryValue(_:_:_:)","abstract":"

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10queryValueyq_SgAA4FromVyxG_AA6SelectVyxq_GSayAA11QueryClause_pGtAA13DynamicObjectRzAA22QueryableAttributeTypeR_r0_lF":{"name":"queryValue(_:_:_:)","abstract":"

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10queryValuey10ResultTypeQzSgxAA021QueryChainableBuilderH0RzAA018QueryableAttributeH0AFRQlF":{"name":"queryValue(_:)","abstract":"

    Queries a property value or aggregate as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC15queryAttributesySaySDySSypGGSgAA4FromVyxG_AA6SelectVyxSo12NSDictionaryCGAA11QueryClause_pdtAA13DynamicObjectRzlF":{"name":"queryAttributes(_:_:_:)","abstract":"

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC15queryAttributesySaySDySSypGGSgAA4FromVyxG_AA6SelectVyxSo12NSDictionaryCGSayAA11QueryClause_pGtAA13DynamicObjectRzlF":{"name":"queryAttributes(_:_:_:)","abstract":"

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC15queryAttributesySaySDySSypGGSgxAA25QueryChainableBuilderTypeRzSo12NSDictionaryC06ResultJ0RtzlF":{"name":"queryAttributes(_:)","abstract":"

    Queries a dictionary of attribute values or as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13unsafeContextSo015NSManagedObjectF0CyF":{"name":"unsafeContext()","abstract":"

    The internal NSManagedObjectContext managed by this instance. Using this context directly should typically be avoided, and is provided by CoreStore only for extremely specialized cases.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC7perform12asynchronous10completionyxAA012AsynchronousC11TransactionCKc_yAH6ResultOy_xGctlF":{"name":"perform(asynchronous:completion:)","abstract":"

    Performs a transaction asynchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the wrapped as .success(userInfo: T) in the completion‘s Result<T>. Any errors thrown from inside the task will be reported as .failure(error: CoreStoreError). To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC7perform12asynchronous7success7failureyxAA012AsynchronousC11TransactionCKc_yxcyAA0aB5ErrorOctlF":{"name":"perform(asynchronous:success:failure:)","abstract":"

    Performs a transaction asynchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the argument of the success closure. Any errors thrown from inside the task will be wrapped in a CoreStoreError and reported in the failure closure. To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC7perform11synchronous19waitForAllObserversxxAA011SynchronousC11TransactionCKXE_SbtKlF":{"name":"perform(synchronous:waitForAllObservers:)","abstract":"

    Performs a transaction synchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the return value of perform(synchronous:). Any errors thrown from inside the task will be thrown from perform(synchronous:). To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11beginUnsafe12supportsUndoAA0fC11TransactionCSb_tF":{"name":"beginUnsafe(supportsUndo:)","abstract":"

    Begins a non-contiguous transaction where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC25refreshAndMergeAllObjectsyyF":{"name":"refreshAndMergeAllObjects()","abstract":"

    Refreshes all registered objects NSManagedObjects or CoreStoreObjects in the DataStack.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC30createFetchedResultsControllerySo09NSFetchedgH0CyxGAA4FromVyxG_AA9SectionByVyxGAA11FetchClause_pdtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(_:_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from the DataStack. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC30createFetchedResultsControllerySo09NSFetchedgH0CyxGAA4FromVyxG_AA9SectionByVyxGSayAA11FetchClause_pGtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(_:_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from a DataStack. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC30createFetchedResultsControllerySo09NSFetchedgH0CyxGAA4FromVyxG_AA11FetchClause_pdtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from the DataStack. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC30createFetchedResultsController03forcD0__So09NSFetchedgH0CyxGAC_AA4FromVyxGSayAA11FetchClause_pGtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(forDataStack:_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from the DataStack. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"DataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)init":{"name":"init()","abstract":"

    Initializes a CSDataStack with default settings. CoreStore searches for .xcdatamodeld from the main NSBundle and loads an NSManagedObjectModel from it. An assertion is raised if the model could not be found.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)initWithXcodeModelName:bundle:versionChain:":{"name":"init(xcodeModelName:bundle:versionChain:)","abstract":"

    Initializes a CSDataStack from the model with the specified modelName in the specified bundle.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(py)modelVersion":{"name":"modelVersion","abstract":"

    Returns the stack’s model version. The version string is the same as the name of the version-specific .xcdatamodeld file.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)entityTypesByNameForType:":{"name":"entityTypesByNameForType(_:)","abstract":"

    Returns the entity name-to-class type mapping from the CSDataStack‘s model.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)entityDescriptionForClass:":{"name":"entityDescriptionForClass(_:)","abstract":"

    Returns the NSEntityDescription for the specified NSManagedObject subclass from stack’s model.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)addInMemoryStorageAndWaitAndReturnError:":{"name":"addInMemoryStorageAndWaitAndReturnError(_:)","abstract":"

    Creates an CSInMemoryStore with default parameters and adds it to the stack. This method blocks until completion.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)addSQLiteStorageAndWaitAndReturnError:":{"name":"addSQLiteStorageAndWaitAndReturnError(_:)","abstract":"

    Creates an CSSQLiteStore with default parameters and adds it to the stack. This method blocks until completion.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)addInMemoryStorageAndWait:error:":{"name":"addInMemoryStorageAndWait(_:error:)","abstract":"

    Adds a CSInMemoryStore to the stack and blocks until completion.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)addSQLiteStorageAndWait:error:":{"name":"addSQLiteStorageAndWait(_:error:)","abstract":"

    Adds a CSSQLiteStore to the stack and blocks until completion.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)addInMemoryStorage:completion:":{"name":"addInMemoryStorage(_:completion:)","abstract":"

    Asynchronously adds a CSInMemoryStore to the stack. Migrations are also initiated by default.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)addSQLiteStorage:completion:error:":{"name":"addSQLiteStorage(_:completion:error:)","abstract":"

    Asynchronously adds a CSSQLiteStore to the stack. Migrations are also initiated by default.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)upgradeStorageIfNeeded:completion:error:":{"name":"upgradeStorageIfNeeded(_:completion:error:)","abstract":"

    Migrates a CSSQLiteStore to match the CSDataStack‘s managed object model version. This method does NOT add the migrated store to the data stack.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)requiredMigrationsForSQLiteStore:error:":{"name":"requiredMigrationsForSQLiteStore(_:error:)","abstract":"

    Checks the migration steps required for the CSSQLiteStore to match the CSDataStack‘s managed object model version.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)monitorObject:":{"name":"monitorObject(_:)","abstract":"

    Creates a CSObjectMonitor for the specified NSManagedObject. Multiple ObjectObservers may then register themselves to be notified when changes are made to the NSManagedObject.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)monitorListFrom:fetchClauses:":{"name":"monitorListFrom(_:fetchClauses:)","abstract":"

    Creates a CSListMonitor for a list of NSManagedObjects that satisfy the specified fetch clauses. Multiple CSListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)monitorListByCreatingAsynchronously:from:fetchClauses:":{"name":"monitorListByCreatingAsynchronously(_:from:fetchClauses:)","abstract":"

    Asynchronously creates a CSListMonitor for a list of NSManagedObjects that satisfy the specified fetch clauses. Multiple CSListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)monitorSectionedListFrom:sectionBy:fetchClauses:":{"name":"monitorSectionedListFrom(_:sectionBy:fetchClauses:)","abstract":"

    Creates a CSListMonitor for a sectioned list of NSManagedObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/s:9CoreStore11CSDataStackC44monitorSectionedListByCreatingAsynchronously_4from07sectionH012fetchClausesyyAA13CSListMonitorCc_AA6CSFromCAA09CSSectionH0CSayAA13CSFetchClause_pGtF":{"name":"monitorSectionedListByCreatingAsynchronously(_:from:sectionBy:fetchClauses:)","abstract":"

    Asynchronously creates a CSListMonitor for a sectioned list of NSManagedObjects that satisfy the specified fetch clauses. Multiple CSListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchExistingObject:":{"name":"fetchExistingObject(_:)","abstract":"

    Fetches the NSManagedObject instance in the transaction’s context from a reference created from a transaction or from a different managed object context.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchExistingObjectWithID:":{"name":"fetchExistingObjectWithID(_:)","abstract":"

    Fetches the NSManagedObject instance in the transaction’s context from an NSManagedObjectID.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchExistingObjects:":{"name":"fetchExistingObjects(_:)","abstract":"

    Fetches the NSManagedObject instances in the transaction’s context from references created from a transaction or from a different managed object context.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchExistingObjectsWithIDs:":{"name":"fetchExistingObjectsWithIDs(_:)","abstract":"

    Fetches the NSManagedObject instances in the transaction’s context from a list of NSManagedObjectID.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchOneFrom:fetchClauses:":{"name":"fetchOneFrom(_:fetchClauses:)","abstract":"

    Fetches the first NSManagedObject instance that satisfies the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchAllFrom:fetchClauses:":{"name":"fetchAllFrom(_:fetchClauses:)","abstract":"

    Fetches all NSManagedObject instances that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchCountFrom:fetchClauses:":{"name":"fetchCountFrom(_:fetchClauses:)","abstract":"

    Fetches the number of NSManagedObjects that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchObjectIDFrom:fetchClauses:":{"name":"fetchObjectIDFrom(_:fetchClauses:)","abstract":"

    Fetches the NSManagedObjectID for the first NSManagedObject that satisfies the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchObjectIDsFrom:fetchClauses:":{"name":"fetchObjectIDsFrom(_:fetchClauses:)","abstract":"

    Fetches the NSManagedObjectID for all NSManagedObjects that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)queryValueFrom:selectClause:queryClauses:":{"name":"queryValueFrom(_:selectClause:queryClauses:)","abstract":"

    Queries aggregate values as specified by the CSQueryClauses. Requires at least a CSSelect clause, and optional CSWhere, CSOrderBy, CSGroupBy, and CSTweak clauses.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)queryAttributesFrom:selectClause:queryClauses:":{"name":"queryAttributesFrom(_:selectClause:queryClauses:)","abstract":"

    Queries a dictionary of attribute values as specified by the CSQueryClauses. Requires at least a CSSelect clause, and optional CSWhere, CSOrderBy, CSGroupBy, and CSTweak clauses.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)beginAsynchronous:":{"name":"beginAsynchronous(_:)","abstract":"

    Begins a transaction asynchronously where NSManagedObject creates, updates, and deletes can be made.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)beginSynchronous:error:":{"name":"beginSynchronous(_:error:)","abstract":"

    Begins a transaction synchronously where NSManagedObject creates, updates, and deletes can be made.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)beginUnsafe":{"name":"beginUnsafe()","abstract":"

    Begins a child transaction where NSManagedObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)beginUnsafeWithSupportsUndo:":{"name":"beginUnsafeWithSupportsUndo(_:)","abstract":"

    Begins a child transaction where NSManagedObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)refreshAndMergeAllObjects":{"name":"refreshAndMergeAllObjects()","abstract":"

    Refreshes all registered objects NSManagedObjects in the DataStack.

    ","parent_name":"CSDataStack"},"Classes/CSCoreStore.html#/c:@M@CoreStore@objc(cs)CSCoreStore(cpy)defaultStack":{"name":"defaultStack","abstract":"

    The default CSDataStack instance to be used. If defaultStack is not set before the first time accessed, a default-configured CSDataStack will be created.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/s:9CoreStore06CSCoreB0C18addInMemoryStorage_10completionyAA04CSInfB0C_yAA13CSSetupResultCctFZ":{"name":"addInMemoryStorage(_:completion:)","abstract":"

    Asynchronously adds a CSInMemoryStore to the defaultStack. Migrations are also initiated by default.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/s:9CoreStore06CSCoreB0C16addSQLiteStorage_10completion5errorSo10NSProgressCSgAA08CSSQLiteB0C_yAA13CSSetupResultCcSAySo7NSErrorCSgGSgtFZ":{"name":"addSQLiteStorage(_:completion:error:)","abstract":"

    Asynchronously adds a CSSQLiteStore to the defaultStack. Migrations are also initiated by default.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)upgradeStorageIfNeeded:completion:error:":{"name":"upgradeStorageIfNeeded(_:completion:error:)","abstract":"

    Migrates a CSSQLiteStore to match the defaultStack‘s managed object model version. This method does NOT add the migrated store to the data stack.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)requiredMigrationsForSQLiteStore:error:":{"name":"requiredMigrationsForSQLiteStore(_:error:)","abstract":"

    Checks the migration steps required for the CSSQLiteStore to match the defaultStack‘s managed object model version.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)monitorObject:":{"name":"monitorObject(_:)","abstract":"

    Using the defaultStack, creates an CSObjectMonitor for the specified NSManagedObject. Multiple CSObjectObservers may then register themselves to be notified when changes are made to the NSManagedObject.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)monitorListFrom:fetchClauses:":{"name":"monitorListFrom(_:fetchClauses:)","abstract":"

    Using the defaultStack, creates a CSListMonitor for a list of NSManagedObjects that satisfy the specified fetch clauses. Multiple CSListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)monitorListByCreatingAsynchronously:from:fetchClauses:":{"name":"monitorListByCreatingAsynchronously(_:from:fetchClauses:)","abstract":"

    Using the defaultStack, asynchronously creates a CSListMonitor for a list of NSManagedObjects that satisfy the specified fetch clauses. Multiple CSListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)monitorSectionedListFrom:sectionBy:fetchClauses:":{"name":"monitorSectionedListFrom(_:sectionBy:fetchClauses:)","abstract":"

    Using the defaultStack, creates a CSListMonitor for a sectioned list of NSManagedObjects that satisfy the specified fetch clauses. Multiple CSListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)monitorSectionedListByCreatingAsynchronously:from:sectionBy:fetchClauses:":{"name":"monitorSectionedListByCreatingAsynchronously(_:from:sectionBy:fetchClauses:)","abstract":"

    Using the defaultStack, asynchronously creates a CSListMonitor for a sectioned list of NSManagedObjects that satisfy the specified fetch clauses. Multiple CSListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchExistingObject:":{"name":"fetchExistingObject(_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObject instance in the transaction’s context from a reference created from a transaction or from a different managed object context.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchExistingObjectWithID:":{"name":"fetchExistingObjectWithID(_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObject instance in the transaction’s context from an NSManagedObjectID.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchExistingObjects:":{"name":"fetchExistingObjects(_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObject instances in the transaction’s context from references created from a transaction or from a different managed object context.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchExistingObjectsWithIDs:":{"name":"fetchExistingObjectsWithIDs(_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObject instances in the transaction’s context from a list of NSManagedObjectID.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchOneFrom:fetchClauses:":{"name":"fetchOneFrom(_:fetchClauses:)","abstract":"

    Using the defaultStack, fetches the first NSManagedObject instance that satisfies the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchAllFrom:fetchClauses:":{"name":"fetchAllFrom(_:fetchClauses:)","abstract":"

    Using the defaultStack, fetches all NSManagedObject instances that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchCountFrom:fetchClauses:":{"name":"fetchCountFrom(_:fetchClauses:)","abstract":"

    Using the defaultStack, fetches the number of NSManagedObjects that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchObjectIDFrom:fetchClauses:":{"name":"fetchObjectIDFrom(_:fetchClauses:)","abstract":"

    Using the defaultStack, fetches the NSManagedObjectID for the first NSManagedObject that satisfies the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchObjectIDsFrom:fetchClauses:":{"name":"fetchObjectIDsFrom(_:fetchClauses:)","abstract":"

    Using the defaultStack, fetches the NSManagedObjectID for all NSManagedObjects that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)queryValueFrom:selectClause:queryClauses:":{"name":"queryValueFrom(_:selectClause:queryClauses:)","abstract":"

    Using the defaultStack, queries aggregate values as specified by the CSQueryClauses. Requires at least a CSSelect clause, and optional CSWhere, CSOrderBy, CSGroupBy, and CSTweak clauses.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)queryAttributesFrom:selectClause:queryClauses:":{"name":"queryAttributesFrom(_:selectClause:queryClauses:)","abstract":"

    Using the defaultStack, queries a dictionary of attribute values as specified by the CSQueryClauses. Requires at least a CSSelect clause, and optional CSWhere, CSOrderBy, CSGroupBy, and CSTweak clauses.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cpy)modelVersion":{"name":"modelVersion","abstract":"

    Returns the defaultStack‘s model version. The version string is the same as the name of the version-specific .xcdatamodeld file.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)entityTypesByNameForType:":{"name":"entityTypesByNameForType(_:)","abstract":"

    Returns the entity name-to-class type mapping from the defaultStack‘s model.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)entityDescriptionForClass:":{"name":"entityDescriptionForClass(_:)","abstract":"

    Returns the NSEntityDescription for the specified NSManagedObject subclass from defaultStack‘s model.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)addInMemoryStorageAndWaitAndReturnError:":{"name":"addInMemoryStorageAndWaitAndReturnError(_:)","abstract":"

    Creates an CSInMemoryStore with default parameters and adds it to the defaultStack. This method blocks until completion.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)addSQLiteStorageAndWaitAndReturnError:":{"name":"addSQLiteStorageAndWaitAndReturnError(_:)","abstract":"

    Creates an CSSQLiteStore with default parameters and adds it to the defaultStack. This method blocks until completion.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)addInMemoryStorageAndWait:error:":{"name":"addInMemoryStorageAndWait(_:error:)","abstract":"

    Adds a CSInMemoryStore to the defaultStack and blocks until completion.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)addSQLiteStorageAndWait:error:":{"name":"addSQLiteStorageAndWait(_:error:)","abstract":"

    Adds a CSSQLiteStore to the defaultStack and blocks until completion.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)beginAsynchronous:":{"name":"beginAsynchronous(_:)","abstract":"

    Using the defaultStack, begins a transaction asynchronously where NSManagedObject creates, updates, and deletes can be made.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)beginSynchronous:error:":{"name":"beginSynchronous(_:error:)","abstract":"

    Using the defaultStack, begins a transaction synchronously where NSManagedObject creates, updates, and deletes can be made.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)beginUnsafe":{"name":"beginUnsafe()","abstract":"

    Using the defaultStack, begins a child transaction where NSManagedObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)beginUnsafeWithSupportsUndo:":{"name":"beginUnsafeWithSupportsUndo(_:)","abstract":"

    Using the defaultStack, begins a child transaction where NSManagedObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)refreshAndMergeAllObjects":{"name":"refreshAndMergeAllObjects()","abstract":"

    Refreshes all registered objects NSManagedObjects in the defaultStack.

    ","parent_name":"CSCoreStore"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(py)hasChanges":{"name":"hasChanges","abstract":"

    Indicates if the transaction has pending changes

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)createInto:":{"name":"createInto(_:)","abstract":"

    Creates a new NSManagedObject with the specified entity type.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)editObject:":{"name":"editObject(_:)","abstract":"

    Returns an editable proxy of a specified NSManagedObject.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)editInto:objectID:":{"name":"editInto(_:objectID:)","abstract":"

    Returns an editable proxy of the object with the specified NSManagedObjectID.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)deleteObject:":{"name":"deleteObject(_:)","abstract":"

    Deletes a specified NSManagedObject.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)deleteObjects:":{"name":"deleteObjects(_:)","abstract":"

    Deletes the specified NSManagedObjects.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)refreshAndMergeAllObjects":{"name":"refreshAndMergeAllObjects()","abstract":"

    Refreshes all registered objects NSManagedObjects in the transaction.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)insertedObjectsOfType:":{"name":"insertedObjectsOfType(_:)","abstract":"

    Returns all pending NSManagedObjects of the specified type that were inserted to the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)insertedObjectIDs":{"name":"insertedObjectIDs()","abstract":"

    Returns all pending NSManagedObjectIDs that were inserted to the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)insertedObjectIDsOfType:":{"name":"insertedObjectIDsOfType(_:)","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were inserted to the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)updatedObjectsOfType:":{"name":"updatedObjectsOfType(_:)","abstract":"

    Returns all pending NSManagedObjects of the specified type that were updated in the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)updatedObjectIDs":{"name":"updatedObjectIDs()","abstract":"

    Returns all pending NSManagedObjectIDs that were updated in the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)updatedObjectIDsOfType:":{"name":"updatedObjectIDsOfType(_:)","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were updated in the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)deletedObjectsOfType:":{"name":"deletedObjectsOfType(_:)","abstract":"

    Returns all pending NSManagedObjects of the specified type that were deleted from the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)deletedObjectIDs":{"name":"deletedObjectIDs()","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were deleted from the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)deletedObjectIDsOfType:":{"name":"deletedObjectIDsOfType(_:)","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were deleted from the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchExistingObject:":{"name":"fetchExistingObject(_:)","abstract":"

    Fetches the NSManagedObject instance in the transaction’s context from a reference created from a transaction or from a different managed object context.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchExistingObjectWithID:":{"name":"fetchExistingObjectWithID(_:)","abstract":"

    Fetches the NSManagedObject instance in the transaction’s context from an NSManagedObjectID.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchExistingObjects:":{"name":"fetchExistingObjects(_:)","abstract":"

    Fetches the NSManagedObject instances in the transaction’s context from references created from a transaction or from a different managed object context.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchExistingObjectsWithIDs:":{"name":"fetchExistingObjectsWithIDs(_:)","abstract":"

    Fetches the NSManagedObject instances in the transaction’s context from a list of NSManagedObjectID.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchOneFrom:fetchClauses:":{"name":"fetchOneFrom(_:fetchClauses:)","abstract":"

    Fetches the first NSManagedObject instance that satisfies the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchAllFrom:fetchClauses:":{"name":"fetchAllFrom(_:fetchClauses:)","abstract":"

    Fetches all NSManagedObject instances that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchCountFrom:fetchClauses:":{"name":"fetchCountFrom(_:fetchClauses:)","abstract":"

    Fetches the number of NSManagedObjects that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchObjectIDFrom:fetchClauses:":{"name":"fetchObjectIDFrom(_:fetchClauses:)","abstract":"

    Fetches the NSManagedObjectID for the first NSManagedObject that satisfies the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)queryValueFrom:selectClause:queryClauses:":{"name":"queryValueFrom(_:selectClause:queryClauses:)","abstract":"

    Queries aggregate values as specified by the CSQueryClauses. Requires at least a CSSelect clause, and optional CSWhere, CSOrderBy, CSGroupBy, and CSTweak clauses.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)queryAttributesFrom:selectClause:queryClauses:":{"name":"queryAttributesFrom(_:selectClause:queryClauses:)","abstract":"

    Queries a dictionary of attribute values as specified by the CSQueryClauses. Requires at least a CSSelect clause, and optional CSWhere, CSOrderBy, CSGroupBy, and CSTweak clauses.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSAsynchronousDataTransaction(im)commitWithSuccess:failure:":{"name":"commitWithSuccess(_:failure:)","abstract":"

    Saves the transaction changes. This method should not be used after the -commitWithCompletion: method was already called once.

    ","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSAsynchronousDataTransaction(im)createInto:":{"name":"createInto(_:)","abstract":"

    Creates a new NSManagedObject with the specified entity type.

    ","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSAsynchronousDataTransaction(im)editObject:":{"name":"editObject(_:)","abstract":"

    Returns an editable proxy of a specified NSManagedObject. This method should not be used after the -commitWithCompletion: method was already called once.

    ","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSAsynchronousDataTransaction(im)editInto:objectID:":{"name":"editInto(_:objectID:)","abstract":"

    Returns an editable proxy of the object with the specified NSManagedObjectID. This method should not be used after the -commitWithCompletion: method was already called once.

    ","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSAsynchronousDataTransaction(im)deleteObject:":{"name":"deleteObject(_:)","abstract":"

    Deletes a specified NSManagedObject. This method should not be used after the -commitWithCompletion: method was already called once.

    ","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSAsynchronousDataTransaction(im)deleteObjects:":{"name":"deleteObjects(_:)","abstract":"

    Deletes the specified NSManagedObjects.

    ","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypeP9SwiftTypeQa":{"name":"SwiftType","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSAsynchronousDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC10hasChangesSbvp":{"name":"hasChanges","abstract":"

    Indicates if the transaction has pending changes

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC6createyxAA4IntoVyxGAA13DynamicObjectRzlF":{"name":"create(_:)","abstract":"

    Creates a new NSManagedObject or CoreStoreObject with the specified entity type.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC4edityxSgAeA13DynamicObjectRzlF":{"name":"edit(_:)","abstract":"

    Returns an editable proxy of a specified NSManagedObject or CoreStoreObject.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC4edityxSgAA4IntoVyxG_So17NSManagedObjectIDCtAA07DynamicI0RzlF":{"name":"edit(_:_:)","abstract":"

    Returns an editable proxy of the object with the specified NSManagedObjectID.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC6deleteyyxSgAA13DynamicObjectRzlF":{"name":"delete(_:)","abstract":"

    Deletes a specified NSManagedObject or CoreStoreObject.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC6deleteyyxSg_A2EdtAA13DynamicObjectRzlF":{"name":"delete(_:_:_:)","abstract":"

    Deletes the specified NSManagedObjects or CoreStoreObjects.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC6deleteyyxSTRzAA13DynamicObject7ElementRpzlF":{"name":"delete(_:)","abstract":"

    Deletes the specified NSManagedObjects or CoreStoreObjects.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC25refreshAndMergeAllObjectsyyF":{"name":"refreshAndMergeAllObjects()","abstract":"

    Refreshes all registered objects NSManagedObjects in the transaction.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC15insertedObjectsyShyxGxmAA13DynamicObjectRzSHRzlF":{"name":"insertedObjects(_:)","abstract":"

    Returns all pending DynamicObjects of the specified type that were inserted to the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC17insertedObjectIDsShySo09NSManagedG2IDCSo8NSObjectCSH10ObjectiveCg_GyF":{"name":"insertedObjectIDs()","abstract":"

    Returns all pending NSManagedObjectIDs that were inserted to the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC17insertedObjectIDsyShySo09NSManagedG2IDCSo8NSObjectCSH10ObjectiveCg_GxmAA07DynamicG0RzlF":{"name":"insertedObjectIDs(_:)","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were inserted to the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC14updatedObjectsyShyxGxmAA13DynamicObjectRzSHRzlF":{"name":"updatedObjects(_:)","abstract":"

    Returns all pending DynamicObjects of the specified type that were updated in the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC16updatedObjectIDsShySo09NSManagedG2IDCSo8NSObjectCSH10ObjectiveCg_GyF":{"name":"updatedObjectIDs()","abstract":"

    Returns all pending NSManagedObjectIDs that were updated in the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC16updatedObjectIDsyShySo09NSManagedG2IDCSo8NSObjectCSH10ObjectiveCg_GxmAA07DynamicG0RzlF":{"name":"updatedObjectIDs(_:)","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were updated in the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC14deletedObjectsyShyxGxmAA13DynamicObjectRzSHRzlF":{"name":"deletedObjects(_:)","abstract":"

    Returns all pending DynamicObjects of the specified type that were deleted from the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC16deletedObjectIDsShySo09NSManagedG2IDCSo8NSObjectCSH10ObjectiveCg_GyF":{"name":"deletedObjectIDs()","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were deleted from the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC16deletedObjectIDsyShySo09NSManagedG2IDCSo8NSObjectCSH10ObjectiveCg_GxmAA07DynamicG0RzlF":{"name":"deletedObjectIDs(_:)","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were deleted from the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC8userInfoAA04UserG0Cvp":{"name":"userInfo","abstract":"

    Allow external libraries to store custom data in the transaction. App code should rarely have a need for this.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC12importObject_6sourcexSgAA4IntoVyxG_12ImportSourceQztKAA010ImportableG0RzlF":{"name":"importObject(_:source:)","abstract":"

    Creates an ImportableObject by importing from the specified import source.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC12importObject_6sourceyx_12ImportSourceQztKAA010ImportableG0RzlF":{"name":"importObject(_:source:)","abstract":"

    Updates an existing ImportableObject by importing values from the specified import source.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13importObjects_11sourceArraySayxGAA4IntoVyxG_q_tKAA16ImportableObjectRzSTR_7ElementQy_12ImportSourceRtzr0_lF":{"name":"importObjects(_:sourceArray:)","abstract":"

    Creates multiple ImportableObjects by importing from the specified array of import sources.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC18importUniqueObject_6sourcexSgAA4IntoVyxG_12ImportSourceQztKAA010ImportablegH0RzlF":{"name":"importUniqueObject(_:source:)","abstract":"

    Updates an existing ImportableUniqueObject or creates a new instance by importing from the specified import source.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC19importUniqueObjects_11sourceArray10preProcessSayxGAA4IntoVyxG_q_SDy0G6IDTypeQz12ImportSourceQzGAOKctKAA010ImportableG6ObjectRzSTR_7ElementQy_ANRSr0_lF":{"name":"importUniqueObjects(_:sourceArray:preProcess:)","abstract":"

    Updates existing ImportableUniqueObjects or creates them by importing from the specified array of import sources.","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC9deleteAllySiSgAA4FromVyxG_AA12DeleteClause_pdtAA13DynamicObjectRzlF":{"name":"deleteAll(_:_:)","abstract":"

    Deletes all DynamicObjects that satisfy the specified DeleteClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC9deleteAllySiSgAA4FromVyxG_SayAA12DeleteClause_pGtAA13DynamicObjectRzlF":{"name":"deleteAll(_:_:)","abstract":"

    Deletes all DynamicObjects that satisfy the specified DeleteClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC9deleteAllySiSgxAA25FetchChainableBuilderTypeRzlF":{"name":"deleteAll(_:)","abstract":"

    Deletes all DynamicObjects that satisfy the specified conditions.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13fetchExistingyxSgxAA13DynamicObjectRzlF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instance in the transaction’s context from a reference created from a transaction or from a different managed object context.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13fetchExistingyxSgSo17NSManagedObjectIDCAA07DynamicI0RzlF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instance in the transaction’s context from an NSManagedObjectID.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13fetchExistingySayxGq_AA13DynamicObjectRz7ElementQy_RszSTR_r0_lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instances in the transaction’s context from references created from a transaction or from a different managed object context.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13fetchExistingySayxGq_AA13DynamicObjectRzSTR_So09NSManagedI2IDC7ElementRt_r0_lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instances in the transaction’s context from a list of NSManagedObjectID.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC8fetchOneyxSgAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"fetchOne(_:_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC8fetchOneyxSgAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"fetchOne(_:_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC8fetchOney10ObjectTypeQzSgxAA021FetchChainableBuilderI0RzlF":{"name":"fetchOne(_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC8fetchAllySayxGSgAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"fetchAll(_:_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC8fetchAllySayxGSgAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"fetchAll(_:_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC8fetchAllySay10ObjectTypeQzGSgxAA021FetchChainableBuilderI0RzlF":{"name":"fetchAll(_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC10fetchCountySiSgAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"fetchCount(_:_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC10fetchCountySiSgAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"fetchCount(_:_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC10fetchCountySiSgxAA25FetchChainableBuilderTypeRzlF":{"name":"fetchCount(_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13fetchObjectIDySo09NSManagedgH0CSgAA4FromVyxG_AA11FetchClause_pdtAA07DynamicG0RzlF":{"name":"fetchObjectID(_:_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13fetchObjectIDySo09NSManagedgH0CSgAA4FromVyxG_SayAA11FetchClause_pGtAA07DynamicG0RzlF":{"name":"fetchObjectID(_:_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13fetchObjectIDySo09NSManagedgH0CSgxAA25FetchChainableBuilderTypeRzlF":{"name":"fetchObjectID(_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC14fetchObjectIDsySaySo09NSManagedG2IDCGSgAA4FromVyxG_AA11FetchClause_pdtAA07DynamicG0RzlF":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC14fetchObjectIDsySaySo09NSManagedG2IDCGSgAA4FromVyxG_SayAA11FetchClause_pGtAA07DynamicG0RzlF":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC14fetchObjectIDsySaySo09NSManagedG2IDCGSgxAA25FetchChainableBuilderTypeRzlF":{"name":"fetchObjectIDs(_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC10queryValueyq_SgAA4FromVyxG_AA6SelectVyxq_GAA11QueryClause_pdtAA13DynamicObjectRzAA22QueryableAttributeTypeR_r0_lF":{"name":"queryValue(_:_:_:)","abstract":"

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC10queryValueyq_SgAA4FromVyxG_AA6SelectVyxq_GSayAA11QueryClause_pGtAA13DynamicObjectRzAA22QueryableAttributeTypeR_r0_lF":{"name":"queryValue(_:_:_:)","abstract":"

    Queries aggregate values or aggregates as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC10queryValuey10ResultTypeQzSgxAA021QueryChainableBuilderI0RzAA018QueryableAttributeI0AFRQlF":{"name":"queryValue(_:)","abstract":"

    Queries a property value or aggregate as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC15queryAttributesySaySDySSypGGSgAA4FromVyxG_AA6SelectVyxSo12NSDictionaryCGAA11QueryClause_pdtAA13DynamicObjectRzlF":{"name":"queryAttributes(_:_:_:)","abstract":"

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC15queryAttributesySaySDySSypGGSgAA4FromVyxG_AA6SelectVyxSo12NSDictionaryCGSayAA11QueryClause_pGtAA13DynamicObjectRzlF":{"name":"queryAttributes(_:_:_:)","abstract":"

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC15queryAttributesySaySDySSypGGSgxAA25QueryChainableBuilderTypeRzSo12NSDictionaryC06ResultK0RtzlF":{"name":"queryAttributes(_:)","abstract":"

    Queries a dictionary of attribute values or as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13unsafeContextSo015NSManagedObjectG0CyF":{"name":"unsafeContext()","abstract":"

    The internal NSManagedObjectContext managed by this instance. Using this context directly should typically be avoided, and is provided by CoreStore only for extremely specialized cases.

    ","parent_name":"BaseDataTransaction"},"Classes/AsynchronousDataTransaction/Result.html#/s:9CoreStore27AsynchronousDataTransactionC6ResultO7successyAEy_xGx_tcAGmlF":{"name":"success(userInfo:)","abstract":"

    Result<T>.success indicates that the transaction succeeded, either because the save succeeded or because there were no changes to save. The associated userInfo is the value returned from the transaction closure.

    ","parent_name":"Result"},"Classes/AsynchronousDataTransaction/Result.html#/s:9CoreStore27AsynchronousDataTransactionC6ResultO7failureyAEy_xGAA0aB5ErrorO_tcAGmlF":{"name":"failure(error:)","abstract":"

    Result<T>.failure indicates that the transaction either failed or was cancelled. The associated object for this value is a CoreStoreError enum value.

    ","parent_name":"Result"},"Classes/AsynchronousDataTransaction/Result.html#/s:9CoreStore27AsynchronousDataTransactionC6ResultO9boolValueSbvp":{"name":"boolValue","abstract":"

    Returns true if the result indicates .success, false if the result is .failure.

    ","parent_name":"Result"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC6cancels5NeverOyKF":{"name":"cancel()","abstract":"

    Cancels a transaction by throwing CoreStoreError.userCancelled.

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction/Result.html":{"name":"Result","abstract":"

    The Result contains the success or failure information for a completed transaction

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC6createyxAA4IntoVyxGAA13DynamicObjectRzlF":{"name":"create(_:)","abstract":"

    Creates a new NSManagedObject or CoreStoreObject with the specified entity type.

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC4edityxSgAeA13DynamicObjectRzlF":{"name":"edit(_:)","abstract":"

    Returns an editable proxy of a specified NSManagedObject or CoreStoreObject.

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC4edityxSgAA4IntoVyxG_So17NSManagedObjectIDCtAA07DynamicI0RzlF":{"name":"edit(_:_:)","abstract":"

    Returns an editable proxy of the object with the specified NSManagedObjectID.

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC6deleteyyxSgAA13DynamicObjectRzlF":{"name":"delete(_:)","abstract":"

    Deletes a specified NSManagedObject or CoreStoreObject.

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC6deleteyyxSg_A2EdtAA13DynamicObjectRzlF":{"name":"delete(_:_:_:)","abstract":"

    Deletes the specified DynamicObjects.

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC6deleteyyxSTRzAA13DynamicObject7ElementRpzlF":{"name":"delete(_:)","abstract":"

    Deletes the specified DynamicObjects.

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html":{"name":"AsynchronousDataTransaction","abstract":"

    The AsynchronousDataTransaction provides an interface for DynamicObject creates, updates, and deletes. A transaction object should typically be only used from within a transaction block initiated from DataStack.perform(asynchronous:...), or from CoreStore.perform(synchronous:...).

    "},"Classes/BaseDataTransaction.html":{"name":"BaseDataTransaction","abstract":"

    The BaseDataTransaction is an abstract interface for NSManagedObject creates, updates, and deletes. All BaseDataTransaction subclasses manage a private NSManagedObjectContext which are direct children of the NSPersistentStoreCoordinator‘s root NSManagedObjectContext. This means that all updates are saved first to the persistent store, and then propagated up to the read-only NSManagedObjectContext.

    "},"Classes/CSAsynchronousDataTransaction.html":{"name":"CSAsynchronousDataTransaction","abstract":"

    The CSAsynchronousDataTransaction serves as the Objective-C bridging type for AsynchronousDataTransaction.

    "},"Classes/CSBaseDataTransaction.html":{"name":"CSBaseDataTransaction","abstract":"

    The CSBaseDataTransaction serves as the Objective-C bridging type for BaseDataTransaction.

    "},"Classes/CSCoreStore.html":{"name":"CSCoreStore","abstract":"

    The CSCoreStore serves as the Objective-C bridging type for CoreStore.

    "},"Classes/CSDataStack.html":{"name":"CSDataStack","abstract":"

    The CSDataStack serves as the Objective-C bridging type for DataStack.

    "},"Classes/DataStack.html":{"name":"DataStack","abstract":"

    The DataStack encapsulates the data model for the Core Data stack. Each DataStack can have multiple data stores, usually specified as a Configuration in the model editor. Behind the scenes, the DataStack manages its own NSPersistentStoreCoordinator, a root NSManagedObjectContext for disk saves, and a shared NSManagedObjectContext designed as a read-only model interface for NSManagedObjects.

    "},"Classes/CSError.html":{"name":"CSError","abstract":"

    All errors thrown from CoreStore are expressed in CSErrors.

    "},"Classes/CSFrom.html":{"name":"CSFrom","abstract":"

    The CSFrom serves as the Objective-C bridging type for From.

    "},"Classes/CSGroupBy.html":{"name":"CSGroupBy","abstract":"

    The CSGroupBy serves as the Objective-C bridging type for GroupBy.

    "},"Classes/CSInMemoryStore.html":{"name":"CSInMemoryStore","abstract":"

    The CSInMemoryStore serves as the Objective-C bridging type for InMemoryStore.

    "},"Classes/InMemoryStore.html":{"name":"InMemoryStore","abstract":"

    A storage interface that is backed only in memory.

    "},"Classes/CSInto.html":{"name":"CSInto","abstract":"

    The CSInto serves as the Objective-C bridging type for Into<T>.

    "},"Classes/CSListMonitor.html":{"name":"CSListMonitor","abstract":"

    The CSListMonitor serves as the Objective-C bridging type for ListMonitor<T>.

    "},"Classes/CSMigrationResult.html":{"name":"CSMigrationResult","abstract":"

    The CSMigrationResult serves as the Objective-C bridging type for MigrationResult.

    "},"Classes/CSMigrationType.html":{"name":"CSMigrationType","abstract":"

    The CSMigrationType serves as the Objective-C bridging type for MigrationType.

    "},"Classes/CSObjectMonitor.html":{"name":"CSObjectMonitor","abstract":"

    The CSObjectMonitor serves as the Objective-C bridging type for ObjectMonitor<T>.

    "},"Classes/CSOrderBy.html":{"name":"CSOrderBy","abstract":"

    The CSOrderBy serves as the Objective-C bridging type for OrderBy.

    "},"Classes/CSSQLiteStore.html":{"name":"CSSQLiteStore","abstract":"

    The CSSQLiteStore serves as the Objective-C bridging type for SQLiteStore.

    "},"Classes/SQLiteStore.html":{"name":"SQLiteStore","abstract":"

    A storage interface that is backed by an SQLite database.

    "},"Classes/CSSectionBy.html":{"name":"CSSectionBy","abstract":"

    The CSSectionBy serves as the Objective-C bridging type for SectionBy.

    "},"Classes/CSSelectTerm.html":{"name":"CSSelectTerm","abstract":"

    The CSSelectTerm serves as the Objective-C bridging type for SelectTerm.

    "},"Classes/CSSelect.html":{"name":"CSSelect","abstract":"

    The CSSelect serves as the Objective-C bridging type for Select.

    "},"Classes/CSSetupResult.html":{"name":"CSSetupResult","abstract":"

    The CSSetupResult serves as the Objective-C bridging type for SetupResult.

    "},"Classes/CSSynchronousDataTransaction.html":{"name":"CSSynchronousDataTransaction","abstract":"

    The CSSynchronousDataTransaction serves as the Objective-C bridging type for SynchronousDataTransaction.

    "},"Classes/SynchronousDataTransaction.html":{"name":"SynchronousDataTransaction","abstract":"

    The SynchronousDataTransaction provides an interface for DynamicObject creates, updates, and deletes. A transaction object should typically be only used from within a transaction block initiated from DataStack.beginSynchronous(_:), or from CoreStore.beginSynchronous(_:).

    "},"Classes/CSTweak.html":{"name":"CSTweak","abstract":"

    The CSTweak serves as the Objective-C bridging type for Tweak.

    "},"Classes/CSUnsafeDataModelSchema.html":{"name":"CSUnsafeDataModelSchema","abstract":"

    The CSUnsafeDataModelSchema serves as the Objective-C bridging type for UnsafeDataModelSchema.

    "},"Classes/UnsafeDataModelSchema.html":{"name":"UnsafeDataModelSchema","abstract":"

    The UnsafeDataModelSchema describes models loaded directly from an existing NSManagedObjectModel. It is not advisable to continue using this model as its metadata are not available to CoreStore.

    "},"Classes/CSUnsafeDataTransaction.html":{"name":"CSUnsafeDataTransaction","abstract":"

    The CSUnsafeDataTransaction serves as the Objective-C bridging type for UnsafeDataTransaction.

    "},"Classes/UnsafeDataTransaction.html":{"name":"UnsafeDataTransaction","abstract":"

    The UnsafeDataTransaction provides an interface for non-contiguous NSManagedObject or CoreStoreObject creates, updates, and deletes. This is useful for making temporary changes, such as partially filled forms. An unsafe transaction object should typically be only used from the main queue.

    "},"Classes/CSWhere.html":{"name":"CSWhere","abstract":"

    The CSWhere serves as the Objective-C bridging type for Where.

    "},"Classes/CSXcodeDataModelSchema.html":{"name":"CSXcodeDataModelSchema","abstract":"

    The CSXcodeDataModelSchema serves as the Objective-C bridging type for XcodeDataModelSchema.

    "},"Classes/XcodeDataModelSchema.html":{"name":"XcodeDataModelSchema","abstract":"

    The XcodeDataModelSchema describes a model version declared in a single *.xcdatamodeld file.

    "},"Classes/CoreStoreObject.html":{"name":"CoreStoreObject","abstract":"

    The CoreStoreObject is an abstract class for creating CoreStore-managed objects that are more type-safe and more convenient than NSManagedObject subclasses. The model entities for CoreStoreObject subclasses are inferred from the Swift declaration themselves; no .xcdatamodeld files are needed. To declare persisted attributes and relationships for the CoreStoreObject subclass, declare properties of type Value.Required<T>, Value.Optional<T> for values, or Relationship.ToOne<T>, Relationship.ToManyOrdered<T>, Relationship.ToManyUnordered<T> for relationships.

    "},"Classes/CoreStoreSchema.html":{"name":"CoreStoreSchema","abstract":"

    The CoreStoreSchema describes models written for CoreStoreObject Swift class declarations for a particular model version. CoreStoreObject entities for a model version should be added to CoreStoreSchema instance.

    "},"Classes/Entity.html":{"name":"Entity","abstract":"

    The Entity<O> contains NSEntityDescription metadata for CoreStoreObject subclasses. Pass the Entity instances to CoreStoreSchema initializer.

    "},"Classes/ICloudStore.html":{"name":"ICloudStore","abstract":"

    A storage interface backed by an SQLite database managed by iCloud.

    "},"Classes/ListMonitor.html":{"name":"ListMonitor","abstract":"

    The ListMonitor monitors changes to a list of DynamicObject instances. Observers that implement the ListObserver protocol may then register themselves to the ListMonitor‘s addObserver(_:) method:

    "},"Classes/ObjectMonitor.html":{"name":"ObjectMonitor","abstract":"

    The ObjectMonitor monitors changes to a single DynamicObject instance. Observers that implement the ObjectObserver protocol may then register themselves to the ObjectMonitor‘s addObserver(_:) method:

    "},"Classes/SchemaHistory.html":{"name":"SchemaHistory","abstract":"

    The SchemaHistory encapsulates multiple DynamicSchema across multiple model versions. It contains all model history and is used by the DataStack to

    "},"Classes/CoreStoreObjectValueDiff.html":{"name":"CoreStoreObjectValueDiff","abstract":"

    The object containing the changeset for an observed ValueContainer.Required and ValueContainer.Optional property.

    "},"Classes/CoreStoreObjectTransformableDiff.html":{"name":"CoreStoreObjectTransformableDiff","abstract":"

    The object containing the changeset for an observed TransformableContainer.Required or TransformableContainer.Optional property.

    "},"Classes/CoreStoreObjectObjectDiff.html":{"name":"CoreStoreObjectObjectDiff","abstract":"

    The object containing the changeset for an observed RelationshipContainer.ToOne property.

    "},"Classes/CoreStoreObjectUnorderedDiff.html":{"name":"CoreStoreObjectUnorderedDiff","abstract":"

    The object containing the changeset for an observed RelationshipContainer.ToManyUnordered property.

    "},"Classes/CoreStoreObjectOrderedDiff.html":{"name":"CoreStoreObjectOrderedDiff","abstract":"

    The object containing the changeset for an observed RelationshipContainer.Ordered property.

    "},"Classes/CustomSchemaMappingProvider.html":{"name":"CustomSchemaMappingProvider","abstract":"

    A SchemaMappingProvider that accepts custom mappings for some entities. Mappings of entities with no CustomMapping provided will be automatically calculated if possible.

    "},"Classes/DefaultLogger.html":{"name":"DefaultLogger","abstract":"

    The DefaultLogger is a basic implementation of the CoreStoreLogger protocol.

    "},"Classes/DynamicEntity.html":{"name":"DynamicEntity","abstract":"

    Use concrete instances of Entity<O> in API that accept DynamicEntity arguments.

    "},"Classes/InferredSchemaMappingProvider.html":{"name":"InferredSchemaMappingProvider","abstract":"

    A SchemaMappingProvider that tries to infer model migration between two DynamicSchema versions by searching all xcmappingmodels from Bundle.allBundles or by relying on lightweight migration if possible. Throws an error if lightweight migration is impossible for the two DynamicSchema. This mapping is automatically used as a fallback mapping provider, even if no mapping providers are explicitly declared in the StorageInterface.

    "},"Classes/UserInfo.html":{"name":"UserInfo","abstract":"

    The UserInfo class is provided by several CoreStore types such as DataStack, ListMonitor, ObjectMonitor and transactions to allow external libraries or user apps to store their own custom data.

    "},"Classes/XcodeSchemaMappingProvider.html":{"name":"XcodeSchemaMappingProvider","abstract":"

    A SchemaMappingProvider that tries to infer model migration between two DynamicSchema versions by loading an xcmappingmodel file from the specified Bundle. Throws CoreStoreError.mappingModelNotFound if the xcmappingmodel file cannot be found, or if the xcmappingmodel doesn’t resolve the source and destination DynamicSchema.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Global Variables.html":{"name":"Global Variables","abstract":"

    The following global variables are available globally.

    "},"Enums.html":{"name":"Enumerations","abstract":"

    The following enumerations are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Functions.html":{"name":"Functions","abstract":"

    The following functions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "},"Typealiases.html":{"name":"Type Aliases","abstract":"

    The following type aliases are available globally.

    "}} \ No newline at end of file +{"Typealiases.html#/s:9CoreStore22XcodeDataModelFileNamea":{"name":"XcodeDataModelFileName","abstract":"

    A String that pertains to the name of an *.xcdatamodeld file (without the file extension).

    "},"Typealiases.html#/s:9CoreStore18ModelConfigurationa":{"name":"ModelConfiguration","abstract":"

    An Optional<String> that pertains to the name of a Configuration which particular groups of entities may belong to. When nil, pertains to the default configuration which includes all entities.

    "},"Typealiases.html#/s:9CoreStore12ModelVersiona":{"name":"ModelVersion","abstract":"

    An String that pertains to the name of a versioned *.xcdatamodeld file (without the file extension). Model version strings don’t necessarily have to be numeric or ordered in any way. The migration sequence will always be decided by (or the lack of) the MigrationChain.

    "},"Typealiases.html#/s:9CoreStore10EntityNamea":{"name":"EntityName","abstract":"

    An String that pertains to an Entity name.

    "},"Typealiases.html#/s:9CoreStore9ClassNamea":{"name":"ClassName","abstract":"

    An String that pertains to a dynamically-accessable class name (usable with NSClassFromString(…)).

    "},"Typealiases.html#/s:9CoreStore13KeyPathStringa":{"name":"KeyPathString","abstract":"

    An String that pertains to a attribute keyPaths.

    "},"Typealiases.html#/s:9CoreStore15MigrationResulta":{"name":"MigrationResult","abstract":"

    The MigrationResult indicates the result of a migration."},"Typealiases.html#/s:9CoreStore11SetupResulta":{"name":"SetupResult","abstract":"

    The SetupResult indicates the result of an asynchronous initialization of a persistent store."},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore25SectionMonitorBuilderTypeP4fromAA4FromVy06ObjectF0QzGvp":{"name":"from","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore25SectionMonitorBuilderTypeP9sectionByAA0cH0Vy06ObjectF0QzGvp":{"name":"sectionBy","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore25SectionMonitorBuilderTypeP12fetchClausesSayAA11FetchClause_pGvp":{"name":"fetchClauses","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV5whereyACyxGAA5WhereVyxGF":{"name":"where(_:)","abstract":"

    Adds a Where clause to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV5where6format_ACyxGSS_ypdtF":{"name":"where(format:_:)","abstract":"

    Adds a Where clause to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV5where6format13argumentArrayACyxGSS_SayypGSgtF":{"name":"where(format:argumentArray:)","abstract":"

    Adds a Where clause to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV7orderByyACyxGAA05OrderH0VyxGF":{"name":"orderBy(_:)","abstract":"

    Adds an OrderBy clause to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV7orderByyACyxGAA05OrderH0V7SortKeyVyx_G_AJdtF":{"name":"orderBy(_:_:)","abstract":"

    Adds an OrderBy clause to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV7orderByyACyxGSayAA05OrderH0V7SortKeyVyx_GGF":{"name":"orderBy(_:)","abstract":"

    Adds an OrderBy clause to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV5tweakyACyxGySo14NSFetchRequestCySo0hI6Result_pGcF":{"name":"tweak(_:)","abstract":"

    Adds a Tweak clause to the SectionMonitorChainBuilder with a closure where the NSFetchRequest may be configured

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV9appendingyACyxGAA11FetchClause_pF":{"name":"appending(_:)","abstract":"

    Appends a QueryClause to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderV9appending10contentsOfACyxGqd___tSTRd__AA11FetchClause_p7ElementRtd__lF":{"name":"appending(contentsOf:)","abstract":"

    Appends a series of QueryClauses to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/SectionMonitorChainBuilder.html#/s:9CoreStore26SectionMonitorChainBuilderVA2A0aB6ObjectCRbzrlE5whereyACyxGqd__xXEAA14AnyWhereClauseRd__lF":{"name":"where(_:)","abstract":"

    Adds a Where clause to the SectionMonitorChainBuilder

    ","parent_name":"SectionMonitorChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore25QueryChainableBuilderTypeP06ObjectF0Qa":{"name":"ObjectType","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore25QueryChainableBuilderTypeP06ResultF0Qa":{"name":"ResultType","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore25QueryChainableBuilderTypeP4fromAA4FromVy06ObjectF0QzGvp":{"name":"from","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore25QueryChainableBuilderTypeP6selectAA6SelectVy06ObjectF0Qz06ResultF0QzGvp":{"name":"select","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore25QueryChainableBuilderTypeP12queryClausesSayAA0C6Clause_pGvp":{"name":"queryClauses","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV5whereyACyxq_GAA5WhereVyxGF":{"name":"where(_:)","abstract":"

    Adds a Where clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV5where6format_ACyxq_GSS_ypdtF":{"name":"where(format:_:)","abstract":"

    Adds a Where clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV5where6format13argumentArrayACyxq_GSS_SayypGSgtF":{"name":"where(format:argumentArray:)","abstract":"

    Adds a Where clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV7orderByyACyxq_GAA05OrderG0VyxGF":{"name":"orderBy(_:)","abstract":"

    Adds an OrderBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV7orderByyACyxq_GAA05OrderG0V7SortKeyVyx_G_AJdtF":{"name":"orderBy(_:_:)","abstract":"

    Adds an OrderBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV7orderByyACyxq_GSayAA05OrderG0V7SortKeyVyx_GGF":{"name":"orderBy(_:)","abstract":"

    Adds an OrderBy clause to the QueryChainBuild

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV5tweakyACyxq_GySo14NSFetchRequestCySo0gH6Result_pGcF":{"name":"tweak(_:)","abstract":"

    Adds a Tweak clause to the QueryChainBuilder with a closure where the NSFetchRequest may be configured

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV7groupByyACyxq_GAA05GroupG0VyxGF":{"name":"groupBy(_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV7groupByyACyxq_GSS_SSdtF":{"name":"groupBy(_:_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV7groupByyACyxq_GSaySSGF":{"name":"groupBy(_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV9appendingyACyxq_GAA0C6Clause_pF":{"name":"appending(_:)","abstract":"

    Appends a QueryClause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderV9appending10contentsOfACyxq_Gqd___tSTRd__AA0C6Clause_p7ElementRtd__lF":{"name":"appending(contentsOf:)","abstract":"

    Appends a series of QueryClauses to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderVAASo15NSManagedObjectCRbzrlE7groupByyACyxq_Gs7KeyPathCyxqd__GlF":{"name":"groupBy(_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderVA2A0aB6ObjectCRbzrlE5whereyACyxq_Gqd__xXEAA14AnyWhereClauseRd__lF":{"name":"where(_:)","abstract":"

    Adds a Where clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderVA2A0aB6ObjectCRbzrlE7groupByyACyxq_Gs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GGAA23ImportableAttributeTypeRd__lF":{"name":"groupBy(_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderVA2A0aB6ObjectCRbzrlE7groupByyACyxq_Gs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GGAA23ImportableAttributeTypeRd__lF":{"name":"groupBy(_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderVA2A0aB6ObjectCRbzrlE7groupByyACyxq_Gs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GGSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"groupBy(_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/QueryChainBuilder.html#/s:9CoreStore17QueryChainBuilderVA2A0aB6ObjectCRbzrlE7groupByyACyxq_Gs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GGSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"groupBy(_:)","abstract":"

    Adds a GroupBy clause to the QueryChainBuilder

    ","parent_name":"QueryChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore25FetchChainableBuilderTypeP06ObjectF0Qa":{"name":"ObjectType","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore25FetchChainableBuilderTypeP4fromAA4FromVy06ObjectF0QzGvp":{"name":"from","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore25FetchChainableBuilderTypeP12fetchClausesSayAA0C6Clause_pGvp":{"name":"fetchClauses","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV5whereyACyxGAA5WhereVyxGF":{"name":"where(_:)","abstract":"

    Adds a Where clause to the FetchChainBuilder

    ","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV5where6format_ACyxGSS_ypdtF":{"name":"where(format:_:)","abstract":"

    Adds a Where clause to the FetchChainBuilder

    ","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV5where6format13argumentArrayACyxGSS_SayypGSgtF":{"name":"where(format:argumentArray:)","abstract":"

    Adds a Where clause to the FetchChainBuilder

    ","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV7orderByyACyxGAA05OrderG0VyxGF":{"name":"orderBy(_:)","abstract":"

    Adds an OrderBy clause to the FetchChainBuilder

    ","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV7orderByyACyxGAA05OrderG0V7SortKeyVyx_G_AJdtF":{"name":"orderBy(_:_:)","abstract":"

    Adds an OrderBy clause to the FetchChainBuilder

    ","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV7orderByyACyxGSayAA05OrderG0V7SortKeyVyx_GGF":{"name":"orderBy(_:)","abstract":"

    Adds an OrderBy clause to the FetchChainBuilder

    ","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV5tweakyACyxGySo14NSFetchRequestCySo0gH6Result_pGcF":{"name":"tweak(_:)","abstract":"

    Adds a Tweak clause to the FetchChainBuilder with a closure where the NSFetchRequest may be configured

    ","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV9appendingyACyxGAA0C6Clause_pF":{"name":"appending(_:)","abstract":"

    Appends a FetchClause to the FetchChainBuilder

    ","parent_name":"FetchChainBuilder"},"Structs/FetchChainBuilder.html#/s:9CoreStore17FetchChainBuilderV9appending10contentsOfACyxGqd___tSTRd__AA0C6Clause_p7ElementRtd__lF":{"name":"appending(contentsOf:)","abstract":"

    Appends a series of FetchClauses to the FetchChainBuilder

    ","parent_name":"FetchChainBuilder"},"Structs/VersionLock.html#/s:9CoreStore11VersionLockV11HashElementa":{"name":"HashElement","abstract":"

    The value type for the dictionary initializer, which is UInt64

    ","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:9CoreStore11VersionLockV18hashesByEntityNameSDySS10Foundation4DataVGvp":{"name":"hashesByEntityName","abstract":"

    The Data hash for each entity name.

    ","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:9CoreStore11VersionLockVyACSDySSSays6UInt64VGGcfc":{"name":"init(_:)","abstract":"

    Initializes a VersionLock with the version hash for each entity name.

    ","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:s30ExpressibleByDictionaryLiteralP3KeyQa":{"name":"Key","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:s30ExpressibleByDictionaryLiteralP5ValueQa":{"name":"Value","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:s30ExpressibleByDictionaryLiteralP010dictionaryD0x3KeyQz_5ValueQztd_tcfc":{"name":"init(dictionaryLiteral:)","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"VersionLock"},"Structs/VersionLock.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"VersionLock"},"Structs/Where/Expression.html#/s:9CoreStore5WhereV10ExpressionV5Traita":{"name":"Trait","abstract":"

    Currently supports SingleTarget and CollectionTarget.

    ","parent_name":"Expression"},"Structs/Where/Expression.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"Expression"},"Structs/Where/Expression.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"Expression"},"Structs/Where/Expression.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"Expression"},"Structs/Where/Expression.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"Expression"},"Structs/Where/Expression.html#/s:9CoreStore5WhereV10ExpressionVAASo15NSManagedObjectCRbzAC16CollectionTargetOyx_GRsd__AA39AllowedObjectiveCCollectionKeyPathValueRd_0_rlE5countAEyx_AJSiGyF":{"name":"count()","abstract":"

    Creates a Where.Expression clause for COUNT

    ","parent_name":"Expression"},"Structs/Where/Expression.html#/s:9CoreStore5WhereV10ExpressionVAASo15NSManagedObjectCRbzAC16CollectionTargetOyx_GRsd__AA29AllowedObjectiveCKeyPathValueRd_0_rlE3anyAEyx_AJqd_0_GyF":{"name":"any()","abstract":"

    Creates a Where.Expression clause for ANY

    ","parent_name":"Expression"},"Structs/Where/Expression.html#/s:9CoreStore5WhereV10ExpressionVAASo15NSManagedObjectCRbzAC16CollectionTargetOyx_GRsd__AA29AllowedObjectiveCKeyPathValueRd_0_rlE3allAEyx_AJqd_0_GyF":{"name":"all()","abstract":"

    Creates a Where.Expression clause for ALL

    ","parent_name":"Expression"},"Structs/Where/Expression.html#/s:9CoreStore5WhereV10ExpressionVAASo15NSManagedObjectCRbzAC16CollectionTargetOyx_GRsd__AA29AllowedObjectiveCKeyPathValueRd_0_rlE4noneAEyx_AJqd_0_GyF":{"name":"none()","abstract":"

    Creates a Where.Expression clause for NONE

    ","parent_name":"Expression"},"Structs/Where/Expression.html#/s:9CoreStore5WhereV10ExpressionVA2A0aB6ObjectCRbzAC16CollectionTargetOyx_GRsd__rlE5countAEyx_AJSiGyF":{"name":"count()","abstract":"

    Creates a Where.Expression clause for COUNT

    ","parent_name":"Expression"},"Structs/Where/Expression.html#/s:9CoreStore5WhereV10ExpressionVA2A0aB6ObjectCRbzAC16CollectionTargetOyx_GRsd__rlE3anyAEyx_AJqd_0_GyF":{"name":"any()","abstract":"

    Creates a Where.Expression clause for ANY

    ","parent_name":"Expression"},"Structs/Where/Expression.html#/s:9CoreStore5WhereV10ExpressionVA2A0aB6ObjectCRbzAC16CollectionTargetOyx_GRsd__rlE3allAEyx_AJqd_0_GyF":{"name":"all()","abstract":"

    Creates a Where.Expression clause for ALL

    ","parent_name":"Expression"},"Structs/Where/Expression.html#/s:9CoreStore5WhereV10ExpressionVA2A0aB6ObjectCRbzAC16CollectionTargetOyx_GRsd__rlE4noneAEyx_AJqd_0_GyF":{"name":"none()","abstract":"

    Creates a Where.Expression clause for NONE

    ","parent_name":"Expression"},"Structs/Where.html#/s:9CoreStore5WhereV2aaoiyACyxGAE_AEtFZ":{"name":"&&(_:_:)","abstract":"

    Combines two Where predicates together using AND operator

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV2oooiyACyxGAE_AEtFZ":{"name":"||(_:_:)","abstract":"

    Combines two Where predicates together using OR operator

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV1nopyACyxGAEFZ":{"name":"!(_:)","abstract":"

    Inverts the predicate of a Where clause using NOT operator

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV3aaqoiyACyxGAE_AESgtFZ":{"name":"&&?(_:_:)","abstract":"

    Combines two Where predicates together using AND operator.

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV3aaqoiyACyxGAESg_AEtFZ":{"name":"&&?(_:_:)","abstract":"

    Combines two Where predicates together using AND operator.

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV3ooqoiyACyxGAE_AESgtFZ":{"name":"||?(_:_:)","abstract":"

    Combines two Where predicates together using OR operator.

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV3ooqoiyACyxGAESg_AEtFZ":{"name":"||?(_:_:)","abstract":"

    Combines two Where predicates together using OR operator.

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVACyxGycfc":{"name":"init()","abstract":"

    Initializes a Where clause with a predicate that always evaluates to true

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVyACyxGADcfc":{"name":"init(_:)","abstract":"

    Initializes a Where clause with an existing Where clause.

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVyACyxGSbcfc":{"name":"init(_:)","abstract":"

    Initializes a Where clause with a predicate that always evaluates to the specified boolean value

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVyACyxGSS_ypdtcfc":{"name":"init(_:_:)","abstract":"

    Initializes a Where clause with a predicate using the specified string format and arguments

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_13argumentArrayACyxGSS_SayypGSgtcfc":{"name":"init(_:argumentArray:)","abstract":"

    Initializes a Where clause with a predicate using the specified string format and arguments

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_9isEqualToACyxGSS_ytSgtcfc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality to nil

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_9isEqualToACyxGSS_qd__SgtcAA22QueryableAttributeTypeRd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_9isEqualToACyxGSS_qd__SgtcAA13DynamicObjectRd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_9isEqualToACyxGSS_So17NSManagedObjectIDCtcfc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_10isMemberOfACyxGSS_qd__tcSTRd__AA22QueryableAttributeType7ElementRpd__lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_10isMemberOfACyxGSS_qd__tcSTRd__AA13DynamicObject7ElementRpd__lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV_10isMemberOfACyxGSS_qd__tcSTRd__So17NSManagedObjectIDC7ElementRcd__lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore14AnyWhereClauseP9predicateSo11NSPredicateCvp":{"name":"predicate","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore14AnyWhereClausePyxSo11NSPredicateCcfc":{"name":"init(_:)","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore15WhereClauseTypeP06ObjectE0Qa":{"name":"ObjectType","parent_name":"Where"},"Structs/Where.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"Where"},"Structs/Where.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"Where"},"Structs/Where.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"Where"},"Structs/Where/Expression.html":{"name":"Expression","abstract":"

    Type-safe keyPath chain usable in query/fetch expressions.

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV12SingleTargetO":{"name":"SingleTarget","abstract":"

    Used only for Where.Expression type constraints. Specifies that this Where.Expression type pertains to an attribute property expression.

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereV16CollectionTargetO":{"name":"CollectionTarget","abstract":"

    Used only for Where.Expression type constraints. Specifies that this Where.Expression type pertains to a to-many relationship expression.

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxqd__G_ytSgtcAA22QueryableAttributeTypeRd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality to nil

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxqd__G_ytSgtcAA07DynamicE0Rd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality to nil

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxqd__G_qd__SgtcAA22QueryableAttributeTypeRd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxqd__G_qd__SgtcAA07DynamicE0Rd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxqd__G_So0dE2IDCtcAA07DynamicE0Rd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_10isMemberOfACyxGs7KeyPathCyxqd__G_qd_0_tcAA22QueryableAttributeTypeRd__7ElementQyd_0_Rsd__STRd_0_r0_lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_10isMemberOfACyxGs7KeyPathCyxqd__G_qd_0_tcAA07DynamicE0Rd__7ElementQyd_0_Rsd__STRd_0_r0_lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVAASo15NSManagedObjectCRbzrlE_10isMemberOfACyxGs7KeyPathCyxqd__G_qd_0_tcAA07DynamicE0Rd__STRd_0_So0dE2IDC7ElementRcd_0_r0_lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_ytSgtcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality to nil

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxAA21RelationshipContainerO0G3OneCyx_qd__GG_ytSgtcAERbd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality to nil

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_qd__SgtcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_qd__SgtcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxAA21RelationshipContainerO0G3OneCyx_qd__GG_qd__SgtcAERbd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_9isEqualToACyxGs7KeyPathCyxAA21RelationshipContainerO0G3OneCyx_qd__GG_So09NSManagedD2IDCtcAERbd__lufc":{"name":"init(_:isEqualTo:)","abstract":"

    Initializes a Where clause that compares equality

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_10isMemberOfACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_qd_0_tcAA23ImportableAttributeTypeRd__7ElementQyd_0_Rsd__STRd_0_r0_lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_10isMemberOfACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_qd_0_tcAA23ImportableAttributeTypeRd__7ElementQyd_0_Rsd__STRd_0_r0_lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_10isMemberOfACyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_qd__GG_qd_0_tcAERbd__7ElementQyd_0_Rsd__STRd_0_r0_lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlE_10isMemberOfACyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_qd__GG_qd_0_tcAERbd__STRd_0_So09NSManagedD2IDC7ElementRcd_0_r0_lufc":{"name":"init(_:isMemberOf:)","abstract":"

    Initializes a Where clause that compares membership

    ","parent_name":"Where"},"Structs/Where.html#/s:9CoreStore5WhereVA2A0aB6ObjectCRbzrlEyACyxGAFxXEcfc":{"name":"init(_:)","abstract":"

    Initializes a Where clause from a closure

    ","parent_name":"Where"},"Structs/Select.html#/s:9CoreStore6SelectVyACyxq_GAA0C4TermOyxG_AGdtcfc":{"name":"init(_:_:)","abstract":"

    Initializes a Select clause with a list of SelectTerms

    ","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore6SelectVyACyxq_GSayAA0C4TermOyxGGcfc":{"name":"init(_:)","abstract":"

    Initializes a Select clause with a list of SelectTerms

    ","parent_name":"Select"},"Structs/Select.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore12SelectClauseP10ObjectTypeQa":{"name":"ObjectType","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore12SelectClauseP10ReturnTypeQa":{"name":"ReturnType","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore12SelectClauseP11selectTermsSayAA0C4TermOy10ObjectTypeQzGGvp":{"name":"selectTerms","parent_name":"Select"},"Structs/Select.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"Select"},"Structs/Select.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore6SelectVAASo17NSManagedObjectIDCRb_rlEACyxq_Gycfc":{"name":"init()","abstract":"

    Initializes a Select that queries for NSManagedObjectID results

    ","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore6SelectVAASo15NSManagedObjectCRbzrlEyACyxq_Gs7KeyPathCyxq_Gcfc":{"name":"init(_:)","abstract":"

    Initializes a Select that queries the value of an attribute pertained by a keyPath

    ","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore6SelectVA2A0aB6ObjectCRbzAA23ImportableAttributeTypeR_rlEyACyxq_Gs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GGcfc":{"name":"init(_:)","abstract":"

    Initializes a Select that queries the value of an attribute pertained by a keyPath

    ","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore6SelectVA2A0aB6ObjectCRbzAA23ImportableAttributeTypeR_rlEyACyxq_Gs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GGcfc":{"name":"init(_:)","abstract":"

    Initializes a Select that queries the value of an attribute pertained by a keyPath

    ","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore6SelectVA2A0aB6ObjectCRbzAA23ImportableAttributeTypeR_So8NSCodingR_So9NSCopyingR_rlEyACyxq_Gs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_q_GGcfc":{"name":"init(_:)","abstract":"

    Initializes a Select that queries the value of an attribute pertained by a keyPath

    ","parent_name":"Select"},"Structs/Select.html#/s:9CoreStore6SelectVA2A0aB6ObjectCRbzAA23ImportableAttributeTypeR_So8NSCodingR_So9NSCopyingR_rlEyACyxq_Gs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_q_GGcfc":{"name":"init(_:)","abstract":"

    Initializes a Select that queries the value of an attribute pertained by a keyPath

    ","parent_name":"Select"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVyACyxGSScfc":{"name":"init(_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVyACyxGSS_SSSgAEctcfc":{"name":"init(_:_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVAASo15NSManagedObjectCRbzrlEyACyxGs7KeyPathCyxqd__Gclufc":{"name":"init(_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVAASo15NSManagedObjectCRbzrlEyACyxGs7KeyPathCyxqd__G_SSSgAJctclufc":{"name":"init(_:_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GGcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GGcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GGcSo8NSCodingRd__So9NSCopyingRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GGcSo8NSCodingRd__So9NSCopyingRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_SSSgAOctcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_SSSgAOctcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GG_SSSgAOctcSo8NSCodingRd__So9NSCopyingRd__lufc":{"name":"init(_:_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"SectionBy"},"Structs/SectionBy.html#/s:9CoreStore9SectionByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GG_SSSgAOctcSo8NSCodingRd__So9NSCopyingRd__lufc":{"name":"init(_:_:)","abstract":"

    Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"SectionBy"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV08completeD0xyF":{"name":"completeObject()","abstract":"

    Returns a the actual CoreStoreObject instance for the receiver.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV5value3forqd__AA14ValueContainerO8RequiredCyx_qd__GxXE_tAA23ImportableAttributeTypeRd__lF":{"name":"value(for:)","abstract":"

    Returns the value for the property identified by a given key.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV8setValue_3foryqd___AA0F9ContainerO8RequiredCyx_qd__GxXEtAA23ImportableAttributeTypeRd__lF":{"name":"setValue(_:for:)","abstract":"

    Sets the property of the receiver specified by a given key to a given value.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV14primitiveValue3forqd__AA0F9ContainerO8RequiredCyx_qd__GxXE_tAA23ImportableAttributeTypeRd__lF":{"name":"primitiveValue(for:)","abstract":"

    Returns the value for the specified property from the managed object’s private internal storage.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV17setPrimitiveValue_3foryqd___AA0G9ContainerO8RequiredCyx_qd__GxXEtAA23ImportableAttributeTypeRd__lF":{"name":"setPrimitiveValue(_:for:)","abstract":"

    Sets in the object’s private internal storage the value of a given property.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV5value3forqd__SgAA14ValueContainerO8OptionalCyx_qd__GxXE_tAA23ImportableAttributeTypeRd__lF":{"name":"value(for:)","abstract":"

    Returns the value for the property identified by a given key.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV8setValue_3foryqd__Sg_AA0F9ContainerO8OptionalCyx_qd__GxXEtAA23ImportableAttributeTypeRd__lF":{"name":"setValue(_:for:)","abstract":"

    Sets the property of the receiver specified by a given key to a given value.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV14primitiveValue3forqd__SgAA0F9ContainerO8OptionalCyx_qd__GxXE_tAA23ImportableAttributeTypeRd__lF":{"name":"primitiveValue(for:)","abstract":"

    Returns the value for the specified property from the managed object’s private internal storage.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV17setPrimitiveValue_3foryqd__Sg_AA0G9ContainerO8OptionalCyx_qd__GxXEtAA23ImportableAttributeTypeRd__lF":{"name":"setPrimitiveValue(_:for:)","abstract":"

    Sets in the object’s private internal storage the value of a given property.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV5value3forqd__AA22TransformableContainerO8RequiredCyx_qd__GxXE_tSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"value(for:)","abstract":"

    Returns the value for the property identified by a given key.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV8setValue_3foryqd___AA22TransformableContainerO8RequiredCyx_qd__GxXEtSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"setValue(_:for:)","abstract":"

    Sets the property of the receiver specified by a given key to a given value.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV14primitiveValue3forqd__AA22TransformableContainerO8RequiredCyx_qd__GxXE_tSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"primitiveValue(for:)","abstract":"

    Returns the value for the specified property from the managed object’s private internal storage.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV17setPrimitiveValue_3foryqd___AA22TransformableContainerO8RequiredCyx_qd__GxXEtSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"setPrimitiveValue(_:for:)","abstract":"

    Sets in the object’s private internal storage the value of a given property.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV5value3forqd__SgAA22TransformableContainerO8OptionalCyx_qd__GxXE_tSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"value(for:)","abstract":"

    Returns the value for the property identified by a given key.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV8setValue_3foryqd__Sg_AA22TransformableContainerO8OptionalCyx_qd__GxXEtSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"setValue(_:for:)","abstract":"

    Sets the property of the receiver specified by a given key to a given value.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV14primitiveValue3forqd__SgAA22TransformableContainerO8OptionalCyx_qd__GxXE_tSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"primitiveValue(for:)","abstract":"

    Returns the value for the specified property from the managed object’s private internal storage.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:9CoreStore13PartialObjectV17setPrimitiveValue_3foryqd__Sg_AA22TransformableContainerO8OptionalCyx_qd__GxXEtSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"setPrimitiveValue(_:for:)","abstract":"

    Sets in the object’s private internal storage the value of a given property.

    ","parent_name":"PartialObject"},"Structs/PartialObject.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"PartialObject"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV9ascendingyAEyx_GSSFZ":{"name":"ascending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in ascending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV10descendingyAEyx_GSSFZ":{"name":"descending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in descending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV9ascendingyAEyx_Gs0F4PathCyxqd__GSo15NSManagedObjectCRbzlFZ":{"name":"ascending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in ascending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV10descendingyAEyx_Gs0F4PathCyxqd__GSo15NSManagedObjectCRbzlFZ":{"name":"descending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in descending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV9ascendingyAEyx_Gs0F4PathCyxAA14ValueContainerO8RequiredCyx_qd__GGAA0aB6ObjectCRbzAA23ImportableAttributeTypeRd__lFZ":{"name":"ascending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in ascending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV9ascendingyAEyx_Gs0F4PathCyxAA14ValueContainerO8OptionalCyx_qd__GGAA0aB6ObjectCRbzAA23ImportableAttributeTypeRd__lFZ":{"name":"ascending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in ascending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV9ascendingyAEyx_Gs0F4PathCyxAA22TransformableContainerO8RequiredCyx_qd__GGAA0aB6ObjectCRbzSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"ascending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in ascending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV9ascendingyAEyx_Gs0F4PathCyxAA22TransformableContainerO8OptionalCyx_qd__GGAA0aB6ObjectCRbzSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"ascending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in ascending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV10descendingyAEyx_Gs0F4PathCyxAA14ValueContainerO8RequiredCyx_qd__GGAA0aB6ObjectCRbzAA23ImportableAttributeTypeRd__lFZ":{"name":"descending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in descending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV10descendingyAEyx_Gs0F4PathCyxAA14ValueContainerO8OptionalCyx_qd__GGAA0aB6ObjectCRbzAA23ImportableAttributeTypeRd__lFZ":{"name":"descending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in descending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV10descendingyAEyx_Gs0F4PathCyxAA22TransformableContainerO8RequiredCyx_qd__GGAA0aB6ObjectCRbzSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"descending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in descending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyV10descendingyAEyx_Gs0F4PathCyxAA22TransformableContainerO8OptionalCyx_qd__GGAA0aB6ObjectCRbzSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"descending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in descending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyVA2A0aB6ObjectCRbzrlE9ascendingyAEyx_Gqd__xXEAA07DynamicF4PathRd__lFZ":{"name":"ascending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in ascending order

    ","parent_name":"SortKey"},"Structs/OrderBy/SortKey.html#/s:9CoreStore7OrderByV7SortKeyVA2A0aB6ObjectCRbzrlE10descendingyAEyx_Gqd__xXEAA07DynamicF4PathRd__lFZ":{"name":"descending(_:)","abstract":"

    Indicates that the KeyPathString should be sorted in descending order

    ","parent_name":"SortKey"},"Structs/OrderBy.html#/s:9CoreStore7OrderByV1poiyACyxGAE_AEtFZ":{"name":"+(_:_:)","abstract":"

    Combines two OrderBy sort descriptors together

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore7OrderByV2peoiyyACyxGz_AEtFZ":{"name":"+=(_:_:)","abstract":"

    Combines two OrderBy sort descriptors together and stores the result to the left operand

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore7OrderByVACyxGycfc":{"name":"init()","abstract":"

    Initializes a OrderBy clause with an empty list of sort descriptors

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore7OrderByVyACyxGSo16NSSortDescriptorCcfc":{"name":"init(_:)","abstract":"

    Initializes a OrderBy clause with a single sort descriptor

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore7OrderByVyACyxGSaySo16NSSortDescriptorCGcfc":{"name":"init(_:)","abstract":"

    Initializes a OrderBy clause with a list of sort descriptors

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore7OrderByVyACyxGSayAC7SortKeyVyx_GGcfc":{"name":"init(_:)","abstract":"

    Initializes a OrderBy clause with a series of SortKeys

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore7OrderByVyACyxGAC7SortKeyVyx_G_AGdtcfc":{"name":"init(_:_:)","abstract":"

    Initializes a OrderBy clause with a series of SortKeys

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore13OrderByClauseP10ObjectTypeQa":{"name":"ObjectType","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:9CoreStore13OrderByClauseP15sortDescriptorsSaySo16NSSortDescriptorCGvp":{"name":"sortDescriptors","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"OrderBy"},"Structs/OrderBy/SortKey.html":{"name":"SortKey","abstract":"

    The SortKey is passed to the OrderBy clause to indicate the sort keys and their sort direction.

    ","parent_name":"OrderBy"},"Structs/OrderBy.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"OrderBy"},"Structs/MigrationChain.html#/s:9CoreStore14MigrationChainVACycfc":{"name":"init()","abstract":"

    Initializes the MigrationChain with empty values, which instructs the DataStack to use the .xcdatamodel’s current version as the final version, and to disable progressive migrations.

    ","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:9CoreStore14MigrationChainVyACSScfc":{"name":"init(_:)","abstract":"

    Initializes the MigrationChain with a single model version, which instructs the DataStack to use the the specified version as the final version, and to disable progressive migrations.

    ","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:9CoreStore14MigrationChainVyACxcSlRzSS7ElementRtzlufc":{"name":"init(_:)","abstract":"

    Initializes the MigrationChain with a linear order of versions, which becomes the order of the DataStack‘s progressive migrations.

    ","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:9CoreStore14MigrationChainVyACSaySS_SStGcfc":{"name":"init(_:)","abstract":"

    Initializes the MigrationChain with a version tree, which becomes the order of the DataStack‘s progressive migrations.

    ","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:9CoreStore14MigrationChainVyACSDyS2SGcfc":{"name":"init(_:)","abstract":"

    Initializes the MigrationChain with a version tree, which becomes the order of the DataStack‘s progressive migrations.

    ","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:s23ExpressibleByNilLiteralP03nilD0xyt_tcfc":{"name":"init(nilLiteral:)","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:s26ExpressibleByStringLiteralP06stringD0x0cD4TypeQz_tcfc":{"name":"init(stringLiteral:)","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:s43ExpressibleByExtendedGraphemeClusterLiteralP08extendeddeF0x0cdeF4TypeQz_tcfc":{"name":"init(extendedGraphemeClusterLiteral:)","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:s33ExpressibleByUnicodeScalarLiteralP07unicodedE0x0cdE4TypeQz_tcfc":{"name":"init(unicodeScalarLiteral:)","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:s30ExpressibleByDictionaryLiteralP010dictionaryD0x3KeyQz_5ValueQztd_tcfc":{"name":"init(dictionaryLiteral:)","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:s25ExpressibleByArrayLiteralP05arrayD0x0cD7ElementQzd_tcfc":{"name":"init(arrayLiteral:)","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"MigrationChain"},"Structs/MigrationChain.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MigrationChain"},"Structs/LocalStorageOptions.html#/s:9CoreStore19LocalStorageOptionsV4noneACvpZ":{"name":"none","abstract":"

    Tells the DataStack that the store should not be migrated or recreated, and should simply fail on model mismatch

    ","parent_name":"LocalStorageOptions"},"Structs/LocalStorageOptions.html#/s:9CoreStore19LocalStorageOptionsV08recreateB15OnModelMismatchACvpZ":{"name":"recreateStoreOnModelMismatch","abstract":"

    Tells the DataStack to delete and recreate the store on model mismatch, otherwise exceptions will be thrown on failure instead

    ","parent_name":"LocalStorageOptions"},"Structs/LocalStorageOptions.html#/s:9CoreStore19LocalStorageOptionsV27preventProgressiveMigrationACvpZ":{"name":"preventProgressiveMigration","abstract":"

    Tells the DataStack to prevent progressive migrations for the store

    ","parent_name":"LocalStorageOptions"},"Structs/LocalStorageOptions.html#/s:9CoreStore19LocalStorageOptionsV36allowSynchronousLightweightMigrationACvpZ":{"name":"allowSynchronousLightweightMigration","abstract":"

    Tells the DataStack to allow lightweight migration for the store when added synchronously

    ","parent_name":"LocalStorageOptions"},"Structs/LocalStorageOptions.html#/s:s9OptionSetP8rawValuex03RawD0Qz_tcfc":{"name":"init(rawValue:)","parent_name":"LocalStorageOptions"},"Structs/LocalStorageOptions.html#/s:SY8rawValue03RawB0Qzvp":{"name":"rawValue","parent_name":"LocalStorageOptions"},"Structs/LocalStorageOptions.html#/s:s23ExpressibleByNilLiteralP03nilD0xyt_tcfc":{"name":"init(nilLiteral:)","parent_name":"LocalStorageOptions"},"Structs/LocalStorageOptions.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"LocalStorageOptions"},"Structs/Into.html#/s:9CoreStore4IntoV11entityClassxmvp":{"name":"entityClass","abstract":"

    The associated NSManagedObject or CoreStoreObject entity class

    ","parent_name":"Into"},"Structs/Into.html#/s:9CoreStore4IntoV13configurationSSSgvp":{"name":"configuration","abstract":"

    The NSPersistentStore configuration name to associate objects from.","parent_name":"Into"},"Structs/Into.html#/s:9CoreStore4IntoVACyxGycfc":{"name":"init()","abstract":"

    Initializes an Into clause.

    ","parent_name":"Into"},"Structs/Into.html#/s:9CoreStore4IntoVyACyxGxmcfc":{"name":"init(_:)","abstract":"

    Initializes an Into clause with the specified entity type. This is useful for querying a subclass while binding the generic type with a base class.

    ","parent_name":"Into"},"Structs/Into.html#/s:9CoreStore4IntoVyACyxGSSSgcfc":{"name":"init(_:)","abstract":"

    Initializes an Into clause with the specified configuration.

    ","parent_name":"Into"},"Structs/Into.html#/s:9CoreStore4IntoVyACyxGxm_SSSgtcfc":{"name":"init(_:_:)","abstract":"

    Initializes an Into clause with the specified entity type and configuration. This is useful for querying a subclass while binding the generic type with a base class.

    ","parent_name":"Into"},"Structs/Into.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"Into"},"Structs/Into.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"Into"},"Structs/Into.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"Into"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVACyxGycfc":{"name":"init()","abstract":"

    Initializes a GroupBy clause with an empty list of key path strings

    ","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVyACyxGSS_SSdtcfc":{"name":"init(_:_:)","abstract":"

    Initializes a GroupBy clause with a list of key path strings

    ","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVyACyxGSaySSGcfc":{"name":"init(_:)","abstract":"

    Initializes a GroupBy clause with a list of key path strings

    ","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore13GroupByClauseP10ObjectTypeQa":{"name":"ObjectType","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore13GroupByClauseP8keyPathsSaySSGvp":{"name":"keyPaths","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVAASo15NSManagedObjectCRbzrlEyACyxGs7KeyPathCyxqd__Gclufc":{"name":"init(_:)","abstract":"

    Initializes a GroupBy clause with a key path

    ","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GGcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a GroupBy clause with a key path

    ","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GGcAA23ImportableAttributeTypeRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a GroupBy clause with a key path

    ","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GGcSo8NSCodingRd__So9NSCopyingRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a GroupBy clause with a key path

    ","parent_name":"GroupBy"},"Structs/GroupBy.html#/s:9CoreStore7GroupByVA2A0aB6ObjectCRbzrlEyACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GGcSo8NSCodingRd__So9NSCopyingRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a GroupBy clause with a key path

    ","parent_name":"GroupBy"},"Structs/From.html#/s:9CoreStore4FromV11entityClassxmvp":{"name":"entityClass","abstract":"

    The associated NSManagedObject or CoreStoreObject entity class

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV14configurationsSaySSSgGSgvp":{"name":"configurations","abstract":"

    The NSPersistentStore configuration names to associate objects from.","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVACyxGycfc":{"name":"init()","abstract":"

    Initializes a From clause.

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVyACyxGxmcfc":{"name":"init(_:)","abstract":"

    Initializes a From clause with the specified entity type.

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVyACyxGSSSg_AEdtcfc":{"name":"init(_:_:)","abstract":"

    Initializes a From clause with the specified configurations.

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVyACyxGSaySSSgGcfc":{"name":"init(_:)","abstract":"

    Initializes a From clause with the specified configurations.

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVyACyxGxm_SSSgAEdtcfc":{"name":"init(_:_:_:)","abstract":"

    Initializes a From clause with the specified configurations.

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVyACyxGxm_SaySSSgGtcfc":{"name":"init(_:_:)","abstract":"

    Initializes a From clause with the specified configurations.

    ","parent_name":"From"},"Structs/From.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV5whereyAA17FetchChainBuilderVyxGAA5WhereVyxGF":{"name":"where(_:)","abstract":"

    Creates a FetchChainBuilder that starts with the specified Where clause

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV5where6format_AA17FetchChainBuilderVyxGSS_ypdtF":{"name":"where(format:_:)","abstract":"

    Creates a FetchChainBuilder with a predicate using the specified string format and arguments

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV5where6format13argumentArrayAA17FetchChainBuilderVyxGSS_SayypGSgtF":{"name":"where(format:argumentArray:)","abstract":"

    Creates a FetchChainBuilder with a predicate using the specified string format and arguments

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV7orderByyAA17FetchChainBuilderVyxGAA05OrderE0VyxGF":{"name":"orderBy(_:)","abstract":"

    Creates a FetchChainBuilder that starts with the specified OrderBy clause.

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV7orderByyAA17FetchChainBuilderVyxGAA05OrderE0V7SortKeyVyx_G_ALdtF":{"name":"orderBy(_:_:)","abstract":"

    Creates a FetchChainBuilder with a series of SortKeys

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV7orderByyAA17FetchChainBuilderVyxGSayAA05OrderE0V7SortKeyVyx_GGF":{"name":"orderBy(_:)","abstract":"

    Creates a FetchChainBuilder with a series of SortKeys

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV5tweakyAA17FetchChainBuilderVyxGySo14NSFetchRequestCySo0hI6Result_pGcF":{"name":"tweak(_:)","abstract":"

    Creates a FetchChainBuilder with a closure where the NSFetchRequest may be configured

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV9appendingyAA17FetchChainBuilderVyxGAA0E6Clause_pF":{"name":"appending(_:)","abstract":"

    Creates a FetchChainBuilder and immediately appending a FetchClause

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV9appending10contentsOfAA17FetchChainBuilderVyxGqd___tSTRd__AA0G6Clause_p7ElementRtd__lF":{"name":"appending(contentsOf:)","abstract":"

    Creates a FetchChainBuilder and immediately appending a series of FetchClauses

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV6selectyAA17QueryChainBuilderVyxqd__GAA6SelectVyxqd__GAA0H10ResultTypeRd__lF":{"name":"select(_:)","abstract":"

    Creates a QueryChainBuilder that starts with the specified Select clause

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV6selectyAA17QueryChainBuilderVyxqd__Gqd__m_AA10SelectTermOyxGAJdtAA0H10ResultTypeRd__lF":{"name":"select(_:_:_:)","abstract":"

    Creates a QueryChainBuilder that starts with a Select clause created from the specified SelectTerms

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV6selectyAA17QueryChainBuilderVyxqd__Gqd__m_SayAA10SelectTermOyxGGtAA0H10ResultTypeRd__lF":{"name":"select(_:_:)","abstract":"

    Creates a QueryChainBuilder that starts with a Select clause created from the specified SelectTerms

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV9sectionByyAA26SectionMonitorChainBuilderVyxGAA0fE0VyxGF":{"name":"sectionBy(_:)","abstract":"

    Creates a SectionMonitorChainBuilder that starts with the SectionBy to use to group ListMonitor objects into sections

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV9sectionByyAA26SectionMonitorChainBuilderVyxGSSF":{"name":"sectionBy(_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromV9sectionByyAA26SectionMonitorChainBuilderVyxGSS_SSSgAHctF":{"name":"sectionBy(_:_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVAASo15NSManagedObjectCRbzrlE6selectyAA17QueryChainBuilderVyxqd__Gs7KeyPathCyxqd__GAA16SelectResultTypeRd__lF":{"name":"select(_:)","abstract":"

    Creates a QueryChainBuilder that starts with a Select clause created from the specified key path

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVAASo15NSManagedObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxqd__GlF":{"name":"sectionBy(_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVAASo15NSManagedObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxqd__G_SSSgAMctlF":{"name":"sectionBy(_:_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE5whereyAA17FetchChainBuilderVyxGqd__xXEAA14AnyWhereClauseRd__lF":{"name":"where(_:)","abstract":"

    Creates a FetchChainBuilder that starts with the specified Where clause

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE6selectyAA17QueryChainBuilderVyxqd__Gs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GGAA23ImportableAttributeTypeRd__lF":{"name":"select(_:)","abstract":"

    Creates a QueryChainBuilder that starts with a Select clause created from the specified key path

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE6selectyAA17QueryChainBuilderVyxqd__Gs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GGAA23ImportableAttributeTypeRd__lF":{"name":"select(_:)","abstract":"

    Creates a QueryChainBuilder that starts with a Select clause created from the specified key path

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE6selectyAA17QueryChainBuilderVyxqd__Gs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GGAA16SelectResultTypeRd__So8NSCodingRd__So9NSCopyingRd__lF":{"name":"select(_:)","abstract":"

    Creates a QueryChainBuilder that starts with a Select clause created from the specified key path

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE6selectyAA17QueryChainBuilderVyxqd__Gs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GGAA16SelectResultTypeRd__So8NSCodingRd__So9NSCopyingRd__lF":{"name":"select(_:)","abstract":"

    Creates a QueryChainBuilder that starts with a Select clause created from the specified key path

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GGAA23ImportableAttributeTypeRd__lF":{"name":"sectionBy(_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GGAA23ImportableAttributeTypeRd__lF":{"name":"sectionBy(_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GGSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"sectionBy(_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GGSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"sectionBy(_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_SSSgARctAA23ImportableAttributeTypeRd__lF":{"name":"sectionBy(_:_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_SSSgARctAA23ImportableAttributeTypeRd__lF":{"name":"sectionBy(_:_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GG_SSSgARctSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"sectionBy(_:_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"From"},"Structs/From.html#/s:9CoreStore4FromVA2A0aB6ObjectCRbzrlE9sectionByyAA26SectionMonitorChainBuilderVyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GG_SSSgARctSo8NSCodingRd__So9NSCopyingRd__lF":{"name":"sectionBy(_:_:)","abstract":"

    Creates a SectionMonitorChainBuilder with the key path to use to group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"From"},"Structs/CloudStorageOptions.html#/s:9CoreStore19CloudStorageOptionsV4noneACvpZ":{"name":"none","abstract":"

    Tells the DataStack that the store should not be migrated or recreated, and should simply fail on model mismatch

    ","parent_name":"CloudStorageOptions"},"Structs/CloudStorageOptions.html#/s:9CoreStore19CloudStorageOptionsV013recreateLocalB15OnModelMismatchACvpZ":{"name":"recreateLocalStoreOnModelMismatch","abstract":"

    Tells the DataStack to delete and recreate the local store from the cloud store on model mismatch, otherwise exceptions will be thrown on failure instead

    ","parent_name":"CloudStorageOptions"},"Structs/CloudStorageOptions.html#/s:9CoreStore19CloudStorageOptionsV36allowSynchronousLightweightMigrationACvpZ":{"name":"allowSynchronousLightweightMigration","abstract":"

    Tells the DataStack to allow lightweight migration for the store when added synchronously

    ","parent_name":"CloudStorageOptions"},"Structs/CloudStorageOptions.html#/s:s9OptionSetP8rawValuex03RawD0Qz_tcfc":{"name":"init(rawValue:)","parent_name":"CloudStorageOptions"},"Structs/CloudStorageOptions.html#/s:SY8rawValue03RawB0Qzvp":{"name":"rawValue","parent_name":"CloudStorageOptions"},"Structs/CloudStorageOptions.html#/s:s23ExpressibleByNilLiteralP03nilD0xyt_tcfc":{"name":"init(nilLiteral:)","parent_name":"CloudStorageOptions"},"Structs/CloudStorageOptions.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"CloudStorageOptions"},"Structs/Tweak.html#/s:9CoreStore5TweakV7closureyySo14NSFetchRequestCySo0eF6Result_pGcvp":{"name":"closure","abstract":"

    The block to customize the NSFetchRequest

    ","parent_name":"Tweak"},"Structs/Tweak.html#/s:9CoreStore5TweakVyACySo14NSFetchRequestCySo0dE6Result_pGccfc":{"name":"init(_:)","abstract":"

    Initializes a Tweak clause with a closure where the NSFetchRequest may be configured.

    ","parent_name":"Tweak"},"Structs/Tweak.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"Tweak"},"Structs/Tweak.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"Tweak"},"Structs/Tweak.html":{"name":"Tweak","abstract":"

    The Tweak clause allows fine-tuning the NSFetchRequest for a fetch or query."},"Structs/CloudStorageOptions.html":{"name":"CloudStorageOptions","abstract":"

    The CloudStorageOptions provides settings that tells the DataStack how to setup the persistent store for LocalStorage implementers.

    "},"Structs/From.html":{"name":"From","abstract":"

    A From clause specifies the source entity and source persistent store for fetch and query methods. A common usage is to just indicate the entity:

    "},"Structs/GroupBy.html":{"name":"GroupBy","abstract":"

    The GroupBy clause specifies that the result of a query be grouped accoording to the specified key path.

    "},"Structs/Into.html":{"name":"Into","abstract":"

    An Into clause contains the destination entity and destination persistent store for a create(...) method. A common usage is to just indicate the entity:

    "},"Structs/LocalStorageOptions.html":{"name":"LocalStorageOptions","abstract":"

    The LocalStorageOptions provides settings that tells the DataStack how to setup the persistent store for LocalStorage implementers.

    "},"Structs/MigrationChain.html":{"name":"MigrationChain","abstract":"

    A MigrationChain indicates the sequence of model versions to be used as the order for progressive migrations. This is typically passed to the SchemaHistory or the DataStack initializer and will be applied to all stores added to the DataStack with addStorage(...) and its variants.

    "},"Structs/OrderBy.html":{"name":"OrderBy","abstract":"

    The OrderBy clause specifies the sort order for results for a fetch or a query.

    "},"Structs/PartialObject.html":{"name":"PartialObject","abstract":"

    A PartialObject is only used when overriding getters and setters for CoreStoreObject properties. Custom getters and setters are implemented as a closure that overrides the default property getter/setter. The closure receives a PartialObject<O>, which acts as a fast, type-safe KVC interface for CoreStoreObject. The reason a CoreStoreObject instance is not passed directly is because the Core Data runtime is not aware of CoreStoreObject properties’ static typing, and so loading those info everytime KVO invokes this accessor method incurs a heavy performance hit (especially in KVO-heavy operations such as ListMonitor observing.) When accessing the property value from PartialObject<O>, make sure to use PartialObject<O>.persistentValue(for:) instead of PartialObject<O>.value(for:), which would unintentionally execute the same closure again recursively.

    "},"Structs/SectionBy.html":{"name":"SectionBy","abstract":"

    The SectionBy clause indicates the key path to use to group the ListMonitor objects into sections. An optional closure can also be provided to transform the value into an appropriate section name:

    "},"Structs/Select.html":{"name":"Select","abstract":"

    The Select clause indicates the attribute / aggregate value to be queried. The generic type is a SelectResultType, and will be used as the return type for the query.

    "},"Structs/Where.html":{"name":"Where","abstract":"

    The Where clause specifies the conditions for a fetch or a query.

    "},"Structs/VersionLock.html":{"name":"VersionLock","abstract":"

    The VersionLock contains the version hashes for entities. This is then passed to the CoreStoreSchema, which contains all entities for the store. An assertion will be raised if any Entity doesn’t match the version hash.

    "},"Structs/FetchChainBuilder.html":{"name":"FetchChainBuilder","abstract":"

    The fetch builder type used for fetches. A FetchChainBuilder is created from a From clause.

    "},"Structs/QueryChainBuilder.html":{"name":"QueryChainBuilder","abstract":"

    The fetch builder type used for a queries. A QueryChainBuilder is created from a From clause and then a select(...) chain.

    "},"Structs/SectionMonitorChainBuilder.html":{"name":"SectionMonitorChainBuilder","abstract":"

    The fetch builder type used for a sectioned ListMonitor. A SectionMonitorChainBuilder is created from a From clause and then a sectionBy(...) chain.

    "},"Protocols/WhereClauseType.html#/s:9CoreStore15WhereClauseTypeP06ObjectE0Qa":{"name":"ObjectType","abstract":"

    The DynamicObject type associated with the clause

    ","parent_name":"WhereClauseType"},"Protocols/WhereClauseType.html#/s:9CoreStore15WhereClauseTypePAAE2aaoiyAA0C0Vy06ObjectE0QzGx_qd__tAaBRd__lFZ":{"name":"&&(_:_:)","abstract":"

    Combines two Where predicates together using AND operator.

    ","parent_name":"WhereClauseType"},"Protocols/WhereClauseType.html#/s:9CoreStore15WhereClauseTypePAAE2aaoiyAA0C0Vy06ObjectE0QzGqd___xtAaBRd__lFZ":{"name":"&&(_:_:)","abstract":"

    Combines two Where predicates together using AND operator.

    ","parent_name":"WhereClauseType"},"Protocols/WhereClauseType.html#/s:9CoreStore15WhereClauseTypePAAE2oooiyAA0C0Vy06ObjectE0QzGx_qd__tAaBRd__lFZ":{"name":"||(_:_:)","abstract":"

    Combines two Where predicates together using OR operator.

    ","parent_name":"WhereClauseType"},"Protocols/WhereClauseType.html#/s:9CoreStore15WhereClauseTypePAAE2oooiyAA0C0Vy06ObjectE0QzGqd___xtAaBRd__lFZ":{"name":"||(_:_:)","abstract":"

    Combines two Where predicates together using OR operator.

    ","parent_name":"WhereClauseType"},"Protocols/AnyWhereClause.html#/s:9CoreStore14AnyWhereClauseP9predicateSo11NSPredicateCvp":{"name":"predicate","abstract":"

    The NSPredicate for the fetch or query

    ","parent_name":"AnyWhereClause"},"Protocols/AnyWhereClause.html#/s:9CoreStore14AnyWhereClausePyxSo11NSPredicateCcfc":{"name":"init(_:)","abstract":"

    Initializes a Where clause with an NSPredicate

    ","parent_name":"AnyWhereClause"},"Protocols/CloudStorage.html#/s:9CoreStore12CloudStorageP12cacheFileURL10Foundation0G0Vvp":{"name":"cacheFileURL","abstract":"

    The NSURL that points to the store file

    ","parent_name":"CloudStorage"},"Protocols/CloudStorage.html#/s:9CoreStore12CloudStorageP05cloudD7OptionsAA0cdF0Vvp":{"name":"cloudStorageOptions","abstract":"

    Options that tell the DataStack how to setup the persistent store

    ","parent_name":"CloudStorage"},"Protocols/CloudStorage.html#/s:9CoreStore12CloudStorageP10dictionary10forOptionsSDys11AnyHashableVypGSgAA0cdG0V_tF":{"name":"dictionary(forOptions:)","abstract":"

    The options dictionary for the specified CloudStorageOptions

    ","parent_name":"CloudStorage"},"Protocols/CloudStorage.html#/s:9CoreStore12CloudStorageP08cs_eraseD7AndWait10soureModelySo015NSManagedObjectJ0C_tKF":{"name":"cs_eraseStorageAndWait(soureModel:)","abstract":"

    Called by the DataStack to perform actual deletion of the store file from disk. Do not call directly! The sourceModel argument is a hint for the existing store’s model version. Implementers can use the sourceModel to perform necessary store operations. (Cloud stores for example, can set the NSPersistentStoreRemoveUbiquitousMetadataOption option before deleting)

    ","parent_name":"CloudStorage"},"Protocols/LocalStorage.html#/s:9CoreStore12LocalStorageP7fileURL10Foundation0F0Vvp":{"name":"fileURL","abstract":"

    The NSURL that points to the store file

    ","parent_name":"LocalStorage"},"Protocols/LocalStorage.html#/s:9CoreStore12LocalStorageP25migrationMappingProvidersSayAA06SchemaF8Provider_pGvp":{"name":"migrationMappingProviders","abstract":"

    An array of SchemaMappingProviders that provide the complete mapping models for custom migrations.

    ","parent_name":"LocalStorage"},"Protocols/LocalStorage.html#/s:9CoreStore12LocalStorageP05localD7OptionsAA0cdF0Vvp":{"name":"localStorageOptions","abstract":"

    Options that tell the DataStack how to setup the persistent store

    ","parent_name":"LocalStorage"},"Protocols/LocalStorage.html#/s:9CoreStore12LocalStorageP10dictionary10forOptionsSDys11AnyHashableVypGSgAA0cdG0V_tF":{"name":"dictionary(forOptions:)","abstract":"

    The options dictionary for the specified LocalStorageOptions

    ","parent_name":"LocalStorage"},"Protocols/LocalStorage.html#/s:9CoreStore12LocalStorageP011cs_finalizeD7AndWait14soureModelHintySo015NSManagedObjectJ0C_tKF":{"name":"cs_finalizeStorageAndWait(soureModelHint:)","abstract":"

    Called by the DataStack to perform checkpoint operations on the storage. (SQLite stores for example, can convert the database’s WAL journaling mode to DELETE to force a checkpoint)

    ","parent_name":"LocalStorage"},"Protocols/LocalStorage.html#/s:9CoreStore12LocalStorageP08cs_eraseD7AndWait8metadata14soureModelHintySDySSypG_So015NSManagedObjectK0CSgtKF":{"name":"cs_eraseStorageAndWait(metadata:soureModelHint:)","abstract":"

    Called by the DataStack to perform actual deletion of the store file from disk. Do not call directly! The sourceModel argument is a hint for the existing store’s model version. Implementers can use the sourceModel to perform necessary store operations. (SQLite stores for example, can convert WAL journaling mode to DELETE before deleting)

    ","parent_name":"LocalStorage"},"Protocols/StorageInterface.html#/s:9CoreStore16StorageInterfaceP9storeTypeSSvpZ":{"name":"storeType","abstract":"

    The string identifier for the NSPersistentStore‘s type property. This is the same string CoreStore will use to create the NSPersistentStore from the NSPersistentStoreCoordinator’s addPersistentStoreWithType(...) method.

    ","parent_name":"StorageInterface"},"Protocols/StorageInterface.html#/s:9CoreStore16StorageInterfaceP13configurationSSSgvp":{"name":"configuration","abstract":"

    The configuration name in the model file

    ","parent_name":"StorageInterface"},"Protocols/StorageInterface.html#/s:9CoreStore16StorageInterfaceP12storeOptionsSDys11AnyHashableVypGSgvp":{"name":"storeOptions","abstract":"

    The options dictionary for the NSPersistentStore

    ","parent_name":"StorageInterface"},"Protocols/StorageInterface.html#/s:9CoreStore16StorageInterfaceP20cs_didAddToDataStackyyAA0iJ0CF":{"name":"cs_didAddToDataStack(_:)","abstract":"

    Do not call directly. Used by the DataStack internally.

    ","parent_name":"StorageInterface"},"Protocols/StorageInterface.html#/s:9CoreStore16StorageInterfaceP25cs_didRemoveFromDataStackyyAA0iJ0CF":{"name":"cs_didRemoveFromDataStack(_:)","abstract":"

    Do not call directly. Used by the DataStack internally.

    ","parent_name":"StorageInterface"},"Protocols/SelectClause.html#/s:9CoreStore12SelectClauseP10ObjectTypeQa":{"name":"ObjectType","abstract":"

    The DynamicObject type associated with the clause

    ","parent_name":"SelectClause"},"Protocols/SelectClause.html#/s:9CoreStore12SelectClauseP10ReturnTypeQa":{"name":"ReturnType","abstract":"

    The SelectResultType type associated with the clause

    ","parent_name":"SelectClause"},"Protocols/SelectClause.html#/s:9CoreStore12SelectClauseP11selectTermsSayAA0C4TermOy10ObjectTypeQzGGvp":{"name":"selectTerms","abstract":"

    The SelectTerms for the query

    ","parent_name":"SelectClause"},"Protocols/SectionMonitorBuilderType.html#/s:9CoreStore25SectionMonitorBuilderTypeP06ObjectF0Qa":{"name":"ObjectType","abstract":"

    The DynamicObject type for the ListMonitor

    ","parent_name":"SectionMonitorBuilderType"},"Protocols/SectionMonitorBuilderType.html#/s:9CoreStore25SectionMonitorBuilderTypeP4fromAA4FromVy06ObjectF0QzGvp":{"name":"from","abstract":"

    The From clause specifies the source entity and source persistent store for the ListMonitor

    ","parent_name":"SectionMonitorBuilderType"},"Protocols/SectionMonitorBuilderType.html#/s:9CoreStore25SectionMonitorBuilderTypeP9sectionByAA0cH0Vy06ObjectF0QzGvp":{"name":"sectionBy","abstract":"

    The SectionBy clause to be used for the ListMonitor

    ","parent_name":"SectionMonitorBuilderType"},"Protocols/SectionMonitorBuilderType.html#/s:9CoreStore25SectionMonitorBuilderTypeP12fetchClausesSayAA11FetchClause_pGvp":{"name":"fetchClauses","abstract":"

    The FetchClauses to be used for the ListMonitor

    ","parent_name":"SectionMonitorBuilderType"},"Protocols/SchemaMappingProvider.html#/s:9CoreStore21SchemaMappingProviderP09cs_createD5Model4from2to7storageSo09NSMappingH0C07mappingH0_AA13MigrationTypeO09migrationO0tAA07DynamicC0_p_AaN_pAA12LocalStorage_ptKF":{"name":"cs_createMappingModel(from:to:storage:)","abstract":"

    Do not call directly.

    ","parent_name":"SchemaMappingProvider"},"Protocols/QueryableSource.html#/s:9CoreStore15QueryableSourceP10queryValueyqd_0_SgAA4FromVyqd__G_AA6SelectVyqd__qd_0_GAA11QueryClause_pdtKAA13DynamicObjectRd__AA0C13AttributeTypeRd_0_r0_lF":{"name":"queryValue(_:_:_:)","abstract":"

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"QueryableSource"},"Protocols/QueryableSource.html#/s:9CoreStore15QueryableSourceP10queryValueyqd_0_SgAA4FromVyqd__G_AA6SelectVyqd__qd_0_GSayAA11QueryClause_pGtKAA13DynamicObjectRd__AA0C13AttributeTypeRd_0_r0_lF":{"name":"queryValue(_:_:_:)","abstract":"

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"QueryableSource"},"Protocols/QueryableSource.html#/s:9CoreStore15QueryableSourceP10queryValuey10ResultTypeQyd__Sgqd__KAA021QueryChainableBuilderH0Rd__AA0c9AttributeH0AFRQlF":{"name":"queryValue(_:)","abstract":"

    Queries a property value or aggregate as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"QueryableSource"},"Protocols/QueryableSource.html#/s:9CoreStore15QueryableSourceP15queryAttributesySaySDySSypGGAA4FromVyqd__G_AA6SelectVyqd__So12NSDictionaryCGAA11QueryClause_pdtKAA13DynamicObjectRd__lF":{"name":"queryAttributes(_:_:_:)","abstract":"

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"QueryableSource"},"Protocols/QueryableSource.html#/s:9CoreStore15QueryableSourceP15queryAttributesySaySDySSypGGAA4FromVyqd__G_AA6SelectVyqd__So12NSDictionaryCGSayAA11QueryClause_pGtKAA13DynamicObjectRd__lF":{"name":"queryAttributes(_:_:_:)","abstract":"

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"QueryableSource"},"Protocols/QueryableSource.html#/s:9CoreStore15QueryableSourceP15queryAttributesySaySDySSypGGqd__KAA25QueryChainableBuilderTypeRd__So12NSDictionaryC06ResultJ0Rtd__lF":{"name":"queryAttributes(_:)","abstract":"

    Queries a dictionary of attribute values or as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"QueryableSource"},"Protocols/QueryableSource.html#/s:9CoreStore15QueryableSourceP13unsafeContextSo015NSManagedObjectF0CyF":{"name":"unsafeContext()","abstract":"

    The internal NSManagedObjectContext managed by this QueryableSource. Using this context directly should typically be avoided, and is provided by CoreStore only for extremely specialized cases.

    ","parent_name":"QueryableSource"},"Protocols/QueryableAttributeType.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","abstract":"

    The CoreDataNativeType for this type when used in Select clauses.

    ","parent_name":"QueryableAttributeType"},"Protocols/QueryableAttributeType.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","abstract":"

    The NSAttributeType for this type when used in Select clauses.

    ","parent_name":"QueryableAttributeType"},"Protocols/QueryableAttributeType.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","abstract":"

    Creates an instance of this type from its QueryableNativeType value.

    ","parent_name":"QueryableAttributeType"},"Protocols/QueryableAttributeType.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","abstract":"

    Creates QueryableNativeType value from this instance.

    ","parent_name":"QueryableAttributeType"},"Protocols/QueryChainableBuilderType.html#/s:9CoreStore25QueryChainableBuilderTypeP06ObjectF0Qa":{"name":"ObjectType","abstract":"

    The DynamicObject type for the query

    ","parent_name":"QueryChainableBuilderType"},"Protocols/QueryChainableBuilderType.html#/s:9CoreStore25QueryChainableBuilderTypeP06ResultF0Qa":{"name":"ResultType","abstract":"

    The SelectResultType type for the query

    ","parent_name":"QueryChainableBuilderType"},"Protocols/QueryChainableBuilderType.html#/s:9CoreStore25QueryChainableBuilderTypeP4fromAA4FromVy06ObjectF0QzGvp":{"name":"from","abstract":"

    The From clause specifies the source entity and source persistent store for the query

    ","parent_name":"QueryChainableBuilderType"},"Protocols/QueryChainableBuilderType.html#/s:9CoreStore25QueryChainableBuilderTypeP6selectAA6SelectVy06ObjectF0Qz06ResultF0QzGvp":{"name":"select","abstract":"

    The Select clause to be used for the query

    ","parent_name":"QueryChainableBuilderType"},"Protocols/QueryChainableBuilderType.html#/s:9CoreStore25QueryChainableBuilderTypeP12queryClausesSayAA0C6Clause_pGvp":{"name":"queryClauses","abstract":"

    The QueryClauses to be used for the query

    ","parent_name":"QueryChainableBuilderType"},"Protocols/OrderByClause.html#/s:9CoreStore13OrderByClauseP10ObjectTypeQa":{"name":"ObjectType","abstract":"

    The DynamicObject type associated with the clause

    ","parent_name":"OrderByClause"},"Protocols/OrderByClause.html#/s:9CoreStore13OrderByClauseP15sortDescriptorsSaySo16NSSortDescriptorCGvp":{"name":"sortDescriptors","abstract":"

    The NSSortDescriptor array for the fetch or query

    ","parent_name":"OrderByClause"},"Protocols/ObjectObserver.html#/s:9CoreStore14ObjectObserverP0C10EntityTypeQa":{"name":"ObjectEntityType","abstract":"

    The DynamicObject type for the observed object

    ","parent_name":"ObjectObserver"},"Protocols/ObjectObserver.html#/s:9CoreStore14ObjectObserverP13objectMonitor_010willUpdateC0yAA0cF0Cy0C10EntityTypeQzG_AItF":{"name":"objectMonitor(_:willUpdateObject:)","abstract":"

    Handles processing just before a change to the observed object occurs. (Optional)","parent_name":"ObjectObserver"},"Protocols/ObjectObserver.html#/s:9CoreStore14ObjectObserverP13objectMonitor_09didUpdateC021changedPersistentKeysyAA0cF0Cy0C10EntityTypeQzG_AJShySSGtF":{"name":"objectMonitor(_:didUpdateObject:changedPersistentKeys:)","abstract":"

    Handles processing right after a change to the observed object occurs. (Optional)","parent_name":"ObjectObserver"},"Protocols/ObjectObserver.html#/s:9CoreStore14ObjectObserverP13objectMonitor_09didDeleteC0yAA0cF0Cy0C10EntityTypeQzG_AItF":{"name":"objectMonitor(_:didDeleteObject:)","abstract":"

    Handles processing right after object is deleted. (Optional)","parent_name":"ObjectObserver"},"Protocols/ListSectionObserver.html#/s:9CoreStore19ListSectionObserverP11listMonitor_09didInsertD002toD5IndexyAA0cG0Cy0C10EntityTypeQzG_So016NSFetchedResultsD4Info_pSitF":{"name":"listMonitor(_:didInsertSection:toSectionIndex:)","abstract":"

    Notifies that a section was inserted at the specified index. (Optional)","parent_name":"ListSectionObserver"},"Protocols/ListSectionObserver.html#/s:9CoreStore19ListSectionObserverP11listMonitor_09didDeleteD004fromD5IndexyAA0cG0Cy0C10EntityTypeQzG_So016NSFetchedResultsD4Info_pSitF":{"name":"listMonitor(_:didDeleteSection:fromSectionIndex:)","abstract":"

    Notifies that a section was inserted at the specified index. (Optional)","parent_name":"ListSectionObserver"},"Protocols/ListObjectObserver.html#/s:9CoreStore18ListObjectObserverP11listMonitor_09didInsertD011toIndexPathyAA0cG0Cy0C10EntityTypeQzG_AJ10Foundation0kL0VtF":{"name":"listMonitor(_:didInsertObject:toIndexPath:)","abstract":"

    Notifies that an object was inserted to the specified NSIndexPath in the list. (Optional)","parent_name":"ListObjectObserver"},"Protocols/ListObjectObserver.html#/s:9CoreStore18ListObjectObserverP11listMonitor_09didDeleteD013fromIndexPathyAA0cG0Cy0C10EntityTypeQzG_AJ10Foundation0kL0VtF":{"name":"listMonitor(_:didDeleteObject:fromIndexPath:)","abstract":"

    Notifies that an object was deleted from the specified NSIndexPath in the list. (Optional)","parent_name":"ListObjectObserver"},"Protocols/ListObjectObserver.html#/s:9CoreStore18ListObjectObserverP11listMonitor_09didUpdateD011atIndexPathyAA0cG0Cy0C10EntityTypeQzG_AJ10Foundation0kL0VtF":{"name":"listMonitor(_:didUpdateObject:atIndexPath:)","abstract":"

    Notifies that an object at the specified NSIndexPath was updated. (Optional)","parent_name":"ListObjectObserver"},"Protocols/ListObjectObserver.html#/s:9CoreStore18ListObjectObserverP11listMonitor_07didMoveD013fromIndexPath02tokL0yAA0cG0Cy0C10EntityTypeQzG_AK10Foundation0kL0VAOtF":{"name":"listMonitor(_:didMoveObject:fromIndexPath:toIndexPath:)","abstract":"

    Notifies that an object’s index changed. (Optional)","parent_name":"ListObjectObserver"},"Protocols/ListObserver.html#/s:9CoreStore12ListObserverP0C10EntityTypeQa":{"name":"ListEntityType","abstract":"

    The NSManagedObject type for the observed list

    ","parent_name":"ListObserver"},"Protocols/ListObserver.html#/s:9CoreStore12ListObserverP21listMonitorWillChangeyyAA0cF0Cy0C10EntityTypeQzGF":{"name":"listMonitorWillChange(_:)","abstract":"

    Handles processing just before a change to the observed list occurs. (Optional)","parent_name":"ListObserver"},"Protocols/ListObserver.html#/s:9CoreStore12ListObserverP20listMonitorDidChangeyyAA0cF0Cy0C10EntityTypeQzGF":{"name":"listMonitorDidChange(_:)","abstract":"

    Handles processing right after a change to the observed list occurs. (Required)

    ","parent_name":"ListObserver"},"Protocols/ListObserver.html#/s:9CoreStore12ListObserverP22listMonitorWillRefetchyyAA0cF0Cy0C10EntityTypeQzGF":{"name":"listMonitorWillRefetch(_:)","abstract":"

    This method is broadcast from within the ListMonitor‘s refetch(...) method to let observers prepare for the internal NSFetchedResultsController’s pending change to its predicate, sort descriptors, etc. (Optional)

    ","parent_name":"ListObserver"},"Protocols/ListObserver.html#/s:9CoreStore12ListObserverP21listMonitorDidRefetchyyAA0cF0Cy0C10EntityTypeQzGF":{"name":"listMonitorDidRefetch(_:)","abstract":"

    After the ListMonitor‘s refetch(...) method is called, this method is broadcast after the NSFetchedResultsController’s last controllerDidChangeContent(_:) notification completes. (Required)

    ","parent_name":"ListObserver"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP0D6IDTypeQa":{"name":"UniqueIDType","abstract":"

    The data type for the entity’s unique ID attribute

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP15uniqueIDKeyPathSSvpZ":{"name":"uniqueIDKeyPath","abstract":"

    The keyPath to the entity’s unique ID attribute

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP13uniqueIDValue0D6IDTypeQzvp":{"name":"uniqueIDValue","abstract":"

    The object’s unique ID value. The default implementation returns the value of the attribute pertained to by uniqueIDKeyPath

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP12shouldInsert4from2inSb12ImportSourceQz_AA19BaseDataTransactionCtFZ":{"name":"shouldInsert(from:in:)","abstract":"

    Return true if an object should be created from source. Return false to ignore and skip source. The default implementation returns the value returned by the shouldUpdate(from:in:) implementation.

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP12shouldUpdate4from2inSb12ImportSourceQz_AA19BaseDataTransactionCtFZ":{"name":"shouldUpdate(from:in:)","abstract":"

    Return true if an object should be updated from source. Return false to ignore and skip source. The default implementation returns true.

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP8uniqueID4from2in0D6IDTypeQzSg12ImportSourceQz_AA19BaseDataTransactionCtKFZ":{"name":"uniqueID(from:in:)","abstract":"

    Return the unique ID as extracted from source. This method is called before shouldInsert(from:in:) or shouldUpdate(from:in:). Return nil to skip importing from source. Note that throwing from this method will cause subsequent imports that are part of the same importUniqueObjects(:sourceArray:) call to be cancelled.

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP9didInsert4from2iny12ImportSourceQz_AA19BaseDataTransactionCtKF":{"name":"didInsert(from:in:)","abstract":"

    Implements the actual importing of data from source. This method is called just after the object is created and assigned its unique ID as returned from uniqueID(from:in:). Implementers should pull values from source and assign them to the receiver’s attributes. Note that throwing from this method will cause subsequent imports that are part of the same importUniqueObjects(:sourceArray:) call to be cancelled. The default implementation simply calls update(from:in:).

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP6update4from2iny12ImportSourceQz_AA19BaseDataTransactionCtKF":{"name":"update(from:in:)","abstract":"

    Implements the actual importing of data from source. This method is called just after the existing object is fetched using its unique ID. Implementers should pull values from source and assign them to the receiver’s attributes. Note that throwing from this method will cause subsequent imports that are part of the same importUniqueObjects(:sourceArray:) call to be cancelled.

    ","parent_name":"ImportableUniqueObject"},"Protocols/ImportableObject.html#/s:9CoreStore16ImportableObjectP12ImportSourceQa":{"name":"ImportSource","abstract":"

    The data type for the import source. This is most commonly an json type, NSDictionary, or another external source such as NSUserDefaults.

    ","parent_name":"ImportableObject"},"Protocols/ImportableObject.html#/s:9CoreStore16ImportableObjectP12shouldInsert4from2inSb12ImportSourceQz_AA19BaseDataTransactionCtFZ":{"name":"shouldInsert(from:in:)","abstract":"

    Return true if an object should be created from source. Return false to ignore and skip source. The default implementation returns true.

    ","parent_name":"ImportableObject"},"Protocols/ImportableObject.html#/s:9CoreStore16ImportableObjectP9didInsert4from2iny12ImportSourceQz_AA19BaseDataTransactionCtKF":{"name":"didInsert(from:in:)","abstract":"

    Implements the actual importing of data from source. Implementers should pull values from source and assign them to the receiver’s attributes. Note that throwing from this method will cause subsequent imports that are part of the same importObjects(:sourceArray:) call to be cancelled.

    ","parent_name":"ImportableObject"},"Protocols/GroupByClause.html#/s:9CoreStore13GroupByClauseP10ObjectTypeQa":{"name":"ObjectType","abstract":"

    The DynamicObject type associated with the clause

    ","parent_name":"GroupByClause"},"Protocols/GroupByClause.html#/s:9CoreStore13GroupByClauseP8keyPathsSaySSGvp":{"name":"keyPaths","abstract":"

    The list of key path strings to group results with

    ","parent_name":"GroupByClause"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13fetchExistingyqd__Sgqd__AA13DynamicObjectRd__lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instance in the FetchableSource‘s context from a reference created from another managed object context.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13fetchExistingyqd__SgSo17NSManagedObjectIDCAA07DynamicH0Rd__lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instance in the FetchableSource‘s context from an NSManagedObjectID.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13fetchExistingySayqd__Gqd_0_AA13DynamicObjectRd__7ElementQyd_0_Rsd__STRd_0_r0_lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instances in the FetchableSource‘s context from references created from another managed object context.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13fetchExistingySayqd__Gqd_0_AA13DynamicObjectRd__STRd_0_So09NSManagedH2IDC7ElementRtd_0_r0_lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instances in the FetchableSource‘s context from a list of NSManagedObjectID.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP8fetchOneyqd__SgAA4FromVyqd__G_AA11FetchClause_pdtKAA13DynamicObjectRd__lF":{"name":"fetchOne(_:_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP8fetchOneyqd__SgAA4FromVyqd__G_SayAA11FetchClause_pGtKAA13DynamicObjectRd__lF":{"name":"fetchOne(_:_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP8fetchOney10ObjectTypeQyd__Sgqd__KAA021FetchChainableBuilderH0Rd__lF":{"name":"fetchOne(_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP8fetchAllySayqd__GAA4FromVyqd__G_AA11FetchClause_pdtKAA13DynamicObjectRd__lF":{"name":"fetchAll(_:_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP8fetchAllySayqd__GAA4FromVyqd__G_SayAA11FetchClause_pGtKAA13DynamicObjectRd__lF":{"name":"fetchAll(_:_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP8fetchAllySay10ObjectTypeQyd__Gqd__KAA021FetchChainableBuilderH0Rd__lF":{"name":"fetchAll(_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP10fetchCountySiAA4FromVyqd__G_AA11FetchClause_pdtKAA13DynamicObjectRd__lF":{"name":"fetchCount(_:_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP10fetchCountySiAA4FromVyqd__G_SayAA11FetchClause_pGtKAA13DynamicObjectRd__lF":{"name":"fetchCount(_:_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP10fetchCountySiqd__KAA25FetchChainableBuilderTypeRd__lF":{"name":"fetchCount(_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13fetchObjectIDySo09NSManagedfG0CSgAA4FromVyqd__G_AA11FetchClause_pdtKAA07DynamicF0Rd__lF":{"name":"fetchObjectID(_:_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13fetchObjectIDySo09NSManagedfG0CSgAA4FromVyqd__G_SayAA11FetchClause_pGtKAA07DynamicF0Rd__lF":{"name":"fetchObjectID(_:_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13fetchObjectIDySo09NSManagedfG0CSgqd__KAA25FetchChainableBuilderTypeRd__lF":{"name":"fetchObjectID(_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP14fetchObjectIDsySaySo09NSManagedF2IDCGAA4FromVyqd__G_AA11FetchClause_pdtKAA07DynamicF0Rd__lF":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP14fetchObjectIDsySaySo09NSManagedF2IDCGAA4FromVyqd__G_SayAA11FetchClause_pGtKAA07DynamicF0Rd__lF":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP14fetchObjectIDsySaySo09NSManagedF2IDCGqd__KAA25FetchChainableBuilderTypeRd__lF":{"name":"fetchObjectIDs(_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"FetchableSource"},"Protocols/FetchableSource.html#/s:9CoreStore15FetchableSourceP13unsafeContextSo015NSManagedObjectF0CyF":{"name":"unsafeContext()","abstract":"

    The internal NSManagedObjectContext managed by this FetchableSource. Using this context directly should typically be avoided, and is provided by CoreStore only for extremely specialized cases.

    ","parent_name":"FetchableSource"},"Protocols/FetchChainableBuilderType.html#/s:9CoreStore25FetchChainableBuilderTypeP06ObjectF0Qa":{"name":"ObjectType","abstract":"

    The DynamicObject type for the fetch

    ","parent_name":"FetchChainableBuilderType"},"Protocols/FetchChainableBuilderType.html#/s:9CoreStore25FetchChainableBuilderTypeP4fromAA4FromVy06ObjectF0QzGvp":{"name":"from","abstract":"

    The From clause specifies the source entity and source persistent store for the fetch

    ","parent_name":"FetchChainableBuilderType"},"Protocols/FetchChainableBuilderType.html#/s:9CoreStore25FetchChainableBuilderTypeP12fetchClausesSayAA0C6Clause_pGvp":{"name":"fetchClauses","abstract":"

    The FetchClauses to be used for the fetch

    ","parent_name":"FetchChainableBuilderType"},"Protocols/DynamicSchema.html#/s:9CoreStore13DynamicSchemaP12modelVersionSSvp":{"name":"modelVersion","abstract":"

    The version string for this model schema.

    ","parent_name":"DynamicSchema"},"Protocols/DynamicSchema.html#/s:9CoreStore13DynamicSchemaP8rawModelSo015NSManagedObjectF0CyF":{"name":"rawModel()","abstract":"

    Do not call this directly. The NSManagedObjectModel for this schema may be created lazily and using this method directly may affect the integrity of the model.

    ","parent_name":"DynamicSchema"},"Protocols/DynamicSchema.html#/s:9CoreStore13DynamicSchemaPAAE05printabD0SSyF":{"name":"printCoreStoreSchema()","abstract":"

    Prints the DynamicSchema as their corresponding CoreStoreObject Swift declarations. This is useful for converting current XcodeDataModelSchema-based models into the new CoreStoreSchema framework. Additional adjustments may need to be done to the generated source code; for example: Transformable concrete types need to be provided, as well as default values.

    ","parent_name":"DynamicSchema"},"Protocols/DynamicKeyPath.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","abstract":"

    The DynamicObject type

    ","parent_name":"DynamicKeyPath"},"Protocols/DynamicKeyPath.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","abstract":"

    The Value type

    ","parent_name":"DynamicKeyPath"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectP14cs_forceCreate17entityDescription4into8assignToxSo08NSEntityI0C_So09NSManagedD7ContextCSo012NSPersistentB0CtFZ":{"name":"cs_forceCreate(entityDescription:into:assignTo:)","abstract":"

    Used internally by CoreStore. Do not call directly.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectP10cs_fromRaw6objectxSo09NSManagedD0C_tFZ":{"name":"cs_fromRaw(object:)","abstract":"

    Used internally by CoreStore. Do not call directly.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectP10cs_matches6objectSbSo09NSManagedD0C_tFZ":{"name":"cs_matches(object:)","abstract":"

    Used internally by CoreStore. Do not call directly.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectP5cs_idSo09NSManagedD2IDCyF":{"name":"cs_id()","abstract":"

    Used internally by CoreStore. Do not call directly.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectP8cs_toRawSo09NSManagedD0CyF":{"name":"cs_toRaw()","abstract":"

    Used internally by CoreStore. Do not call directly.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectPA2A0abD0CRbzrlE07partialD0AA07PartialD0VyxGyF":{"name":"partialObject()","abstract":"

    Returns the PartialObject instance for the object, which acts as a fast, type-safe KVC interface for CoreStoreObject.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectPA2A0abD0CRbzrlE12Relationshipa":{"name":"Relationship","abstract":"

    The containing type for relationships. Relationships can be any CoreStoreObject subclass.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectPA2A0abD0CRbzrlE13Transformablea":{"name":"Transformable","abstract":"

    The containing type for transformable properties. Transformable properties support types that conforms to NSCoding & NSCopying.

    ","parent_name":"DynamicObject"},"Protocols/DynamicObject.html#/s:9CoreStore13DynamicObjectPA2A0abD0CRbzrlE5Valuea":{"name":"Value","abstract":"

    The containing type for value propertiess. Value properties support any type that conforms to ImportableAttributeType.

    ","parent_name":"DynamicObject"},"Protocols/CoreStoreObjectKeyValueObservation.html#/s:9CoreStore0aB25ObjectKeyValueObservationP10invalidateyyF":{"name":"invalidate()","abstract":"

    invalidate() will be called automatically when an CoreStoreObjectKeyValueObservation is deinited.

    ","parent_name":"CoreStoreObjectKeyValueObservation"},"Protocols/CoreStoreLogger.html#/s:9CoreStore0aB6LoggerP3log5level7message8fileName10lineNumber08functionH0yAA8LogLevelO_SSs12StaticStringVSiAMtF":{"name":"log(level:message:fileName:lineNumber:functionName:)","abstract":"

    Handles log messages sent by the CoreStore framework.

    ","parent_name":"CoreStoreLogger"},"Protocols/CoreStoreLogger.html#/s:9CoreStore0aB6LoggerP3log5error7message8fileName10lineNumber08functionH0yAA0aB5ErrorO_SSs12StaticStringVSiAMtF":{"name":"log(error:message:fileName:lineNumber:functionName:)","abstract":"

    Handles errors sent by the CoreStore framework.

    ","parent_name":"CoreStoreLogger"},"Protocols/CoreStoreLogger.html#/s:9CoreStore0aB6LoggerP6assert_7message8fileName10lineNumber08functionG0ySbyXK_SSyXKs12StaticStringVSiAJtF":{"name":"assert(_:message:fileName:lineNumber:functionName:)","abstract":"

    Handles assertions made throughout the CoreStore framework.

    ","parent_name":"CoreStoreLogger"},"Protocols/CoreStoreLogger.html#/s:9CoreStore0aB6LoggerP5abort_8fileName10lineNumber08functionF0ySS_s12StaticStringVSiAItF":{"name":"abort(_:fileName:lineNumber:functionName:)","abstract":"

    Handles fatal errors made throughout the CoreStore framework. The app wil terminate after this method is called.

    ","parent_name":"CoreStoreLogger"},"Protocols/CoreStoreSwiftType.html#/s:9CoreStore0aB9SwiftTypeP14ObjectiveCTypeQa":{"name":"ObjectiveCType","abstract":"

    The corresponding Objective-C type

    ","parent_name":"CoreStoreSwiftType"},"Protocols/CoreStoreSwiftType.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","abstract":"

    The bridged Objective-C instance

    ","parent_name":"CoreStoreSwiftType"},"Protocols/CoreStoreObjectiveCType.html#/s:9CoreStore0aB14ObjectiveCTypeP9SwiftTypeQa":{"name":"SwiftType","abstract":"

    The corresponding Swift type

    ","parent_name":"CoreStoreObjectiveCType"},"Protocols/CoreStoreObjectiveCType.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","abstract":"

    The bridged Swift instance

    ","parent_name":"CoreStoreObjectiveCType"},"Protocols/CoreStoreObjectiveCType.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","abstract":"

    Initializes this instance with the Swift instance to bridge from

    ","parent_name":"CoreStoreObjectiveCType"},"Protocols/CSLocalStorage.html#/c:@M@CoreStore@objc(pl)CSLocalStorage(py)fileURL":{"name":"fileURL","abstract":"

    The NSURL that points to the store file

    ","parent_name":"CSLocalStorage"},"Protocols/CSLocalStorage.html#/c:@M@CoreStore@objc(pl)CSLocalStorage(py)migrationMappingProviders":{"name":"migrationMappingProviders","abstract":"

    An array of SchemaMappingProviders that provides the complete mapping models for custom migrations. This is currently only supported for Swift code.

    ","parent_name":"CSLocalStorage"},"Protocols/CSLocalStorage.html#/c:@M@CoreStore@objc(pl)CSLocalStorage(py)localStorageOptions":{"name":"localStorageOptions","abstract":"

    Options that tell the CSDataStack how to setup the persistent store

    ","parent_name":"CSLocalStorage"},"Protocols/CSLocalStorage.html#/c:@M@CoreStore@objc(pl)CSLocalStorage(im)cs_eraseStorageAndWaitWithMetadata:soureModelHint:error:":{"name":"cs_eraseStorageAndWait(metadata:soureModelHint:error:)","abstract":"

    Called by the CSDataStack to perform actual deletion of the store file from disk. Do not call directly! The sourceModel argument is a hint for the existing store’s model version. Implementers can use the sourceModel to perform necessary store operations. (SQLite stores for example, can convert WAL journaling mode to DELETE before deleting)

    ","parent_name":"CSLocalStorage"},"Protocols/CSStorageInterface.html#/c:@M@CoreStore@objc(pl)CSStorageInterface(cpy)storeType":{"name":"storeType","abstract":"

    The string identifier for the NSPersistentStore‘s type property. This is the same string CoreStore will use to create the NSPersistentStore from the NSPersistentStoreCoordinator’s addPersistentStoreWithType(...) method.

    ","parent_name":"CSStorageInterface"},"Protocols/CSStorageInterface.html#/c:@M@CoreStore@objc(pl)CSStorageInterface(py)configuration":{"name":"configuration","abstract":"

    The configuration name in the model file

    ","parent_name":"CSStorageInterface"},"Protocols/CSStorageInterface.html#/c:@M@CoreStore@objc(pl)CSStorageInterface(py)storeOptions":{"name":"storeOptions","abstract":"

    The options dictionary for the NSPersistentStore

    ","parent_name":"CSStorageInterface"},"Protocols/CSObjectObserver.html#/c:@M@CoreStore@objc(pl)CSObjectObserver(im)objectMonitor:willUpdateObject:":{"name":"objectMonitor(_:willUpdateObject:)","abstract":"

    Handles processing just before a change to the observed object occurs

    ","parent_name":"CSObjectObserver"},"Protocols/CSObjectObserver.html#/c:@M@CoreStore@objc(pl)CSObjectObserver(im)objectMonitor:didUpdateObject:changedPersistentKeys:":{"name":"objectMonitor(_:didUpdateObject:changedPersistentKeys:)","abstract":"

    Handles processing right after a change to the observed object occurs

    ","parent_name":"CSObjectObserver"},"Protocols/CSObjectObserver.html#/c:@M@CoreStore@objc(pl)CSObjectObserver(im)objectMonitor:didDeleteObject:":{"name":"objectMonitor(_:didDeleteObject:)","abstract":"

    Handles processing right after object is deleted

    ","parent_name":"CSObjectObserver"},"Protocols/CSListSectionObserver.html#/c:@M@CoreStore@objc(pl)CSListSectionObserver(im)listMonitor:didInsertSection:toSectionIndex:":{"name":"listMonitor(_:didInsertSection:toSectionIndex:)","abstract":"

    Notifies that a section was inserted at the specified index

    ","parent_name":"CSListSectionObserver"},"Protocols/CSListSectionObserver.html#/c:@M@CoreStore@objc(pl)CSListSectionObserver(im)listMonitor:didDeleteSection:fromSectionIndex:":{"name":"listMonitor(_:didDeleteSection:fromSectionIndex:)","abstract":"

    Notifies that a section was inserted at the specified index

    ","parent_name":"CSListSectionObserver"},"Protocols/CSListObjectObserver.html#/c:@M@CoreStore@objc(pl)CSListObjectObserver(im)listMonitor:didInsertObject:toIndexPath:":{"name":"listMonitor(_:didInsertObject:toIndexPath:)","abstract":"

    Notifies that an object was inserted to the specified NSIndexPath in the list

    ","parent_name":"CSListObjectObserver"},"Protocols/CSListObjectObserver.html#/c:@M@CoreStore@objc(pl)CSListObjectObserver(im)listMonitor:didDeleteObject:fromIndexPath:":{"name":"listMonitor(_:didDeleteObject:fromIndexPath:)","abstract":"

    Notifies that an object was deleted from the specified NSIndexPath in the list

    ","parent_name":"CSListObjectObserver"},"Protocols/CSListObjectObserver.html#/c:@M@CoreStore@objc(pl)CSListObjectObserver(im)listMonitor:didUpdateObject:atIndexPath:":{"name":"listMonitor(_:didUpdateObject:atIndexPath:)","abstract":"

    Notifies that an object at the specified NSIndexPath was updated

    ","parent_name":"CSListObjectObserver"},"Protocols/CSListObjectObserver.html#/c:@M@CoreStore@objc(pl)CSListObjectObserver(im)listMonitor:didMoveObject:fromIndexPath:toIndexPath:":{"name":"listMonitor(_:didMoveObject:fromIndexPath:toIndexPath:)","abstract":"

    Notifies that an object’s index changed

    ","parent_name":"CSListObjectObserver"},"Protocols/CSListObserver.html#/c:@M@CoreStore@objc(pl)CSListObserver(im)listMonitorWillChange:":{"name":"listMonitorWillChange(_:)","abstract":"

    Handles processing just before a change to the observed list occurs

    ","parent_name":"CSListObserver"},"Protocols/CSListObserver.html#/c:@M@CoreStore@objc(pl)CSListObserver(im)listMonitorDidChange:":{"name":"listMonitorDidChange(_:)","abstract":"

    Handles processing right after a change to the observed list occurs

    ","parent_name":"CSListObserver"},"Protocols/CSListObserver.html#/c:@M@CoreStore@objc(pl)CSListObserver(im)listMonitorWillRefetch:":{"name":"listMonitorWillRefetch(_:)","abstract":"

    This method is broadcast from within the CSListMonitor‘s -refetchWithFetchClauses: method to let observers prepare for the internal NSFetchedResultsController’s pending change to its predicate, sort descriptors, etc. Note that the actual refetch will happen after the NSFetchedResultsController’s last -controllerDidChangeContent: notification completes.

    ","parent_name":"CSListObserver"},"Protocols/CSListObserver.html#/c:@M@CoreStore@objc(pl)CSListObserver(im)listMonitorDidRefetch:":{"name":"listMonitorDidRefetch(_:)","abstract":"

    After the CSListMonitor‘s -refetchWithFetchClauses: method is called, this method is broadcast after the NSFetchedResultsController’s last -controllerDidChangeContent: notification completes.

    ","parent_name":"CSListObserver"},"Protocols/CSDynamicSchema.html#/c:@M@CoreStore@objc(pl)CSDynamicSchema(py)modelVersion":{"name":"modelVersion","abstract":"

    The version string for this model schema.

    ","parent_name":"CSDynamicSchema"},"Protocols/CSDynamicSchema.html#/c:@M@CoreStore@objc(pl)CSDynamicSchema(im)rawModel":{"name":"rawModel()","abstract":"

    Do not call this directly. The NSManagedObjectModel for this schema may be created lazily and using this method directly may affect the integrity of the model.

    ","parent_name":"CSDynamicSchema"},"Protocols.html#/c:@M@CoreStore@objc(pl)CSFetchClause":{"name":"CSFetchClause","abstract":"

    The CSFetchClause implement clauses used to configure NSFetchRequests.

    "},"Protocols.html#/c:@M@CoreStore@objc(pl)CSQueryClause":{"name":"CSQueryClause","abstract":"

    The CSQueryClause implement clauses used to configure NSFetchRequests.

    "},"Protocols.html#/c:@M@CoreStore@objc(pl)CSDeleteClause":{"name":"CSDeleteClause","abstract":"

    The CSDeleteClause implement clauses used to configure NSFetchRequests.

    "},"Protocols/CSDynamicSchema.html":{"name":"CSDynamicSchema","abstract":"

    The CSDynamicSchema serves as the Objective-C bridging type for DynamicSchema.

    "},"Protocols/CSListObserver.html":{"name":"CSListObserver","abstract":"

    Implement the CSListObserver protocol to observe changes to a list of NSManagedObjects. CSListObservers may register themselves to a CSListMonitor‘s -addListObserver: method:

    "},"Protocols/CSListObjectObserver.html":{"name":"CSListObjectObserver","abstract":"

    Implement the CSListObjectObserver protocol to observe detailed changes to a list’s object. CSListObjectObservers may register themselves to a CSListMonitor‘s -addListObjectObserver(_:) method:

    "},"Protocols/CSListSectionObserver.html":{"name":"CSListSectionObserver","abstract":"

    Implement the CSListSectionObserver protocol to observe changes to a list’s section info. CSListSectionObservers may register themselves to a CSListMonitor‘s -addListSectionObserver: method:

    "},"Protocols/CSObjectObserver.html":{"name":"CSObjectObserver","abstract":"

    Implement the CSObjectObserver protocol to observe changes to a single NSManagedObject instance. CSObjectObservers may register themselves to a CSObjectMonitor‘s -addObjectObserver: method:

    "},"Protocols/CSStorageInterface.html":{"name":"CSStorageInterface","abstract":"

    The CSStorageInterface serves as the Objective-C bridging type for StorageInterface.

    "},"Protocols/CSLocalStorage.html":{"name":"CSLocalStorage","abstract":"

    The CSLocalStorage serves as the Objective-C bridging type for LocalStorage.

    "},"Protocols.html#/c:@M@CoreStore@objc(pl)CoreDataNativeType":{"name":"CoreDataNativeType","abstract":"

    Objective-C Foundation types that are natively supported by Core Data managed attributes all conform to CoreDataNativeType.

    "},"Protocols/CoreStoreObjectiveCType.html":{"name":"CoreStoreObjectiveCType","abstract":"

    CoreStoreObjectiveCTypes are Objective-C accessible classes that represent CoreStore’s Swift types.

    "},"Protocols/CoreStoreSwiftType.html":{"name":"CoreStoreSwiftType","abstract":"

    CoreStoreSwiftTypes are CoreStore’s Swift types that are bridgeable to Objective-C.

    "},"Protocols/CoreStoreLogger.html":{"name":"CoreStoreLogger","abstract":"

    Custom loggers should implement the CoreStoreLogger protocol and pass its instance to CoreStore.logger. Calls to log(...), assert(...), and abort(...) are not tied to a specific queue/thread, so it is the implementer’s job to handle thread-safety.

    "},"Protocols/CoreStoreObjectKeyValueObservation.html":{"name":"CoreStoreObjectKeyValueObservation","abstract":"

    Observation token for CoreStoreObject properties. Make sure to retain this instance to keep observing notifications.

    "},"Protocols/DynamicObject.html":{"name":"DynamicObject","abstract":"

    All CoreStore’s utilities are designed around DynamicObject instances. NSManagedObject and CoreStoreObject instances all conform to DynamicObject.

    "},"Protocols/DynamicKeyPath.html":{"name":"DynamicKeyPath","abstract":"

    Used only for utility methods.

    "},"Protocols/DynamicSchema.html":{"name":"DynamicSchema","abstract":"

    DynamicSchema are types that provide NSManagedObjectModel instances for a single model version. CoreStore currently supports the following concrete types:

    "},"Protocols/FetchChainableBuilderType.html":{"name":"FetchChainableBuilderType","abstract":"

    Utility protocol for FetchChainBuilder. Used in fetch methods that support chained fetch builders.

    "},"Protocols/FetchableSource.html":{"name":"FetchableSource","abstract":"

    Encapsulates containers which manages an internal NSManagedObjectContext, such as DataStacks and transactions, that can be used for fetching objects. CoreStore provides implementations for this protocol and should be used as a read-only abstraction.

    "},"Protocols/GroupByClause.html":{"name":"GroupByClause","abstract":"

    Abstracts the GroupBy clause for protocol utilities.

    "},"Protocols.html#/s:9CoreStore23ImportableAttributeTypeP":{"name":"ImportableAttributeType","abstract":"

    Types supported by CoreStore as NSManagedObject and CoreStoreObject property types."},"Protocols/ImportableObject.html":{"name":"ImportableObject","abstract":"

    NSManagedObject and CoreStoreObject subclasses that conform to the ImportableObject protocol can be imported from a specified ImportSource. This allows transactions to create and insert instances this way:

    "},"Protocols/ImportableUniqueObject.html":{"name":"ImportableUniqueObject","abstract":"

    NSManagedObject subclasses that conform to the ImportableUniqueObject protocol can be imported from a specified ImportSource. This allows transactions to either update existing objects or create new instances this way:

    "},"Protocols.html#/s:9CoreStore29AllowedObjectiveCKeyPathValueP":{"name":"AllowedObjectiveCKeyPathValue","abstract":"

    Used only for utility methods. Types allowed as Value generic type to KeyPath utilities.

    "},"Protocols.html#/s:9CoreStore37AllowedOptionalObjectiveCKeyPathValueP":{"name":"AllowedOptionalObjectiveCKeyPathValue","abstract":"

    Used only for utility methods. Types allowed as Value generic type to KeyPath utilities.

    "},"Protocols.html#/s:9CoreStore39AllowedObjectiveCCollectionKeyPathValueP":{"name":"AllowedObjectiveCCollectionKeyPathValue","abstract":"

    Used only for utility methods. Types allowed as Value generic type to KeyPath utilities.

    "},"Protocols.html#/s:9CoreStore07AllowedaB18ObjectKeyPathValueP":{"name":"AllowedCoreStoreObjectKeyPathValue","abstract":"

    Used only for utility methods. Types allowed as Value generic type to KeyPath utilities.

    "},"Protocols.html#/s:9CoreStore07AllowedaB28ObjectCollectionKeyPathValueP":{"name":"AllowedCoreStoreObjectCollectionKeyPathValue","abstract":"

    Used only for utility methods. Types allowed as Value generic type to KeyPath utilities.

    "},"Protocols/ListObserver.html":{"name":"ListObserver","abstract":"

    Implement the ListObserver protocol to observe changes to a list of NSManagedObjects. ListObservers may register themselves to a ListMonitor‘s addObserver(_:) method:

    "},"Protocols/ListObjectObserver.html":{"name":"ListObjectObserver","abstract":"

    Implement the ListObjectObserver protocol to observe detailed changes to a list’s object. ListObjectObservers may register themselves to a ListMonitor‘s addObserver(_:) method:

    "},"Protocols/ListSectionObserver.html":{"name":"ListSectionObserver","abstract":"

    Implement the ListSectionObserver protocol to observe changes to a list’s section info. ListSectionObservers may register themselves to a ListMonitor‘s addObserver(_:) method:

    "},"Protocols/ObjectObserver.html":{"name":"ObjectObserver","abstract":"

    Implement the ObjectObserver protocol to observe changes to a single DynamicObject instance. ObjectObservers may register themselves to a ObjectMonitor‘s addObserver(_:) method:

    "},"Protocols/OrderByClause.html":{"name":"OrderByClause","abstract":"

    Abstracts the OrderBy clause for protocol utilities.

    "},"Protocols/QueryChainableBuilderType.html":{"name":"QueryChainableBuilderType","abstract":"

    Utility protocol for QueryChainBuilder. Used in fetch methods that support chained query builders.

    "},"Protocols/QueryableAttributeType.html":{"name":"QueryableAttributeType","abstract":"

    Types supported by CoreStore for querying, especially as generic type for Select clauses."},"Protocols/QueryableSource.html":{"name":"QueryableSource","abstract":"

    Encapsulates containers which manages an internal NSManagedObjectContext, such as DataStacks and transactions, that can be used for querying values. CoreStore provides implementations for this protocol and should be used as a read-only abstraction.

    "},"Protocols/SchemaMappingProvider.html":{"name":"SchemaMappingProvider","abstract":"

    The SchemaMappingProvider provides migration mapping information between two DynamicSchema versions.

    "},"Protocols/SectionMonitorBuilderType.html":{"name":"SectionMonitorBuilderType","abstract":"

    Utility protocol for SectionMonitorChainBuilder. Used in methods that support chained fetch builders.

    "},"Protocols.html#/s:9CoreStore16SelectResultTypeP":{"name":"SelectResultType","abstract":"

    The SelectResultType protocol is implemented by return types supported by the Select clause.

    "},"Protocols.html#/s:9CoreStore26SelectAttributesResultTypeP":{"name":"SelectAttributesResultType","abstract":"

    The SelectAttributesResultType protocol is implemented by return types supported by the queryAttributes(...) methods.

    "},"Protocols/SelectClause.html":{"name":"SelectClause","abstract":"

    Abstracts the Select clause for protocol utilities.

    "},"Protocols/StorageInterface.html":{"name":"StorageInterface","abstract":"

    The StorageInterface represents the data store managed (or to be managed) by the DataStack. When added to the DataStack, the StorageInterface serves as the interface for the NSPersistentStore. This may be a database file, an in-memory store, etc.

    "},"Protocols/LocalStorage.html":{"name":"LocalStorage","abstract":"

    The LocalStorage represents StorageInterfaces that are backed by local files.

    "},"Protocols/CloudStorage.html":{"name":"CloudStorage","abstract":"

    The CloudStorage represents StorageInterfaces that are synchronized from a cloud-based store.

    "},"Protocols.html#/s:9CoreStore11FetchClauseP":{"name":"FetchClause","abstract":"

    The FetchClause implement clauses used to configure NSFetchRequests.

    "},"Protocols.html#/s:9CoreStore11QueryClauseP":{"name":"QueryClause","abstract":"

    The QueryClause implement clauses used to configure NSFetchRequests.

    "},"Protocols.html#/s:9CoreStore12DeleteClauseP":{"name":"DeleteClause","abstract":"

    The DeleteClause implement clauses used to configure NSFetchRequests.

    "},"Protocols/AnyWhereClause.html":{"name":"AnyWhereClause","abstract":"

    Type-erased Where clause for protocol utilities.

    "},"Protocols.html#/s:9CoreStore20WhereExpressionTraitP":{"name":"WhereExpressionTrait","abstract":"

    Used only for Where.Expression type constraints. Currently supports SingleTarget and CollectionTarget.

    "},"Protocols/WhereClauseType.html":{"name":"WhereClauseType","abstract":"

    Abstracts the Where clause for protocol utilities. Typically used only for utility method generic constraints.

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains the value of a property

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains the value of a property

    "},"Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":"<(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than a value

    "},"Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":">(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than a value

    "},"Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":"<=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than or equal to a value

    "},"Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":">=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than or equal to a value

    "},"Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":"<(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than a value

    "},"Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":">(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than a value

    "},"Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":"<=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than or equal to a value

    "},"Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF":{"name":">=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than or equal to a value

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_7ElementQy0_Rs_STR0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains a value of a property

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_STR0_So0gH2IDC7ElementRt0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains a value of a property

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_7ElementQy0_Rs_STR0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains a value of a property

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_STR0_So0gH2IDC7ElementRt0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains a value of a property

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains the value of a property

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains the value of a property

    "},"Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF":{"name":"<(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than a value

    "},"Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF":{"name":">(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than a value

    "},"Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF":{"name":"<=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than or equal to a value

    "},"Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF":{"name":">=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than or equal to a value

    "},"Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":"<(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than a value

    "},"Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":">(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than a value

    "},"Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":"<=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than or equal to a value

    "},"Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF":{"name":">=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than or equal to a value

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GGtAA0aB6ObjectCRbzAORb_7ElementQy0_Rs_STR0_r1_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains a value of a property

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD12SingleTargetOyx_Gq0_Gs7KeyPathCyxq_G_ALyq_q0_GtSo15NSManagedObjectCRbzAPRb_AA020AllowedObjectiveCKeyH5ValueR0_r1_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD12SingleTargetOyx_Gq0_Gs7KeyPathCyxq_SgG_ALyq_q0_GtSo15NSManagedObjectCRbzAQRb_AA020AllowedObjectiveCKeyH5ValueR0_r1_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD16CollectionTargetOyx_Gq0_Gs7KeyPathCyxq_G_ALyq_q0_GtSo15NSManagedObjectCRbzAPRb_AA027AllowedObjectiveCCollectiongH5ValueR0_r1_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD16CollectionTargetOyx_Gq0_Gs7KeyPathCyxq_SgG_ALyq_q0_GtSo15NSManagedObjectCRbzAQRb_AA027AllowedObjectiveCCollectiongH5ValueR0_r1_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_q0_q1_GAFyx_q0_q_G_s7KeyPathCyq_q1_GtSo15NSManagedObjectCRbzAMRb_AA0cD5TraitR0_AA020AllowedObjectiveCKeyF5ValueR1_r2_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_q0_q1_GAFyx_q0_q_SgG_s7KeyPathCyq_q1_GtSo15NSManagedObjectCRbzANRb_AA0cD5TraitR0_AA020AllowedObjectiveCKeyF5ValueR1_r2_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD16CollectionTargetOyx_Gq1_GAFyx_q0_q_G_s7KeyPathCyq_q1_GtSo15NSManagedObjectCRbzAPRb_AA0cD5TraitR0_AA027AllowedObjectiveCCollectiongH5ValueR1_r2_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD16CollectionTargetOyx_Gq1_GAFyx_q0_q_SgG_s7KeyPathCyq_q1_GtSo15NSManagedObjectCRbzAQRb_AA0cD5TraitR0_AA027AllowedObjectiveCCollectiongH5ValueR1_r2_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD16CollectionTargetOyx_Gq2_GAFyx_q0_q1_G_s7KeyPathCyq_q2_GtSo15NSManagedObjectCRbzAPRb_AA0cD5TraitR0_AA027AllowedObjectiveCCollectiongH5ValueR1_AA0lm4CKeyhO0R2_r3_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD12SingleTargetOyx_G9ValueTypeQy0_Gs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_ANyq_q0_GtAA0aB6ObjectCRbzAWRb_0oH0Qy0_Rs_AA07AllowedaboijG0R0_r1_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_q0_9ValueTypeQy1_GAFyx_q0_q_G_s7KeyPathCyq_q1_GtAA0aB6ObjectCRbzAORb_0iF0Qy1_Rs_AA0cD5TraitR0_AA07AllowedabighE0R1_r2_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_q0_9ValueTypeQy1_GAFyx_q0_q_SgG_s7KeyPathCyq_q1_GtAA0aB6ObjectCRbzAPRb_0iF0Qy1_Rs_AA0cD5TraitR0_AA07AllowedabighE0R1_r2_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD16CollectionTargetOyx_G9ValueTypeQy0_Gs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_ANyq_q0_GtAA0aB6ObjectCRbzAWRb_0oH0Qy0_Rs_AA07AllowedaboeijG0R0_r1_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD16CollectionTargetOyx_G9ValueTypeQy1_GAFyx_q0_q_G_s7KeyPathCyq_q1_GtAA0aB6ObjectCRbzARRb_0kH0Qy1_Rs_AA0cD5TraitR0_AA07AllowedabkeijG0R1_r2_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD16CollectionTargetOyx_G9ValueTypeQy1_GAFyx_q0_q_SgG_s7KeyPathCyq_q1_GtAA0aB6ObjectCRbzASRb_0kH0Qy1_Rs_AA0cD5TraitR0_AA07AllowedabkeijG0R1_r2_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD16CollectionTargetOyx_G9ValueTypeQy2_GAFyx_q0_q1_G_s7KeyPathCyq_q2_GtAA0aB6ObjectCRbz0kH0Qy1_RszARRb_ASQy2_Rs_AA0cD5TraitR0_AA07AllowedabkeijG0R1_AA0mabkijG0R2_r3_lF":{"name":"~(_:_:)","abstract":"

    Connects multiple DynamicKeyPaths to create a type-safe chain usable in query/fetch expressions

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_G_q0_tAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_r1_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if an expression is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_G_q0_tAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_r1_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if an expression is not equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq1__AD10ExpressionVyx_q_q0_GtAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_7ElementQy1_Rs0_STR1_r2_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains a value

    "},"Functions.html#/s:9CoreStore1loiyAA5WhereVyxGAD10ExpressionVyx_q_q0_G_q0_tAA13DynamicObjectRzAA0cD5TraitR_AA22QueryableAttributeTypeR0_SLR0_r1_lF":{"name":"<(_:_:)","abstract":"

    Creates a Where clause by comparing if an expression is less than a value

    "},"Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_G_q0_tAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_SLR0_r1_lF":{"name":"<=(_:_:)","abstract":"

    Creates a Where clause by comparing if an expression is less than or equal to a value

    "},"Functions.html#/s:9CoreStore1goiyAA5WhereVyxGAD10ExpressionVyx_q_q0_G_q0_tAA13DynamicObjectRzAA0cD5TraitR_AA22QueryableAttributeTypeR0_SLR0_r1_lF":{"name":">(_:_:)","abstract":"

    Creates a Where clause by comparing if an expression is greater than a value

    "},"Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_G_q0_tAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_SLR0_r1_lF":{"name":">=(_:_:)","abstract":"

    Creates a Where clause by comparing if an expression is greater than or equal to a value

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_SgG_q0_tAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_r1_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if an expression is equal to a value

    "},"Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_SgG_AHtAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_r1_lF":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if an expression is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_SgG_q0_tAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_r1_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if an expression is equal to a value

    "},"Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_SgG_AHtAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_r1_lF":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if an expression is equal to a value

    "},"Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq1__AD10ExpressionVyx_q_q0_SgGtAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_7ElementQy1_Rs0_STR1_r2_lF":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains a value

    "},"Functions.html#/s:9CoreStore1loiyAA5WhereVyxGAD10ExpressionVyx_q_q0_SgG_q0_tAA13DynamicObjectRzAA0cD5TraitR_AA22QueryableAttributeTypeR0_SLR0_r1_lF":{"name":"<(_:_:)","abstract":"

    Creates a Where clause by comparing if an expression is less than a value

    "},"Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_SgG_AHtAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_SLR0_r1_lF":{"name":"<=(_:_:)","abstract":"

    Creates a Where clause by comparing if an expression is less than or equal to a value

    "},"Functions.html#/s:9CoreStore1goiyAA5WhereVyxGAD10ExpressionVyx_q_q0_SgG_q0_tAA13DynamicObjectRzAA0cD5TraitR_AA22QueryableAttributeTypeR0_SLR0_r1_lF":{"name":">(_:_:)","abstract":"

    Creates a Where clause by comparing if an expression is greater than a value

    "},"Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_SgG_AHtAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_SLR0_r1_lF":{"name":">=(_:_:)","abstract":"

    Creates a Where clause by comparing if an expression is greater than or equal to a value

    "},"Extensions/UUID.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"UUID"},"Extensions/UUID.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"UUID"},"Extensions/UUID.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"UUID"},"Extensions/UUID.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"UUID"},"Extensions/URL.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"URL"},"Extensions/URL.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"URL"},"Extensions/URL.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"URL"},"Extensions/URL.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"URL"},"Extensions/String.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"String"},"Extensions/String.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"String"},"Extensions/String.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"String"},"Extensions/String.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"String"},"Extensions/NSUUID.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSUUID"},"Extensions/NSUUID.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSUUID"},"Extensions/NSUUID.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSUUID"},"Extensions/NSUUID.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSUUID"},"Extensions/NSURL.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSURL"},"Extensions/NSURL.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSURL"},"Extensions/NSURL.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSURL"},"Extensions/NSURL.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSURL"},"Extensions/NSString.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSString"},"Extensions/NSString.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSString"},"Extensions/NSString.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSString"},"Extensions/NSString.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSString"},"Extensions/NSNumber.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSNumber"},"Extensions/NSNull.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSNull"},"Extensions/NSNull.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSNull"},"Extensions/NSNull.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSNull"},"Extensions/NSNull.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSNull"},"Extensions/NSManagedObjectID.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSManagedObjectID"},"Extensions/NSManagedObjectID.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSManagedObjectID"},"Extensions/NSManagedObjectID.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSManagedObjectID"},"Extensions/NSManagedObjectID.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSManagedObjectID"},"Extensions/NSDate.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSDate"},"Extensions/NSDate.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSDate"},"Extensions/NSDate.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSDate"},"Extensions/NSDate.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSDate"},"Extensions/NSData.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"NSData"},"Extensions/NSData.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"NSData"},"Extensions/NSData.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"NSData"},"Extensions/NSData.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"NSData"},"Extensions/Int64.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Int64"},"Extensions/Int64.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Int64"},"Extensions/Int64.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Int64"},"Extensions/Int64.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Int64"},"Extensions/Int32.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Int32"},"Extensions/Int32.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Int32"},"Extensions/Int32.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Int32"},"Extensions/Int32.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Int32"},"Extensions/Int16.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Int16"},"Extensions/Int16.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Int16"},"Extensions/Int16.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Int16"},"Extensions/Int16.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Int16"},"Extensions/Int8.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Int8"},"Extensions/Int8.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Int8"},"Extensions/Int8.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Int8"},"Extensions/Int8.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Int8"},"Extensions/Int.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Int"},"Extensions/Int.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Int"},"Extensions/Int.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Int"},"Extensions/Int.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Int"},"Extensions/Float.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Float"},"Extensions/Float.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Float"},"Extensions/Float.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Float"},"Extensions/Float.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Float"},"Extensions/Double.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Double"},"Extensions/Double.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Double"},"Extensions/Double.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Double"},"Extensions/Double.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Double"},"Extensions/Date.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Date"},"Extensions/Date.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Date"},"Extensions/Date.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Date"},"Extensions/Date.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Date"},"Extensions/Data.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Data"},"Extensions/Data.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Data"},"Extensions/Data.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Data"},"Extensions/Data.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Data"},"Extensions/CGFloat.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"CGFloat"},"Extensions/CGFloat.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"CGFloat"},"Extensions/CGFloat.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"CGFloat"},"Extensions/CGFloat.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"CGFloat"},"Extensions/Bool.html#/s:9CoreStore22QueryableAttributeTypeP0c6NativeE0Qa":{"name":"QueryableNativeType","parent_name":"Bool"},"Extensions/Bool.html#/s:9CoreStore22QueryableAttributeTypeP06cs_rawdE0So011NSAttributeE0VvpZ":{"name":"cs_rawAttributeType","parent_name":"Bool"},"Extensions/Bool.html#/s:9CoreStore22QueryableAttributeTypeP07cs_fromc6NativeE0yxSg0chE0QzFZ":{"name":"cs_fromQueryableNativeType(_:)","parent_name":"Bool"},"Extensions/Bool.html#/s:9CoreStore22QueryableAttributeTypeP05cs_toc6NativeE00chE0QzyF":{"name":"cs_toQueryableNativeType()","parent_name":"Bool"},"Extensions/Progress.html#/s:So10NSProgressC9CoreStoreE18setProgressHandleryyyABcSgF":{"name":"setProgressHandler(_:)","abstract":"

    Sets a closure that the Progress calls whenever its fractionCompleted changes. You can use this instead of setting up KVO.

    ","parent_name":"Progress"},"Extensions/Progress.html#/c:@CM@CoreStore@@objc(cs)NSProgress(im)cs_setProgressHandler:":{"name":"cs_setProgressHandler(_:)","abstract":"

    Sets a closure that the NSProgress calls whenever its fractionCompleted changes. You can use this instead of setting up KVO.

    ","parent_name":"Progress"},"Extensions/Sequence.html#/s:ST9CoreStoreAA13OrderByClause7ElementRpzrlE8combinedAA0cD0VyAC_10ObjectTypeQZGyF":{"name":"combined()","abstract":"

    Combines multiple OrderBy predicates together

    ","parent_name":"Sequence"},"Extensions/Sequence.html#/s:ST9CoreStoreAA15WhereClauseType7ElementRpzrlE13combinedByAndAA0C0VyAC_06ObjectE0QZGyF":{"name":"combinedByAnd()","abstract":"

    Combines multiple Where predicates together using AND operator

    ","parent_name":"Sequence"},"Extensions/Sequence.html#/s:ST9CoreStoreAA15WhereClauseType7ElementRpzrlE12combinedByOrAA0C0VyAC_06ObjectE0QZGyF":{"name":"combinedByOr()","abstract":"

    Combines multiple Where predicates together using OR operator

    ","parent_name":"Sequence"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13fetchExistingyqd__Sgqd__AA13DynamicObjectRd__lF":{"name":"fetchExisting(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13fetchExistingyqd__SgSo17NSManagedObjectIDCAA07DynamicH0Rd__lF":{"name":"fetchExisting(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13fetchExistingySayqd__Gqd_0_AA13DynamicObjectRd__7ElementQyd_0_Rsd__STRd_0_r0_lF":{"name":"fetchExisting(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13fetchExistingySayqd__Gqd_0_AA13DynamicObjectRd__STRd_0_So09NSManagedH2IDC7ElementRtd_0_r0_lF":{"name":"fetchExisting(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP8fetchOneyqd__SgAA4FromVyqd__G_AA11FetchClause_pdtKAA13DynamicObjectRd__lF":{"name":"fetchOne(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP8fetchOneyqd__SgAA4FromVyqd__G_SayAA11FetchClause_pGtKAA13DynamicObjectRd__lF":{"name":"fetchOne(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP8fetchOney10ObjectTypeQyd__Sgqd__KAA021FetchChainableBuilderH0Rd__lF":{"name":"fetchOne(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP8fetchAllySayqd__GAA4FromVyqd__G_AA11FetchClause_pdtKAA13DynamicObjectRd__lF":{"name":"fetchAll(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP8fetchAllySayqd__GAA4FromVyqd__G_SayAA11FetchClause_pGtKAA13DynamicObjectRd__lF":{"name":"fetchAll(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP8fetchAllySay10ObjectTypeQyd__Gqd__KAA021FetchChainableBuilderH0Rd__lF":{"name":"fetchAll(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP10fetchCountySiAA4FromVyqd__G_AA11FetchClause_pdtKAA13DynamicObjectRd__lF":{"name":"fetchCount(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP10fetchCountySiAA4FromVyqd__G_SayAA11FetchClause_pGtKAA13DynamicObjectRd__lF":{"name":"fetchCount(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP10fetchCountySiqd__KAA25FetchChainableBuilderTypeRd__lF":{"name":"fetchCount(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13fetchObjectIDySo09NSManagedfG0CSgAA4FromVyqd__G_AA11FetchClause_pdtKAA07DynamicF0Rd__lF":{"name":"fetchObjectID(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13fetchObjectIDySo09NSManagedfG0CSgAA4FromVyqd__G_SayAA11FetchClause_pGtKAA07DynamicF0Rd__lF":{"name":"fetchObjectID(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13fetchObjectIDySo09NSManagedfG0CSgqd__KAA25FetchChainableBuilderTypeRd__lF":{"name":"fetchObjectID(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP14fetchObjectIDsySaySo09NSManagedF2IDCGAA4FromVyqd__G_AA11FetchClause_pdtKAA07DynamicF0Rd__lF":{"name":"fetchObjectIDs(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP14fetchObjectIDsySaySo09NSManagedF2IDCGAA4FromVyqd__G_SayAA11FetchClause_pGtKAA07DynamicF0Rd__lF":{"name":"fetchObjectIDs(_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP14fetchObjectIDsySaySo09NSManagedF2IDCGqd__KAA25FetchChainableBuilderTypeRd__lF":{"name":"fetchObjectIDs(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15QueryableSourceP10queryValueyqd_0_SgAA4FromVyqd__G_AA6SelectVyqd__qd_0_GAA11QueryClause_pdtKAA13DynamicObjectRd__AA0C13AttributeTypeRd_0_r0_lF":{"name":"queryValue(_:_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15QueryableSourceP10queryValueyqd_0_SgAA4FromVyqd__G_AA6SelectVyqd__qd_0_GSayAA11QueryClause_pGtKAA13DynamicObjectRd__AA0C13AttributeTypeRd_0_r0_lF":{"name":"queryValue(_:_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15QueryableSourceP10queryValuey10ResultTypeQyd__Sgqd__KAA021QueryChainableBuilderH0Rd__AA0c9AttributeH0AFRQlF":{"name":"queryValue(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15QueryableSourceP15queryAttributesySaySDySSypGGAA4FromVyqd__G_AA6SelectVyqd__So12NSDictionaryCGAA11QueryClause_pdtKAA13DynamicObjectRd__lF":{"name":"queryAttributes(_:_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15QueryableSourceP15queryAttributesySaySDySSypGGAA4FromVyqd__G_AA6SelectVyqd__So12NSDictionaryCGSayAA11QueryClause_pGtKAA13DynamicObjectRd__lF":{"name":"queryAttributes(_:_:_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15QueryableSourceP15queryAttributesySaySDySSypGGqd__KAA25QueryChainableBuilderTypeRd__So12NSDictionaryC06ResultJ0Rtd__lF":{"name":"queryAttributes(_:)","parent_name":"NSManagedObjectContext"},"Extensions/NSManagedObjectContext.html#/s:9CoreStore15FetchableSourceP13unsafeContextSo015NSManagedObjectF0CyF":{"name":"unsafeContext()","parent_name":"NSManagedObjectContext"},"Extensions/RawRepresentable.html#/s:SY9CoreStoreAA23ImportableAttributeType8RawValueRpzrlE022cs_fromQueryableNativeE0yxSgAC_0jkE0QZFZ":{"name":"cs_fromQueryableNativeType(_:)","abstract":"

    Creates an instance of this type from its QueryableNativeType value.

    ","parent_name":"RawRepresentable"},"Extensions/RawRepresentable.html#/s:SY9CoreStoreAA23ImportableAttributeType8RawValueRpzrlE020cs_toQueryableNativeE0AC_0jkE0QZyF":{"name":"cs_toQueryableNativeType()","abstract":"

    Creates QueryableNativeType value from this instance.

    ","parent_name":"RawRepresentable"},"Extensions/NSManagedObject.html#/s:9CoreStore13DynamicObjectP14cs_forceCreate17entityDescription4into8assignToxSo08NSEntityI0C_So09NSManagedD7ContextCSo012NSPersistentB0CtFZ":{"name":"cs_forceCreate(entityDescription:into:assignTo:)","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:9CoreStore13DynamicObjectP10cs_fromRaw6objectxSo09NSManagedD0C_tFZ":{"name":"cs_fromRaw(object:)","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:9CoreStore13DynamicObjectP10cs_matches6objectSbSo09NSManagedD0C_tFZ":{"name":"cs_matches(object:)","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:9CoreStore13DynamicObjectP5cs_idSo09NSManagedD2IDCyF":{"name":"cs_id()","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:9CoreStore13DynamicObjectP8cs_toRawSo09NSManagedD0CyF":{"name":"cs_toRaw()","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE11fetchSourceAC09FetchableF0_pSgyF":{"name":"fetchSource()","abstract":"

    Exposes a FetchableSource that can fetch sibling objects of this NSManagedObject instance. This may be the DataStack, a BaseDataTransaction, the NSManagedObjectContext itself, or nil if the obejct’s parent is already deallocated.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE11querySourceAC09QueryableF0_pSgyF":{"name":"querySource()","abstract":"

    Exposes a QueryableSource that can query attributes and aggregate values. This may be the DataStack, a BaseDataTransaction, the NSManagedObjectContext itself, or nil if the obejct’s parent is already deallocated.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE8getValue9forKvcKeyypSgSS_tF":{"name":"getValue(forKvcKey:)","abstract":"

    Provides a convenience wrapper for accessing primitiveValue(forKey:) with proper calls to willAccessValue(forKey:) and didAccessValue(forKey:). This is useful when implementing accessor methods for transient attributes.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE8getValue9forKvcKey06didGetF0xSS_xypSgKXEtKlF":{"name":"getValue(forKvcKey:didGetValue:)","abstract":"

    Provides a convenience wrapper for accessing primitiveValue(forKey:) with proper calls to willAccessValue(forKey:) and didAccessValue(forKey:). This is useful when implementing accessor methods for transient attributes.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE8getValue9forKvcKey07willGetF003didkF0xSS_yyKXExypSgKXEtKlF":{"name":"getValue(forKvcKey:willGetValue:didGetValue:)","abstract":"

    Provides a convenience wrapper for accessing primitiveValue(forKey:) with proper calls to willAccessValue(forKey:) and didAccessValue(forKey:). This is useful when implementing accessor methods for transient attributes.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE8setValue_9forKvcKeyyypSg_SStF":{"name":"setValue(_:forKvcKey:)","abstract":"

    Provides a convenience wrapper for setting setPrimitiveValue(_:forKey:) with proper calls to willChangeValue(forKey:) and didChangeValue(forKey:). This is useful when implementing mutator methods for transient attributes.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE8setValue_9forKvcKey06didSetF0yypSg_SSyyXEtF":{"name":"setValue(_:forKvcKey:didSetValue:)","abstract":"

    Provides a convenience wrapper for setting setPrimitiveValue(_:forKey:) with proper calls to willChangeValue(forKey:) and didChangeValue(forKey:).

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE8setValue_9forKvcKey07willSetF003didkF0yx_SSypSgxKXEyAHXEtKlF":{"name":"setValue(_:forKvcKey:willSetValue:didSetValue:)","abstract":"

    Provides a convenience wrapper for setting setPrimitiveValue(_:forKey:) with proper calls to willChangeValue(forKey:) and didChangeValue(forKey:). This is useful when implementing mutator methods for transient attributes.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE14refreshAsFaultyyF":{"name":"refreshAsFault()","abstract":"

    Re-faults the object to use the latest values from the persistent store

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE15refreshAndMergeyyF":{"name":"refreshAndMerge()","abstract":"

    Re-faults the object to use the latest values from the persistent store and merges previously pending changes back

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/c:@CM@CoreStore@@objc(cs)NSManagedObject(im)cs_accessValueForKVCKey:":{"name":"cs_accessValueForKVCKey(_:)","abstract":"

    Provides a convenience wrapper for accessing -primitiveValueForKey: with proper calls to -willAccessValueForKey: and -didAccessValueForKey:. This is useful when implementing accessor methods for transient attributes.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/c:@CM@CoreStore@@objc(cs)NSManagedObject(im)cs_setValue:forKVCKey:":{"name":"cs_setValue(_:forKVCKey:)","abstract":"

    Provides a convenience wrapper for setting -setPrimitiveValue: with proper calls to -willChangeValueForKey: and -didChangeValueForKey:. This is useful when implementing mutator methods for transient attributes.

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/c:@CM@CoreStore@@objc(cs)NSManagedObject(im)cs_refreshAsFault":{"name":"cs_refreshAsFault()","abstract":"

    Re-faults the object to use the latest values from the persistent store

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE18cs_refreshAndMergeyyF":{"name":"cs_refreshAndMerge()","abstract":"

    Re-faults the object to use the latest values from the persistent store and merges previously pending changes back

    ","parent_name":"NSManagedObject"},"Extensions/NSManagedObject.html#/s:So15NSManagedObjectC9CoreStoreE21unsafeDataTransactionAC06UnsafefG0CSgvp":{"name":"unsafeDataTransaction","abstract":"

    Returns this object’s parent UnsafeDataTransaction instance if it was created from one. Returns nil if the parent transaction is either an AsynchronousDataTransaction or a SynchronousDataTransaction, or if the object is not managed by CoreStore.

    ","parent_name":"NSManagedObject"},"Extensions/KeyPath.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"KeyPath"},"Extensions/KeyPath.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"KeyPath"},"Extensions/KeyPath.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"KeyPath"},"Extensions/KeyPath.html#/s:s7KeyPathC9CoreStoreSo15NSManagedObjectCRbzAC027AllowedObjectiveCCollectionaB5ValueR_rlE5countAC5WhereV10ExpressionVyx_AI16CollectionTargetOyx_GSiGyF":{"name":"count()","abstract":"

    Creates a Where.Expression clause for COUNT

    ","parent_name":"KeyPath"},"Extensions/KeyPath.html#/s:s7KeyPathC9CoreStoreAC0cD6ObjectCRbzAC07Allowedcde10CollectionaB5ValueR_rlE5countAC5WhereV10ExpressionVyx_AI0G6TargetOyx_GSiGyF":{"name":"count()","abstract":"

    Creates a Where.Expression clause for COUNT

    ","parent_name":"KeyPath"},"Extensions/KeyPathString.html#/s:SS9CoreStoreE7keyPathSSs03KeyD0Cyxq_G_tcSo15NSManagedObjectCRbzAA020AllowedObjectiveCKeyD5ValueR_r0_lufc":{"name":"init(keyPath:)","abstract":"

    Extracts the keyPath string from the property.

    ","parent_name":"KeyPathString"},"Extensions/KeyPathString.html#/s:SS9CoreStoreE7keyPathSSs03KeyD0Cyxq_G_tcAA0aB6ObjectCRbzAA07DynamiceD0R_r0_lufc":{"name":"init(keyPath:)","abstract":"

    Extracts the keyPath string from the property.

    ","parent_name":"KeyPathString"},"Extensions/KeyPathString.html#/s:SS9CoreStoreE7keyPathSSAA5WhereV10ExpressionVyx_q_q0_G_tcAA13DynamicObjectRzAA0eF5TraitR_r1_lufc":{"name":"init(keyPath:)","abstract":"

    Extracts the keyPath string from the property.

    ","parent_name":"KeyPathString"},"Extensions/Selector.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"Selector"},"Extensions/Result.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"Result"},"Extensions/NSDeleteRule.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"NSDeleteRule"},"Extensions/NSAttributeType.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"NSAttributeType"},"Extensions/NSAttributeType.html":{"name":"NSAttributeType"},"Extensions/NSDeleteRule.html":{"name":"NSDeleteRule"},"Extensions/Result.html":{"name":"Result"},"Extensions/Selector.html":{"name":"Selector"},"Extensions/KeyPathString.html":{"name":"KeyPathString"},"Extensions/KeyPath.html":{"name":"KeyPath"},"Extensions/NSManagedObject.html":{"name":"NSManagedObject"},"Extensions/RawRepresentable.html":{"name":"RawRepresentable"},"Extensions/NSManagedObjectContext.html":{"name":"NSManagedObjectContext"},"Extensions/Sequence.html":{"name":"Sequence"},"Extensions/Progress.html":{"name":"Progress"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Extensions/Data.html":{"name":"Data"},"Extensions/Date.html":{"name":"Date"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Int.html":{"name":"Int"},"Extensions/Int8.html":{"name":"Int8"},"Extensions/Int16.html":{"name":"Int16"},"Extensions/Int32.html":{"name":"Int32"},"Extensions/Int64.html":{"name":"Int64"},"Extensions/NSData.html":{"name":"NSData"},"Extensions/NSDate.html":{"name":"NSDate"},"Extensions/NSManagedObjectID.html":{"name":"NSManagedObjectID"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSURL.html":{"name":"NSURL"},"Extensions/NSUUID.html":{"name":"NSUUID"},"Extensions/String.html":{"name":"String"},"Extensions/URL.html":{"name":"URL"},"Extensions/UUID.html":{"name":"UUID"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC_10deleteRule8minCount03maxK019versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AC06DeleteI0Oyx_GS2iSSSgyXAAPyXAShySSGyXAtcfc":{"name":"init(_:deleteRule:minCount:maxCount:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC_7inverse10deleteRule8minCount03maxL019versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AC0E3OneCyqd___xGqd__cAC06DeleteJ0Oyx_GS2iSSSgyXAATyXAShySSGyXAtcfc":{"name":"init(_:inverse:deleteRule:minCount:maxCount:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC_7inverse10deleteRule8minCount03maxL019versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AC0eF7OrderedCyqd___xGqd__cAC06DeleteJ0Oyx_GS2iSSSgyXAATyXAShySSGyXAtcfc":{"name":"init(_:inverse:deleteRule:minCount:maxCount:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC_7inverse10deleteRule8minCount03maxL019versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AEyqd___xGqd__cAC06DeleteJ0Oyx_GS2iSSSgyXAARyXAShySSGyXAtcfc":{"name":"init(_:inverse:deleteRule:minCount:maxCount:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC5valueShyqd__Gvp":{"name":"value","abstract":"

    The relationship unordered objects.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC7observe7options13changeHandlerAA0aB25ObjectKeyValueObservation_pSo05NSKeyN16ObservingOptionsV_yx_AA0ablG4DiffCyqd__GtctF":{"name":"observe(options:changeHandler:)","abstract":"

    Observes changes in the receiver value. When the returned CoreStoreObjectKeyValueObservation is deinited or invalidated, it will stop observing.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC5countSivp":{"name":"count","abstract":"

    The number of elements in the set.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC7isEmptySbvp":{"name":"isEmpty","abstract":"

    A Boolean value indicating whether the range contains no elements.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:ST8IteratorQa":{"name":"Iterator","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:ST12makeIterator0B0QzyF":{"name":"makeIterator()","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC2zeoiyyAEyx_qd__G_qd0__t7ElementQyd0__Rsd__STRd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a sequence of objects to the relationship. The operation

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC2zeoiyyAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a sequence of objects to the relationship. The operation

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC2zeoiyyAEyx_qd__G_AC0eF7OrderedCyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a sequence of objects to the relationship. The operation

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC3zeeoiySbAEyx_qd__G_Shyqd__GtFZ":{"name":".==(_:_:)","abstract":"

    Compares the if the relationship’s objects and a set of objects have the same elements.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC3zeeoiySbShyqd__G_AEyx_qd__GtFZ":{"name":".==(_:_:)","abstract":"

    Compares if a set of objects and a relationship’s objects have the same elements.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyUnordered.html#/s:9CoreStore21RelationshipContainerO15ToManyUnorderedC3zeeoiySbAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".==(_:_:)","abstract":"

    Compares if a relationship’s objects and another relationship’s objects have the same elements.

    ","parent_name":"ToManyUnordered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC_8minCount03maxI010deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_S2iAC06DeleteL0Oyx_GSSSgyXAAPyXAShySSGyXAtcfc":{"name":"init(_:minCount:maxCount:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC_8minCount03maxI07inverse10deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_S2iAC0E3OneCyqd___xGqd__cAC06DeleteM0Oyx_GSSSgyXAATyXAShySSGyXAtcfc":{"name":"init(_:minCount:maxCount:inverse:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC_8minCount03maxI07inverse10deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_S2iAEyqd___xGqd__cAC06DeleteM0Oyx_GSSSgyXAARyXAShySSGyXAtcfc":{"name":"init(_:minCount:maxCount:inverse:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC_8minCount03maxI07inverse10deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_S2iAC0eF9UnorderedCyqd___xGqd__cAC06DeleteM0Oyx_GSSSgyXAATyXAShySSGyXAtcfc":{"name":"init(_:minCount:maxCount:inverse:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC5valueSayqd__Gvp":{"name":"value","abstract":"

    The relationship ordered objects.

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC7observe7options13changeHandlerAA0aB25ObjectKeyValueObservation_pSo05NSKeyN16ObservingOptionsV_yx_AA0ablG4DiffCyqd__GtctF":{"name":"observe(options:changeHandler:)","abstract":"

    Observes changes in the receiver value. When the returned CoreStoreObjectKeyValueObservation is deinited or invalidated, it will stop observing.

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:Sl8IteratorQa":{"name":"Iterator","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:Sl12makeIterator0B0QzyF":{"name":"makeIterator()","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:Sl5IndexQa":{"name":"Index","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:Sl10startIndex0B0Qzvp":{"name":"startIndex","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:Sl8endIndex0B0Qzvp":{"name":"endIndex","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:Sly7ElementQz5IndexQzcip":{"name":"subscript(_:)","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:Sk5index5after5IndexQzAD_tF":{"name":"index(after:)","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC2zeoiyyAEyx_qd__G_qd0__t7ElementQyd0__Rsd__STRd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a sequence of objects to the relationship. The operation

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC2zeoiyyAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a sequence of objects to the relationship. The operation

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC3zeeoiySbAEyx_qd__G_qd0__t7ElementQyd0__Rsd__SlRd0__lFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a relationship’s objects and a collection of objects

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC3zeeoiySbqd0___AEyx_qd__Gt7ElementQyd0__Rsd__SlRd0__lFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a collection of objects and a relationship’s objects

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToManyOrdered.html#/s:9CoreStore21RelationshipContainerO13ToManyOrderedC3zeeoiySbAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a relationship’s objects and a collection of objects

    ","parent_name":"ToManyOrdered"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC_10deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AC06DeleteH0Oyx_GSSSgyXAANyXAShySSGyXAtcfc":{"name":"init(_:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC_7inverse10deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AEyqd___xGqd__cAC06DeleteI0Oyx_GSSSgyXAAPyXAShySSGyXAtcfc":{"name":"init(_:inverse:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC_7inverse10deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AC0E11ManyOrderedCyqd___xGqd__cAC06DeleteI0Oyx_GSSSgyXAARyXAShySSGyXAtcfc":{"name":"init(_:inverse:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC_7inverse10deleteRule19versionHashModifier18renamingIdentifier18affectedByKeyPathsAEyx_qd__GSS_AC0E13ManyUnorderedCyqd___xGqd__cAC06DeleteI0Oyx_GSSSgyXAARyXAShySSGyXAtcfc":{"name":"init(_:inverse:deleteRule:versionHashModifier:renamingIdentifier:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the relationship. All relationships require an inverse, so updates to to this object’s relationship are also reflected on its destination object. Make sure to declare this relationship’s inverse relationship on its destination object. Due to Swift’s compiler limitation, only one of the relationship and its inverse can declare an inverse: argument.

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC5valueqd__Sgvp":{"name":"value","abstract":"

    The relationship destination object.

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC7observe7options13changeHandlerAA0aB25ObjectKeyValueObservation_pSo05NSKeyM16ObservingOptionsV_yx_AA0abkK4DiffCyqd__GtctF":{"name":"observe(options:changeHandler:)","abstract":"

    Observes changes in the receiver value. When the returned CoreStoreObjectKeyValueObservation is deinited or invalidated, it will stop observing.

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC2eeoiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC2neoiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC2teoiyAA5WhereVyxGqd0___AEyx_qd__Gt7ElementQyd0__Rsd__STRd0__lFZ":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains the value of a property

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC2zeoiyyAEyx_qd__G_qd__SgtFZ":{"name":".=(_:_:)","abstract":"

    Assigns an object to the relationship. The operation

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC2zeoiyyAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns an object from another relationship. The operation

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC3zeeoiySbAEyx_qd__G_qd__SgtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a relationship’s object and another object

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC3zeeoiySbqd__Sg_AEyx_qd__GtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between an object and a relationship’s object

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html#/s:9CoreStore21RelationshipContainerO5ToOneC3zeeoiySbAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a relationship’s object and another relationship’s object

    ","parent_name":"ToOne"},"Enums/RelationshipContainer/ToOne.html":{"name":"ToOne","abstract":"

    The containing type for to-one relationships. Any CoreStoreObject subclass can be a destination type. Inverse relationships should be declared from the destination type as well, using the inverse: argument for the relationship.

    ","parent_name":"RelationshipContainer"},"Enums/RelationshipContainer/ToManyOrdered.html":{"name":"ToManyOrdered","abstract":"

    The containing type for to-many ordered relationships. Any CoreStoreObject subclass can be a destination type. Inverse relationships should be declared from the destination type as well, using the inverse: argument for the relationship.

    ","parent_name":"RelationshipContainer"},"Enums/RelationshipContainer/ToManyUnordered.html":{"name":"ToManyUnordered","abstract":"

    The containing type for to-many unordered relationships. Any CoreStoreObject subclass can be a destination type. Inverse relationships should be declared from the destination type as well, using the inverse: argument for the relationship.

    ","parent_name":"RelationshipContainer"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore22TransformableContainerO8OptionalC_7initial11isTransient31allowsExternalBinaryDataStorage19versionHashModifier18renamingIdentifier12customGetter0S6Setter18affectedByKeyPathsAEyx_qd__GSS_qd__SgyXAS2bSSSgyXAAPyXAAoA13PartialObjectVyxGcSgyAS_AOtcSgShySSGyXAtcfc":{"name":"init(_:initial:isTransient:allowsExternalBinaryDataStorage:versionHashModifier:renamingIdentifier:customGetter:customSetter:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the property.

    ","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore22TransformableContainerO8OptionalC5valueqd__Sgvp":{"name":"value","abstract":"

    The property value.

    ","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore22TransformableContainerO8OptionalC7observe7options13changeHandlerAA0aB25ObjectKeyValueObservation_pSo05NSKeyL16ObservingOptionsV_yx_AA0abjC4DiffCyqd__GtctF":{"name":"observe(options:changeHandler:)","abstract":"

    Observes changes in the receiver value. When the returned CoreStoreObjectKeyValueObservation is deinited or invalidated, it will stop observing.

    ","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore22TransformableContainerO8OptionalC2zeoiyyAEyx_qd__G_qd__SgtFZ":{"name":".=(_:_:)","abstract":"

    Assigns an optional transformable value to the property. The operation

    ","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore22TransformableContainerO8OptionalC2zeoiyyAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns an optional transformable value from another property. The operation

    ","parent_name":"Optional"},"Enums/TransformableContainer/Optional.html#/s:9CoreStore22TransformableContainerO8OptionalC2zeoiyyAEyx_qd__G_AC8RequiredCyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a transformable value from another property. The operation

    ","parent_name":"Optional"},"Enums/TransformableContainer/Required.html#/s:9CoreStore22TransformableContainerO8RequiredC_7initial11isTransient31allowsExternalBinaryDataStorage19versionHashModifier18renamingIdentifier12customGetter0S6Setter18affectedByKeyPathsAEyx_qd__GSS_qd__yXAS2bSSSgyXAAOyXAqd__AA13PartialObjectVyxGcSgyAR_qd__tcSgShySSGyXAtcfc":{"name":"init(_:initial:isTransient:allowsExternalBinaryDataStorage:versionHashModifier:renamingIdentifier:customGetter:customSetter:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the property.

    ","parent_name":"Required"},"Enums/TransformableContainer/Required.html#/s:9CoreStore22TransformableContainerO8RequiredC5valueqd__vp":{"name":"value","abstract":"

    The property value.

    ","parent_name":"Required"},"Enums/TransformableContainer/Required.html#/s:9CoreStore22TransformableContainerO8RequiredC7observe7options13changeHandlerAA0aB25ObjectKeyValueObservation_pSo05NSKeyL16ObservingOptionsV_yx_AA0abjC4DiffCyqd__GtctF":{"name":"observe(options:changeHandler:)","abstract":"

    Observes changes in the receiver value. When the returned CoreStoreObjectKeyValueObservation is deinited or invalidated, it will stop observing.

    ","parent_name":"Required"},"Enums/TransformableContainer/Required.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"Required"},"Enums/TransformableContainer/Required.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"Required"},"Enums/TransformableContainer/Required.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"Required"},"Enums/TransformableContainer/Required.html#/s:9CoreStore22TransformableContainerO8RequiredC2zeoiyyAEyx_qd__G_qd__tFZ":{"name":".=(_:_:)","abstract":"

    Assigns a transformable value to the property. The operation

    ","parent_name":"Required"},"Enums/TransformableContainer/Required.html#/s:9CoreStore22TransformableContainerO8RequiredC2zeoiyyAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a transformable value from another property. The operation

    ","parent_name":"Required"},"Enums/TransformableContainer/Required.html":{"name":"Required","abstract":"

    The containing type for transformable properties. Any type that conforms to NSCoding & NSCopying are supported.

    ","parent_name":"TransformableContainer"},"Enums/TransformableContainer/Optional.html":{"name":"Optional","abstract":"

    The containing type for optional transformable properties. Any type that conforms to NSCoding & NSCopying are supported.

    ","parent_name":"TransformableContainer"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC_7initial11isTransient19versionHashModifier18renamingIdentifier12customGetter0N6Setter18affectedByKeyPathsAEyx_qd__GSS_qd__SgyXASbSSSgyXAAOyXAAnA13PartialObjectVyxGcSgyAR_ANtcSgShySSGyXAtcfc":{"name":"init(_:initial:isTransient:versionHashModifier:renamingIdentifier:customGetter:customSetter:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the property.

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC5valueqd__Sgvp":{"name":"value","abstract":"

    The property value.

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC7observe7options13changeHandlerAA0ab9ObjectKeyC11Observation_pSo05NSKeyC16ObservingOptionsV_yx_AA0abjC4DiffCyqd__GtctF":{"name":"observe(options:changeHandler:)","abstract":"

    Observes changes in the receiver value. When the returned CoreStoreObjectKeyValueObservation is deinited or invalidated, it will stop observing.

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2eeoiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2neoiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC1loiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":"<(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than a value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC1goiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":">(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than a value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2leoiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":"<=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than or equal to a value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2geoiyAA5WhereVyxGAEyx_qd__G_qd__SgtFZ":{"name":">=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than or equal to a value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2teoiyAA5WhereVyxGqd0___AEyx_qd__Gt7ElementQyd0__Rsd__STRd0__lFZ":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains the value of a property

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2zeoiyyAEyx_qd__G_qd__SgtFZ":{"name":".=(_:_:)","abstract":"

    Assigns an optional value to the property. The operation

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2zeoiyyAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns an optional value from another property. The operation

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC2zeoiyyAEyx_qd__G_AC8RequiredCyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a value from another property. The operation

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC3zeeoiySbAEyx_qd__G_qd__SgtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a property’s value and another value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC3zeeoiySbqd__Sg_AEyx_qd__GtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a property’s value and another property’s value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC3zeeoiySbAEyx_qd__G_AGtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a property’s value and another property’s value

    ","parent_name":"Optional"},"Enums/ValueContainer/Optional.html#/s:9CoreStore14ValueContainerO8OptionalC3zeeoiySbAEyx_qd__G_AC8RequiredCyx_qd__GtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a property’s value and another property’s value

    ","parent_name":"Optional"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC_7initial11isTransient19versionHashModifier18renamingIdentifier12customGetter0N6Setter18affectedByKeyPathsAEyx_qd__GSS_qd__yXASbSSSgyXAANyXAqd__AA13PartialObjectVyxGcSgyAQ_qd__tcSgShySSGyXAtcfc":{"name":"init(_:initial:isTransient:versionHashModifier:renamingIdentifier:customGetter:customSetter:affectedByKeyPaths:)","abstract":"

    Initializes the metadata for the property.

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC5valueqd__vp":{"name":"value","abstract":"

    The property value.

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC7observe7options13changeHandlerAA0ab9ObjectKeyC11Observation_pSo05NSKeyC16ObservingOptionsV_yx_AA0abjC4DiffCyqd__GtctF":{"name":"observe(options:changeHandler:)","abstract":"

    Observes changes in the receiver value. When the returned CoreStoreObjectKeyValueObservation is deinited or invalidated, it will stop observing.

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC2eeoiyAA5WhereVyxGAEyx_qd__G_qd__tFZ":{"name":"==(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is equal to a value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC2neoiyAA5WhereVyxGAEyx_qd__G_qd__tFZ":{"name":"!=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is not equal to a value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC1loiyAA5WhereVyxGAEyx_qd__G_qd__tFZ":{"name":"<(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than a value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC1goiyAA5WhereVyxGAEyx_qd__G_qd__tFZ":{"name":">(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than a value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC2leoiyAA5WhereVyxGAEyx_qd__G_qd__tFZ":{"name":"<=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is less than or equal to a value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC2geoiyAA5WhereVyxGAEyx_qd__G_qd__tFZ":{"name":">=(_:_:)","abstract":"

    Creates a Where clause by comparing if a property is greater than or equal to a value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC2teoiyAA5WhereVyxGqd0___AEyx_qd__Gt7ElementQyd0__Rsd__STRd0__lFZ":{"name":"~=(_:_:)","abstract":"

    Creates a Where clause by checking if a sequence contains the value of a property

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14DynamicKeyPathP10ObjectTypeQa":{"name":"ObjectType","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14DynamicKeyPathP9ValueTypeQa":{"name":"ValueType","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore17AnyDynamicKeyPathP06cs_keyF6StringSSvp":{"name":"cs_keyPathString","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC2zeoiyyAEyx_qd__G_qd__tFZ":{"name":".=(_:_:)","abstract":"

    Assigns a value to the property. The operation

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC2zeoiyyAEyx_qd__G_AEyqd0___qd__GtAA0aB6ObjectCRbd0__lFZ":{"name":".=(_:_:)","abstract":"

    Assigns a value from another property. The operation

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC3zeeoiySbAEyx_qd__G_qd__SgtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a property’s value and another value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC3zeeoiySbqd__Sg_AEyx_qd__GtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a value and a property’s value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC3zeeoiySbAEyx_qd__G_AGtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a property’s value and another property’s value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html#/s:9CoreStore14ValueContainerO8RequiredC3zeeoiySbAEyx_qd__G_AC8OptionalCyx_qd__GtFZ":{"name":".==(_:_:)","abstract":"

    Compares equality between a property’s value and another property’s value

    ","parent_name":"Required"},"Enums/ValueContainer/Required.html":{"name":"Required","abstract":"

    The containing type for required value properties. Any type that conforms to ImportableAttributeType are supported.

    ","parent_name":"ValueContainer"},"Enums/ValueContainer/Optional.html":{"name":"Optional","abstract":"

    The containing type for optional value properties. Any type that conforms to ImportableAttributeType are supported.

    ","parent_name":"ValueContainer"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO07unknownC0yA2CmF":{"name":"unknownError","abstract":"

    A failure occured because of an unknown error.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO27differentStorageExistsAtURLyA2CmF":{"name":"differentStorageExistsAtURL","abstract":"

    The NSPersistentStore could note be initialized because another store existed at the specified NSURL.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO20mappingModelNotFoundyA2CmF":{"name":"mappingModelNotFound","abstract":"

    An NSMappingModel could not be found for a specific source and destination model versions.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO28progressiveMigrationRequiredyA2CmF":{"name":"progressiveMigrationRequired","abstract":"

    Progressive migrations are disabled for a store, but an NSMappingModel could not be found for a specific source and destination model versions.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO29asynchronousMigrationRequiredyA2CmF":{"name":"asynchronousMigrationRequired","abstract":"

    The LocalStorage was configured with .allowSynchronousLightweightMigration, but the model can only be migrated asynchronously.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO08internalC0yA2CmF":{"name":"internalError","abstract":"

    An internal SDK call failed with the specified NSError userInfo key.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO04userC0yA2CmF":{"name":"userError","abstract":"

    The transaction was terminated by a user-thrown Error specified by Error userInfo key.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO13userCancelledyA2CmF":{"name":"userCancelled","abstract":"

    The transaction was cancelled by the user.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStoreErrorCode.html#/s:9CoreStore0aB9ErrorCodeO010persistentB8NotFoundyA2CmF":{"name":"persistentStoreNotFound","abstract":"

    Attempted to perform a fetch but could not find any related persistent store.

    ","parent_name":"CoreStoreErrorCode"},"Enums/CoreStore.html#/s:9CoreStoreAAO12defaultStackAA04DataD0CvpZ":{"name":"defaultStack","abstract":"

    The default DataStack instance to be used. If defaultStack is not set before the first time accessed, a default-configured DataStack will be created.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO6loggerAA0aB6Logger_pvpZ":{"name":"logger","abstract":"

    The CoreStoreLogger instance to be used. The default logger is an instance of a DefaultLogger.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10addStorage_10completionyx_ys6ResultOyxAA0aB5ErrorOGctAA0D9InterfaceRzlFZ":{"name":"addStorage(_:completion:)","abstract":"

    Asynchronously adds a StorageInterface to the defaultStack. Migrations are also initiated by default.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10addStorage_10completionSo10NSProgressCSgx_ys6ResultOyxAA0aB5ErrorOGctAA05LocalD0RzlFZ":{"name":"addStorage(_:completion:)","abstract":"

    Asynchronously adds a LocalStorage to the defaultStack. Migrations are also initiated by default.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10addStorage_10completionyx_ys6ResultOyxAA0aB5ErrorOGctAA05CloudD0RzlFZ":{"name":"addStorage(_:completion:)","abstract":"

    Asynchronously adds a CloudStorage to the defaultStack. Migrations are also initiated by default.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO22upgradeStorageIfNeeded_10completionSo10NSProgressCSgx_ys6ResultOySayAA13MigrationTypeOGAA0aB5ErrorOGctKAA05LocalD0RzlFZ":{"name":"upgradeStorageIfNeeded(_:completion:)","abstract":"

    Migrates a local storage to match the defaultStack‘s managed object model version. This method does NOT add the migrated store to the data stack.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO28requiredMigrationsForStorageySayAA13MigrationTypeOGxKAA05LocalF0RzlFZ":{"name":"requiredMigrationsForStorage(_:)","abstract":"

    Checks the migration steps required for the storage to match the defaultStack‘s managed object model version.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13monitorObjectyAA0D7MonitorCyxGxAA07DynamicD0RzlFZ":{"name":"monitorObject(_:)","abstract":"

    Using the defaultStack, creates an ObjectMonitor for the specified DynamicObject. Multiple ObjectObservers may then register themselves to be notified when changes are made to the DynamicObject.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO11monitorListyAA0D7MonitorCyxGAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlFZ":{"name":"monitorList(_:_:)","abstract":"

    Using the defaultStack, creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO11monitorListyAA0D7MonitorCyxGAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlFZ":{"name":"monitorList(_:_:)","abstract":"

    Using the defaultStack, creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO11monitorListyAA0D7MonitorCy10ObjectTypeQzGxAA021FetchChainableBuilderG0RzlFZ":{"name":"monitorList(_:)","abstract":"

    Creates a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO11monitorList20createAsynchronously__yyAA0D7MonitorCyxGc_AA4FromVyxGAA11FetchClause_pdtAA13DynamicObjectRzlFZ":{"name":"monitorList(createAsynchronously:_:_:)","abstract":"

    Using the defaultStack, asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO11monitorList20createAsynchronously__yyAA0D7MonitorCyxGc_AA4FromVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlFZ":{"name":"monitorList(createAsynchronously:_:_:)","abstract":"

    Using the defaultStack, asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO11monitorList20createAsynchronously_yyAA0D7MonitorCy10ObjectTypeQzGc_xtAA021FetchChainableBuilderI0RzlFZ":{"name":"monitorList(createAsynchronously:_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO20monitorSectionedListyAA0E7MonitorCyxGAA4FromVyxG_AA9SectionByVyxGAA11FetchClause_pdtAA13DynamicObjectRzlFZ":{"name":"monitorSectionedList(_:_:_:)","abstract":"

    Using the defaultStack, creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO20monitorSectionedListyAA0E7MonitorCyxGAA4FromVyxG_AA9SectionByVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlFZ":{"name":"monitorSectionedList(_:_:_:)","abstract":"

    Using the defaultStack, creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO20monitorSectionedListyAA0E7MonitorCy10ObjectTypeQzGxAA07Sectionf7BuilderH0RzlFZ":{"name":"monitorSectionedList(_:)","abstract":"

    Creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified SectionMonitorBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO20monitorSectionedList20createAsynchronously___yyAA0E7MonitorCyxGc_AA4FromVyxGAA9SectionByVyxGAA11FetchClause_pdtAA13DynamicObjectRzlFZ":{"name":"monitorSectionedList(createAsynchronously:_:_:_:)","abstract":"

    Using the defaultStack, asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO20monitorSectionedList20createAsynchronously___yyAA0E7MonitorCyxGc_AA4FromVyxGAA9SectionByVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlFZ":{"name":"monitorSectionedList(createAsynchronously:_:_:_:)","abstract":"

    Using the defaultStack, asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO20monitorSectionedList20createAsynchronously_yyAA0E7MonitorCy10ObjectTypeQzGc_xtAA07Sectionh7BuilderJ0RzlFZ":{"name":"monitorSectionedList(createAsynchronously:_:)","abstract":"

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified SectionMonitorBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13fetchExistingyxSgxAA13DynamicObjectRzlFZ":{"name":"fetchExisting(_:)","abstract":"

    Using the defaultStack, fetches the DynamicObject instance in the DataStack‘s context from a reference created from a transaction or from a different managed object context.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13fetchExistingyxSgSo17NSManagedObjectIDCAA07DynamicF0RzlFZ":{"name":"fetchExisting(_:)","abstract":"

    Using the defaultStack, fetches the DynamicObject instance in the DataStack‘s context from an NSManagedObjectID.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13fetchExistingySayxGq_AA13DynamicObjectRz7ElementQy_RszSTR_r0_lFZ":{"name":"fetchExisting(_:)","abstract":"

    Using the defaultStack, fetches the DynamicObject instances in the DataStack‘s context from references created from a transaction or from a different managed object context.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13fetchExistingySayxGq_AA13DynamicObjectRzSTR_So09NSManagedF2IDC7ElementRt_r0_lFZ":{"name":"fetchExisting(_:)","abstract":"

    Using the defaultStack, fetches the DynamicObject instances in the DataStack‘s context from a list of NSManagedObjectID.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO8fetchOneyxSgAA4FromVyxG_AA11FetchClause_pdtKAA13DynamicObjectRzlFZ":{"name":"fetchOne(_:_:)","abstract":"

    Using the defaultStack, fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO8fetchOneyxSgAA4FromVyxG_SayAA11FetchClause_pGtKAA13DynamicObjectRzlFZ":{"name":"fetchOne(_:_:)","abstract":"

    Using the defaultStack, fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO8fetchOney10ObjectTypeQzSgxKAA021FetchChainableBuilderF0RzlFZ":{"name":"fetchOne(_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO8fetchAllySayxGAA4FromVyxG_AA11FetchClause_pdtKAA13DynamicObjectRzlFZ":{"name":"fetchAll(_:_:)","abstract":"

    Using the defaultStack, fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO8fetchAllySayxGAA4FromVyxG_SayAA11FetchClause_pGtKAA13DynamicObjectRzlFZ":{"name":"fetchAll(_:_:)","abstract":"

    Using the defaultStack, fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO8fetchAllySay10ObjectTypeQzGxKAA021FetchChainableBuilderF0RzlFZ":{"name":"fetchAll(_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10fetchCountySiAA4FromVyxG_AA11FetchClause_pdtKAA13DynamicObjectRzlFZ":{"name":"fetchCount(_:_:)","abstract":"

    Using the defaultStack, fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10fetchCountySiAA4FromVyxG_SayAA11FetchClause_pGtKAA13DynamicObjectRzlFZ":{"name":"fetchCount(_:_:)","abstract":"

    Using the defaultStack, fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10fetchCountySixKAA25FetchChainableBuilderTypeRzlFZ":{"name":"fetchCount(_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13fetchObjectIDySo09NSManageddE0CSgAA4FromVyxG_AA11FetchClause_pdtKAA07DynamicD0RzlFZ":{"name":"fetchObjectID(_:_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13fetchObjectIDySo09NSManageddE0CSgAA4FromVyxG_SayAA11FetchClause_pGtKAA07DynamicD0RzlFZ":{"name":"fetchObjectID(_:_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO13fetchObjectIDySo09NSManageddE0CSgxKAA25FetchChainableBuilderTypeRzlFZ":{"name":"fetchObjectID(_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO14fetchObjectIDsySaySo09NSManagedD2IDCGAA4FromVyxG_AA11FetchClause_pdtKAA07DynamicD0RzlFZ":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO14fetchObjectIDsySaySo09NSManagedD2IDCGAA4FromVyxG_SayAA11FetchClause_pGtKAA07DynamicD0RzlFZ":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO14fetchObjectIDsySaySo09NSManagedD2IDCGxKAA25FetchChainableBuilderTypeRzlFZ":{"name":"fetchObjectIDs(_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10queryValueyq_SgAA4FromVyxG_AA6SelectVyxq_GAA11QueryClause_pdtKAA13DynamicObjectRzAA22QueryableAttributeTypeR_r0_lFZ":{"name":"queryValue(_:_:_:)","abstract":"

    Using the defaultStack, queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10queryValueyq_SgAA4FromVyxG_AA6SelectVyxq_GSayAA11QueryClause_pGtKAA13DynamicObjectRzAA22QueryableAttributeTypeR_r0_lFZ":{"name":"queryValue(_:_:_:)","abstract":"

    Using the defaultStack, queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO10queryValuey10ResultTypeQzSgxKAA021QueryChainableBuilderF0RzAA018QueryableAttributeF0AERQlFZ":{"name":"queryValue(_:)","abstract":"

    Queries a property value or aggregate as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO15queryAttributesySaySDySSypGGAA4FromVyxG_AA6SelectVyxSo12NSDictionaryCGAA11QueryClause_pdtKAA13DynamicObjectRzlFZ":{"name":"queryAttributes(_:_:_:)","abstract":"

    Using the defaultStack, queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO15queryAttributesySaySDySSypGGAA4FromVyxG_AA6SelectVyxSo12NSDictionaryCGSayAA11QueryClause_pGtKAA13DynamicObjectRzlFZ":{"name":"queryAttributes(_:_:_:)","abstract":"

    Using the defaultStack, queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO15queryAttributesySaySDySSypGGxKAA25QueryChainableBuilderTypeRzSo12NSDictionaryC06ResultH0RtzlFZ":{"name":"queryAttributes(_:)","abstract":"

    Queries a dictionary of attribute values or as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO12modelVersionSSvpZ":{"name":"modelVersion","abstract":"

    Returns the defaultStack‘s model version. The version string is the same as the name of a version-specific .xcdatamodeld file or CoreStoreSchema.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17entityTypesByName3forSDySSSo15NSManagedObjectCmGAFm_tFZ":{"name":"entityTypesByName(for:)","abstract":"

    Returns the entity name-to-class type mapping from the defaultStack‘s model.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17entityTypesByName3forSDySSAA0aB6ObjectCmGAFm_tFZ":{"name":"entityTypesByName(for:)","abstract":"

    Returns the entity name-to-class type mapping from the defaultStack‘s model.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17entityDescription3forSo08NSEntityD0CSgSo15NSManagedObjectCm_tFZ":{"name":"entityDescription(for:)","abstract":"

    Returns the NSEntityDescription for the specified NSManagedObject subclass from defaultStack‘s model.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17entityDescription3forSo08NSEntityD0CSgAA0aB6ObjectCm_tFZ":{"name":"entityDescription(for:)","abstract":"

    Returns the NSEntityDescription for the specified CoreStoreObject subclass from defaultStack‘s model.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17addStorageAndWaitAA06SQLiteB0CyKFZ":{"name":"addStorageAndWait()","abstract":"

    Creates an SQLiteStore with default parameters and adds it to the defaultStack. This method blocks until completion.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17addStorageAndWaityxxKAA0D9InterfaceRzlFZ":{"name":"addStorageAndWait(_:)","abstract":"

    Adds a StorageInterface to the defaultStack and blocks until completion.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17addStorageAndWaityxxKAA05LocalD0RzlFZ":{"name":"addStorageAndWait(_:)","abstract":"

    Adds a LocalStorage to the defaultStack and blocks until completion.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO17addStorageAndWaityxxKAA05CloudD0RzlFZ":{"name":"addStorageAndWait(_:)","abstract":"

    Adds a CloudStorage to the defaultStack and blocks until completion.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO7perform12asynchronous10completionyxAA27AsynchronousDataTransactionCKc_ys6ResultOyxAA0aB5ErrorOGctlFZ":{"name":"perform(asynchronous:completion:)","abstract":"

    Using the defaultStack, performs a transaction asynchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the wrapped as .success(T) in the completion‘s Result<T>. Any errors thrown from inside the task will be reported as .failure(CoreStoreError). To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO7perform12asynchronous7success7failureyxAA27AsynchronousDataTransactionCKc_yxcyAA0aB5ErrorOctlFZ":{"name":"perform(asynchronous:success:failure:)","abstract":"

    Using the defaultStack, performs a transaction asynchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the argument of the success closure. Any errors thrown from inside the task will be wrapped in a CoreStoreError and reported in the failure closure. To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO7perform11synchronous19waitForAllObserversxxAA26SynchronousDataTransactionCKXE_SbtKlFZ":{"name":"perform(synchronous:waitForAllObservers:)","abstract":"

    Using the defaultStack, performs a transaction synchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the return value of perform(synchronous:). Any errors thrown from inside the task will be thrown from perform(synchronous:). To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO11beginUnsafe12supportsUndoAA0D15DataTransactionCSb_tFZ":{"name":"beginUnsafe(supportsUndo:)","abstract":"

    Using the defaultStack, begins a non-contiguous transaction where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"CoreStore"},"Enums/CoreStore.html#/s:9CoreStoreAAO25refreshAndMergeAllObjectsyyFZ":{"name":"refreshAndMergeAllObjects()","abstract":"

    Refreshes all registered objects NSManagedObjects or CoreStoreObjects in the defaultStack.

    ","parent_name":"CoreStore"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermO9attributeyACyxGSSFZ":{"name":"attribute(_:)","abstract":"

    Provides a SelectTerm to a Select clause for querying an entity attribute. A shorter way to do the same is to assign from the string keypath directly:

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermO7average_2asACyxGSS_SSSgtFZ":{"name":"average(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the average value of an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermO5count_2asACyxGSS_SSSgtFZ":{"name":"count(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for a count query.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermO7maximum_2asACyxGSS_SSSgtFZ":{"name":"maximum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the maximum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermO7minimum_2asACyxGSS_SSSgtFZ":{"name":"minimum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the minimum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermO3sum_2asACyxGSS_SSSgtFZ":{"name":"sum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the sum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermO8objectID2asACyxGSSSg_tFZ":{"name":"objectID(as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the NSManagedObjectID.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:s26ExpressibleByStringLiteralP06stringD0x0cD4TypeQz_tcfc":{"name":"init(stringLiteral:)","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:s33ExpressibleByUnicodeScalarLiteralP07unicodedE0x0cdE4TypeQz_tcfc":{"name":"init(unicodeScalarLiteral:)","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:s43ExpressibleByExtendedGraphemeClusterLiteralP08extendeddeF0x0cdeF4TypeQz_tcfc":{"name":"init(extendedGraphemeClusterLiteral:)","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOAASo15NSManagedObjectCRbzrlE9attributeyACyxGs7KeyPathCyxqd__GlFZ":{"name":"attribute(_:)","abstract":"

    Provides a SelectTerm to a Select clause for querying an entity attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOAASo15NSManagedObjectCRbzrlE7average_2asACyxGs7KeyPathCyxqd__G_SSSgtlFZ":{"name":"average(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the average value of an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOAASo15NSManagedObjectCRbzrlE5count_2asACyxGs7KeyPathCyxqd__G_SSSgtlFZ":{"name":"count(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for a count query.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOAASo15NSManagedObjectCRbzrlE7maximum_2asACyxGs7KeyPathCyxqd__G_SSSgtlFZ":{"name":"maximum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the maximum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOAASo15NSManagedObjectCRbzrlE7minimum_2asACyxGs7KeyPathCyxqd__G_SSSgtlFZ":{"name":"minimum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the minimum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOAASo15NSManagedObjectCRbzrlE3sum_2asACyxGs7KeyPathCyxqd__G_SSSgtlFZ":{"name":"sum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the sum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE9attributeyACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GGAA23ImportableAttributeTypeRd__lFZ":{"name":"attribute(_:)","abstract":"

    Provides a SelectTerm to a Select clause for querying an entity attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE9attributeyACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GGAA23ImportableAttributeTypeRd__lFZ":{"name":"attribute(_:)","abstract":"

    Provides a SelectTerm to a Select clause for querying an entity attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE9attributeyACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GGSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"attribute(_:)","abstract":"

    Provides a SelectTerm to a Select clause for querying an entity attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE9attributeyACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GGSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"attribute(_:)","abstract":"

    Provides a SelectTerm to a Select clause for querying an entity attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7average_2asACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"average(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the average value of an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7average_2asACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"average(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the average value of an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7average_2asACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"average(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the average value of an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7average_2asACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"average(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the average value of an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE5count_2asACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"count(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for a count query.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE5count_2asACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"count(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for a count query.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE5count_2asACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"count(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for a count query.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE5count_2asACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"count(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for a count query.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7maximum_2asACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"maximum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the maximum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7maximum_2asACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"maximum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the maximum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7maximum_2asACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"maximum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the maximum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7maximum_2asACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"maximum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the maximum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7minimum_2asACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"minimum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the minimum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7minimum_2asACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"minimum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the minimum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7minimum_2asACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"minimum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the minimum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE7minimum_2asACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"minimum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the minimum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE3sum_2asACyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"sum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the sum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE3sum_2asACyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_qd__GG_SSSgtAA23ImportableAttributeTypeRd__lFZ":{"name":"sum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the sum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE3sum_2asACyxGs7KeyPathCyxAA22TransformableContainerO8RequiredCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"sum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the sum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/SelectTerm.html#/s:9CoreStore10SelectTermOA2A0aB6ObjectCRbzrlE3sum_2asACyxGs7KeyPathCyxAA22TransformableContainerO8OptionalCyx_qd__GG_SSSgtSo8NSCodingRd__So9NSCopyingRd__lFZ":{"name":"sum(_:as:)","abstract":"

    Provides a SelectTerm to a Select clause for querying the sum value for an attribute.

    ","parent_name":"SelectTerm"},"Enums/CSLocalStorageOptions.html#/c:@M@CoreStore@E@CSLocalStorageOptions@CSLocalStorageOptionsNone":{"name":"none","abstract":"

    Tells the DataStack that the store should not be migrated or recreated, and should simply fail on model mismatch

    ","parent_name":"CSLocalStorageOptions"},"Enums/CSLocalStorageOptions.html#/c:@M@CoreStore@E@CSLocalStorageOptions@CSLocalStorageOptionsRecreateStoreOnModelMismatch":{"name":"recreateStoreOnModelMismatch","abstract":"

    Tells the DataStack to delete and recreate the store on model mismatch, otherwise exceptions will be thrown on failure instead

    ","parent_name":"CSLocalStorageOptions"},"Enums/CSLocalStorageOptions.html#/c:@M@CoreStore@E@CSLocalStorageOptions@CSLocalStorageOptionsPreventProgressiveMigration":{"name":"preventProgressiveMigration","abstract":"

    Tells the DataStack to prevent progressive migrations for the store

    ","parent_name":"CSLocalStorageOptions"},"Enums/CSLocalStorageOptions.html#/c:@M@CoreStore@E@CSLocalStorageOptions@CSLocalStorageOptionsAllowSynchronousLightweightMigration":{"name":"allowSynchronousLightweightMigration","abstract":"

    Tells the DataStack to allow lightweight migration for the store when added synchronously

    ","parent_name":"CSLocalStorageOptions"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO4noneyACSS_tcACmF":{"name":"none(version:)","abstract":"

    Indicates that the persistent store matches the latest model version and no migration is needed

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO11lightweightyACSS_SStcACmF":{"name":"lightweight(sourceVersion:destinationVersion:)","abstract":"

    Indicates that the persistent store does not match the latest model version but Core Data can infer the mapping model, so a lightweight migration is needed

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO11heavyweightyACSS_SStcACmF":{"name":"heavyweight(sourceVersion:destinationVersion:)","abstract":"

    Indicates that the persistent store does not match the latest model version and Core Data could not infer a mapping model, so a custom migration is needed

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO13sourceVersionSSvp":{"name":"sourceVersion","abstract":"

    Returns the source model version for the migration type. If no migration is required, sourceVersion will be equal to the destinationVersion.

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO18destinationVersionSSvp":{"name":"destinationVersion","abstract":"

    Returns the destination model version for the migration type. If no migration is required, destinationVersion will be equal to the sourceVersion.

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO013isLightweightC0Sbvp":{"name":"isLightweightMigration","abstract":"

    Returns true if the MigrationType is a lightweight migration. Used as syntactic sugar.

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO013isHeavyweightC0Sbvp":{"name":"isHeavyweightMigration","abstract":"

    Returns true if the MigrationType is a heavyweight migration. Used as syntactic sugar.

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore13MigrationTypeO03hasC0Sbvp":{"name":"hasMigration","abstract":"

    Returns true if the MigrationType is either a lightweight or a heavyweight migration. Returns false if no migrations specified.

    ","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"MigrationType"},"Enums/MigrationType.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MigrationType"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO7unknownyA2CmF":{"name":"unknown","abstract":"

    A failure occured because of an unknown error.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO27differentStorageExistsAtURLyAC10Foundation0H0V_tcACmF":{"name":"differentStorageExistsAtURL(existingPersistentStoreURL:)","abstract":"

    The NSPersistentStore could not be initialized because another store existed at the specified NSURL.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO20mappingModelNotFoundyAC10Foundation3URLV_So015NSManagedObjectE0CSStcACmF":{"name":"mappingModelNotFound(localStoreURL:targetModel:targetModelVersion:)","abstract":"

    An NSMappingModel could not be found for a specific source and destination model versions.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO28progressiveMigrationRequiredyAC10Foundation3URLV_tcACmF":{"name":"progressiveMigrationRequired(localStoreURL:)","abstract":"

    Progressive migrations are disabled for a store, but an NSMappingModel could not be found for a specific source and destination model versions.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO29asynchronousMigrationRequiredyAC10Foundation3URLV_So7NSErrorCtcACmF":{"name":"asynchronousMigrationRequired(localStoreURL:NSError:)","abstract":"

    The LocalStorage was configured with .allowSynchronousLightweightMigration, but the model can only be migrated asynchronously.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO08internalC0yACSo7NSErrorC_tcACmF":{"name":"internalError(NSError:)","abstract":"

    An internal SDK call failed with the specified NSError.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO04userC0yACs0C0_p_tcACmF":{"name":"userError(error:)","abstract":"

    The transaction was terminated by a user-thrown Error.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO13userCancelledyA2CmF":{"name":"userCancelled","abstract":"

    The transaction was cancelled by the user.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB5ErrorO010persistentB8NotFoundyAcA13DynamicObject_pXp_tcACmF":{"name":"persistentStoreNotFound(entity:)","abstract":"

    Attempted to perform a fetch but could not find any related persistent store.

    ","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:10Foundation13CustomNSErrorP11errorDomainSSvpZ":{"name":"errorDomain","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:10Foundation13CustomNSErrorP9errorCodeSivp":{"name":"errorCode","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:10Foundation13CustomNSErrorP13errorUserInfoSDySSypGvp":{"name":"errorUserInfo","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:10Foundation26_ObjectiveCBridgeableErrorP15_bridgedNSErrorxSgSo0F0Ch_tcfc":{"name":"init(_bridgedNSError:)","parent_name":"CoreStoreError"},"Enums/CoreStoreError.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"CoreStoreError"},"Enums/CSErrorCode.html#/c:@M@CoreStore@E@CSErrorCode@CSErrorCodeUnknownError":{"name":"unknownError","abstract":"

    A failure occured because of an unknown error.

    ","parent_name":"CSErrorCode"},"Enums/CSErrorCode.html#/c:@M@CoreStore@E@CSErrorCode@CSErrorCodeDifferentStorageExistsAtURL":{"name":"differentStorageExistsAtURL","abstract":"

    The NSPersistentStore could note be initialized because another store existed at the specified NSURL.

    ","parent_name":"CSErrorCode"},"Enums/CSErrorCode.html#/c:@M@CoreStore@E@CSErrorCode@CSErrorCodeMappingModelNotFound":{"name":"mappingModelNotFound","abstract":"

    An NSMappingModel could not be found for a specific source and destination model versions.

    ","parent_name":"CSErrorCode"},"Enums/CSErrorCode.html#/c:@M@CoreStore@E@CSErrorCode@CSErrorCodeProgressiveMigrationRequired":{"name":"progressiveMigrationRequired","abstract":"

    Progressive migrations are disabled for a store, but an NSMappingModel could not be found for a specific source and destination model versions.

    ","parent_name":"CSErrorCode"},"Enums/CSErrorCode.html#/c:@M@CoreStore@E@CSErrorCode@CSErrorCodeInternalError":{"name":"internalError","abstract":"

    An internal SDK call failed with the specified NSError userInfo key.

    ","parent_name":"CSErrorCode"},"Enums/CSErrorCode.html#/c:@M@CoreStore@E@CSErrorCode@CSErrorCodeUserError":{"name":"userError","abstract":"

    The transaction was terminated by a user-thrown error with the specified Error userInfo key.

    ","parent_name":"CSErrorCode"},"Enums/CSErrorCode.html#/c:@M@CoreStore@E@CSErrorCode@CSErrorCodeUserCancelled":{"name":"userCancelled","abstract":"

    The transaction was cancelled by the user.

    ","parent_name":"CSErrorCode"},"Enums/CSErrorCode.html":{"name":"CSErrorCode","abstract":"

    The NSError error codes for CSError.Domain.

    "},"Enums/CoreStoreError.html":{"name":"CoreStoreError","abstract":"

    All errors thrown from CoreStore are expressed in CoreStoreError enum values.

    "},"Enums/MigrationType.html":{"name":"MigrationType","abstract":"

    The MigrationType specifies the type of migration required for a store.

    "},"Enums/CSLocalStorageOptions.html":{"name":"CSLocalStorageOptions","abstract":"

    The CSLocalStorageOptions provides settings that tells the CSDataStack how to setup the persistent store for CSLocalStorage implementers.

    "},"Enums/SelectTerm.html":{"name":"SelectTerm","abstract":"

    The SelectTerm is passed to the Select clause to indicate the attributes/aggregate keys to be queried.

    "},"Enums/CoreStore.html":{"name":"CoreStore","abstract":"

    CoreStore is the main entry point for all other APIs.

    "},"Enums/CoreStoreErrorCode.html":{"name":"CoreStoreErrorCode","abstract":"

    The NSError error codes for CoreStoreErrorDomain.

    "},"Enums.html#/s:9CoreStore8LogLevelO":{"name":"LogLevel","abstract":"

    The LogLevel indicates the severity of a log message.

    "},"Enums/ValueContainer.html":{"name":"ValueContainer","abstract":"

    The containing type for value properties. Use the DynamicObject.Value typealias instead for shorter syntax.

    "},"Enums/TransformableContainer.html":{"name":"TransformableContainer","abstract":"

    The containing type for transformable properties. Use the DynamicObject.Transformable typealias instead for shorter syntax.

    "},"Enums/RelationshipContainer.html":{"name":"RelationshipContainer","abstract":"

    The containing type for relationships. Use the DynamicObject.Relationship typealias instead for shorter syntax.

    "},"Global Variables.html#/s:9CoreStore0aB11ErrorDomainSSvp":{"name":"CoreStoreErrorDomain","abstract":"

    The NSError error domain string for CSError.

    "},"Classes/XcodeSchemaMappingProvider.html#/s:9CoreStore26XcodeSchemaMappingProviderC13sourceVersionSSvp":{"name":"sourceVersion","abstract":"

    The source model version for the mapping.

    ","parent_name":"XcodeSchemaMappingProvider"},"Classes/XcodeSchemaMappingProvider.html#/s:9CoreStore26XcodeSchemaMappingProviderC18destinationVersionSSvp":{"name":"destinationVersion","abstract":"

    The destination model version for the mapping.

    ","parent_name":"XcodeSchemaMappingProvider"},"Classes/XcodeSchemaMappingProvider.html#/s:9CoreStore26XcodeSchemaMappingProviderC18mappingModelBundleSo8NSBundleCvp":{"name":"mappingModelBundle","abstract":"

    The Bundle that contains the xcmappingmodel file.

    ","parent_name":"XcodeSchemaMappingProvider"},"Classes/XcodeSchemaMappingProvider.html#/s:9CoreStore26XcodeSchemaMappingProviderC4from2to18mappingModelBundleACSS_SSSo8NSBundleCtcfc":{"name":"init(from:to:mappingModelBundle:)","abstract":"

    Creates an XcodeSchemaMappingProvider

    ","parent_name":"XcodeSchemaMappingProvider"},"Classes/XcodeSchemaMappingProvider.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"XcodeSchemaMappingProvider"},"Classes/XcodeSchemaMappingProvider.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"XcodeSchemaMappingProvider"},"Classes/XcodeSchemaMappingProvider.html#/s:9CoreStore21SchemaMappingProviderP09cs_createD5Model4from2to7storageSo09NSMappingH0C07mappingH0_AA13MigrationTypeO09migrationO0tAA07DynamicC0_p_AaN_pAA12LocalStorage_ptKF":{"name":"cs_createMappingModel(from:to:storage:)","parent_name":"XcodeSchemaMappingProvider"},"Classes/UserInfo.html#/s:9CoreStore8UserInfoCyypSgSVcip":{"name":"subscript(_:)","abstract":"

    Allows external libraries to store custom data. App code should rarely have a need for this.

    ","parent_name":"UserInfo"},"Classes/UserInfo.html#/s:9CoreStore8UserInfoC_8lazyInitypSV_ypyXEtcip":{"name":"subscript(_:lazyInit:)","abstract":"

    Allows external libraries to store custom data in the DataStack. App code should rarely have a need for this.

    ","parent_name":"UserInfo"},"Classes/InferredSchemaMappingProvider.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"InferredSchemaMappingProvider"},"Classes/InferredSchemaMappingProvider.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"InferredSchemaMappingProvider"},"Classes/InferredSchemaMappingProvider.html#/s:9CoreStore21SchemaMappingProviderP09cs_createD5Model4from2to7storageSo09NSMappingH0C07mappingH0_AA13MigrationTypeO09migrationO0tAA07DynamicC0_p_AaN_pAA12LocalStorage_ptKF":{"name":"cs_createMappingModel(from:to:storage:)","parent_name":"InferredSchemaMappingProvider"},"Classes/DynamicEntity.html#/s:9CoreStore13DynamicEntityC4typeAA0C6Object_pXpvp":{"name":"type","abstract":"

    Do not use directly.

    ","parent_name":"DynamicEntity"},"Classes/DynamicEntity.html#/s:9CoreStore13DynamicEntityC10entityNameSSvp":{"name":"entityName","abstract":"

    Do not use directly.

    ","parent_name":"DynamicEntity"},"Classes/DynamicEntity.html#/s:9CoreStore13DynamicEntityC10isAbstractSbvp":{"name":"isAbstract","abstract":"

    Do not use directly.

    ","parent_name":"DynamicEntity"},"Classes/DynamicEntity.html#/s:9CoreStore13DynamicEntityC19versionHashModifierSSSgvp":{"name":"versionHashModifier","abstract":"

    Do not use directly.

    ","parent_name":"DynamicEntity"},"Classes/DynamicEntity.html#/s:9CoreStore13DynamicEntityC7indexesSaySaySSGGvp":{"name":"indexes","abstract":"

    Do not use directly.

    ","parent_name":"DynamicEntity"},"Classes/DynamicEntity.html#/s:9CoreStore13DynamicEntityC17uniqueConstraintsSaySaySSGGvp":{"name":"uniqueConstraints","abstract":"

    Do not use directly.

    ","parent_name":"DynamicEntity"},"Classes/DynamicEntity.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"DynamicEntity"},"Classes/DynamicEntity.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"DynamicEntity"},"Classes/DefaultLogger.html#/s:9CoreStore13DefaultLoggerCACycfc":{"name":"init()","abstract":"

    Creates a DefaultLogger.

    ","parent_name":"DefaultLogger"},"Classes/DefaultLogger.html#/s:9CoreStore13DefaultLoggerC3log5level7message8fileName10lineNumber08functionI0yAA8LogLevelO_SSs12StaticStringVSiAMtF":{"name":"log(level:message:fileName:lineNumber:functionName:)","abstract":"

    Handles log messages sent by the CoreStore framework.

    ","parent_name":"DefaultLogger"},"Classes/DefaultLogger.html#/s:9CoreStore13DefaultLoggerC3log5error7message8fileName10lineNumber08functionI0yAA0aB5ErrorO_SSs12StaticStringVSiAMtF":{"name":"log(error:message:fileName:lineNumber:functionName:)","abstract":"

    Handles errors sent by the CoreStore framework.

    ","parent_name":"DefaultLogger"},"Classes/DefaultLogger.html#/s:9CoreStore13DefaultLoggerC6assert_7message8fileName10lineNumber08functionH0ySbyXK_SSyXKs12StaticStringVSiAJtF":{"name":"assert(_:message:fileName:lineNumber:functionName:)","abstract":"

    Handles assertions made throughout the CoreStore framework.

    ","parent_name":"DefaultLogger"},"Classes/DefaultLogger.html#/s:9CoreStore13DefaultLoggerC5abort_8fileName10lineNumber08functionG0ySS_s12StaticStringVSiAItF":{"name":"abort(_:fileName:lineNumber:functionName:)","abstract":"

    Handles fatal errors made throughout the CoreStore framework.

    ","parent_name":"DefaultLogger"},"Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html#/s:9CoreStore27CustomSchemaMappingProviderC23UnsafeDestinationObjectCyypSgSScip":{"name":"subscript(_:)","abstract":"

    Accesses or mutates the property value via its keyPath.

    ","parent_name":"UnsafeDestinationObject"},"Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html#/s:9CoreStore27CustomSchemaMappingProviderC23UnsafeDestinationObjectCyypSgSo22NSAttributeDescriptionCcip":{"name":"subscript(_:)","abstract":"

    Accesses or mutates the property value via its NSAttributeDescription, which can be accessed from the enumerateAttributes(_:) method.

    ","parent_name":"UnsafeDestinationObject"},"Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html#/s:9CoreStore27CustomSchemaMappingProviderC23UnsafeDestinationObjectC19enumerateAttributesyyySo22NSAttributeDescriptionC_AHSgtXEF":{"name":"enumerateAttributes(_:)","abstract":"

    Enumerates the all NSAttributeDescriptions. The attribute argument can be used as the subscript key to access and mutate the property. The sourceAttribute can be used to access properties from the source UnsafeSourceObject.

    ","parent_name":"UnsafeDestinationObject"},"Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html#/s:9CoreStore27CustomSchemaMappingProviderC18UnsafeSourceObjectCyypSgSScip":{"name":"subscript(_:)","abstract":"

    Accesses the property value via its keyPath.

    ","parent_name":"UnsafeSourceObject"},"Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html#/s:9CoreStore27CustomSchemaMappingProviderC18UnsafeSourceObjectCyypSgSo22NSAttributeDescriptionCcip":{"name":"subscript(_:)","abstract":"

    Accesses the property value via its NSAttributeDescription, which can be accessed from the enumerateAttributes(_:) method.

    ","parent_name":"UnsafeSourceObject"},"Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html#/s:9CoreStore27CustomSchemaMappingProviderC18UnsafeSourceObjectC19enumerateAttributesyyySo22NSAttributeDescriptionCXEF":{"name":"enumerateAttributes(_:)","abstract":"

    Enumerates the all NSAttributeDescriptions. The attribute argument can be used as the subscript key to access the property.

    ","parent_name":"UnsafeSourceObject"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:9CoreStore27CustomSchemaMappingProviderC0cE0O12deleteEntityyAESS_tcAEmF":{"name":"deleteEntity(sourceEntity:)","abstract":"

    The sourceEntity is meant to be removed from the source DynamicSchema and should not be migrated to the destination DynamicSchema.

    ","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:9CoreStore27CustomSchemaMappingProviderC0cE0O12insertEntityyAESS_tcAEmF":{"name":"insertEntity(destinationEntity:)","abstract":"

    The destinationEntity is newly added to the destination DynamicSchema and has no mapping from the source DynamicSchema.

    ","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:9CoreStore27CustomSchemaMappingProviderC0cE0O10copyEntityyAESS_SStcAEmF":{"name":"copyEntity(sourceEntity:destinationEntity:)","abstract":"

    The DynamicSchemas entity has no changes and can be copied directly from sourceEntity to destinationEntity.

    ","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:9CoreStore27CustomSchemaMappingProviderC0cE0O15transformEntityyAESS_SSyAC18UnsafeSourceObjectC_AC0i11DestinationK0CyXEtKctcAEmF":{"name":"transformEntity(sourceEntity:destinationEntity:transformer:)","abstract":"

    The DynamicSchemas entity needs transformations from sourceEntity to destinationEntity. The transformer closure will be used to apply the changes. The CustomMapping.inferredTransformation method can be used directly as the transformer if the changes can be inferred (i.e. lightweight).

    ","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:9CoreStore27CustomSchemaMappingProviderC0cE0O11Transformera":{"name":"Transformer","abstract":"

    The closure type for CustomMapping.transformEntity.

    ","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:9CoreStore27CustomSchemaMappingProviderC0cE0O22inferredTransformationyyAC18UnsafeSourceObjectC_AC0i11DestinationK0CyXEtKFZ":{"name":"inferredTransformation(_:_:)","abstract":"

    The CustomMapping.inferredTransformation method can be used directly as the transformer if the changes can be inferred (i.e. lightweight).

    ","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider/CustomMapping.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"CustomMapping"},"Classes/CustomSchemaMappingProvider.html#/s:9CoreStore27CustomSchemaMappingProviderC13sourceVersionSSvp":{"name":"sourceVersion","abstract":"

    The source model version for the mapping.

    ","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider.html#/s:9CoreStore27CustomSchemaMappingProviderC18destinationVersionSSvp":{"name":"destinationVersion","abstract":"

    The destination model version for the mapping.

    ","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider.html#/s:9CoreStore27CustomSchemaMappingProviderC4from2to14entityMappingsACSS_SSShyAC0cE0OGtcfc":{"name":"init(from:to:entityMappings:)","abstract":"

    Creates a CustomSchemaMappingProvider

    ","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider/CustomMapping.html":{"name":"CustomMapping","abstract":"

    Provides the type of mapping for an entity. Mappings of entities with no CustomMapping provided will be automatically calculated if possible. Any conflicts or ambiguity will raise an assertion.

    ","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html":{"name":"UnsafeSourceObject","abstract":"

    The read-only proxy object used for the source object in a mapping’s Transformer closure. Properties can be accessed either by keyPath string or by NSAttributeDescription.

    ","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html":{"name":"UnsafeDestinationObject","abstract":"

    The read-write proxy object used for the destination object that can be created in a mapping’s Transformer closure. Properties can be accessed and mutated either through keyPath string or by NSAttributeDescription.

    ","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"CustomSchemaMappingProvider"},"Classes/CustomSchemaMappingProvider.html#/s:9CoreStore21SchemaMappingProviderP09cs_createD5Model4from2to7storageSo09NSMappingH0C07mappingH0_AA13MigrationTypeO09migrationO0tAA07DynamicC0_p_AaN_pAA12LocalStorage_ptKF":{"name":"cs_createMappingModel(from:to:storage:)","parent_name":"CustomSchemaMappingProvider"},"Classes/CoreStoreObjectOrderedDiff.html#/s:9CoreStore0aB17ObjectOrderedDiffC4kindSo16NSKeyValueChangeVvp":{"name":"kind","abstract":"

    Indicates the kind of change. See the comments for NSObject.observeValue(forKeyPath:of:change:context:) for more information.

    ","parent_name":"CoreStoreObjectOrderedDiff"},"Classes/CoreStoreObjectOrderedDiff.html#/s:9CoreStore0aB17ObjectOrderedDiffC8newValueSayxGvp":{"name":"newValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectOrderedDiff"},"Classes/CoreStoreObjectOrderedDiff.html#/s:9CoreStore0aB17ObjectOrderedDiffC8oldValueSayxGvp":{"name":"oldValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectOrderedDiff"},"Classes/CoreStoreObjectOrderedDiff.html#/s:9CoreStore0aB17ObjectOrderedDiffC7indexes10Foundation8IndexSetVvp":{"name":"indexes","abstract":"

    indexes will be nil unless the observed KeyPath refers to an ordered to-many property

    ","parent_name":"CoreStoreObjectOrderedDiff"},"Classes/CoreStoreObjectOrderedDiff.html#/s:9CoreStore0aB17ObjectOrderedDiffC7isPriorSbvp":{"name":"isPrior","abstract":"

    ‘isPrior’ will be true if this change observation is being sent before the change happens, due to .prior being passed to observe()

    ","parent_name":"CoreStoreObjectOrderedDiff"},"Classes/CoreStoreObjectUnorderedDiff.html#/s:9CoreStore0aB19ObjectUnorderedDiffC4kindSo16NSKeyValueChangeVvp":{"name":"kind","abstract":"

    Indicates the kind of change. See the comments for NSObject.observeValue(forKeyPath:of:change:context:) for more information.

    ","parent_name":"CoreStoreObjectUnorderedDiff"},"Classes/CoreStoreObjectUnorderedDiff.html#/s:9CoreStore0aB19ObjectUnorderedDiffC8newValueShyxGvp":{"name":"newValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectUnorderedDiff"},"Classes/CoreStoreObjectUnorderedDiff.html#/s:9CoreStore0aB19ObjectUnorderedDiffC8oldValueShyxGvp":{"name":"oldValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectUnorderedDiff"},"Classes/CoreStoreObjectUnorderedDiff.html#/s:9CoreStore0aB19ObjectUnorderedDiffC7isPriorSbvp":{"name":"isPrior","abstract":"

    ‘isPrior’ will be true if this change observation is being sent before the change happens, due to .prior being passed to observe()

    ","parent_name":"CoreStoreObjectUnorderedDiff"},"Classes/CoreStoreObjectObjectDiff.html#/s:9CoreStore0ab6ObjectC4DiffC4kindSo16NSKeyValueChangeVvp":{"name":"kind","abstract":"

    Indicates the kind of change. See the comments for NSObject.observeValue(forKeyPath:of:change:context:) for more information.

    ","parent_name":"CoreStoreObjectObjectDiff"},"Classes/CoreStoreObjectObjectDiff.html#/s:9CoreStore0ab6ObjectC4DiffC8newValuexSgvp":{"name":"newValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectObjectDiff"},"Classes/CoreStoreObjectObjectDiff.html#/s:9CoreStore0ab6ObjectC4DiffC8oldValuexSgvp":{"name":"oldValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectObjectDiff"},"Classes/CoreStoreObjectObjectDiff.html#/s:9CoreStore0ab6ObjectC4DiffC7isPriorSbvp":{"name":"isPrior","abstract":"

    ‘isPrior’ will be true if this change observation is being sent before the change happens, due to .prior being passed to observe()

    ","parent_name":"CoreStoreObjectObjectDiff"},"Classes/CoreStoreObjectTransformableDiff.html#/s:9CoreStore0aB23ObjectTransformableDiffC4kindSo16NSKeyValueChangeVvp":{"name":"kind","abstract":"

    Indicates the kind of change. See the comments for NSObject.observeValue(forKeyPath:of:change:context:) for more information.

    ","parent_name":"CoreStoreObjectTransformableDiff"},"Classes/CoreStoreObjectTransformableDiff.html#/s:9CoreStore0aB23ObjectTransformableDiffC8newValuexSgvp":{"name":"newValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectTransformableDiff"},"Classes/CoreStoreObjectTransformableDiff.html#/s:9CoreStore0aB23ObjectTransformableDiffC8oldValuexSgvp":{"name":"oldValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). In general, get the most up to date value by accessing it directly on the observed object instead.

    ","parent_name":"CoreStoreObjectTransformableDiff"},"Classes/CoreStoreObjectTransformableDiff.html#/s:9CoreStore0aB23ObjectTransformableDiffC7isPriorSbvp":{"name":"isPrior","abstract":"

    ‘isPrior’ will be true if this change observation is being sent before the change happens, due to .prior being passed to observe()

    ","parent_name":"CoreStoreObjectTransformableDiff"},"Classes/CoreStoreObjectValueDiff.html#/s:9CoreStore0aB15ObjectValueDiffC4kindSo05NSKeyD6ChangeVvp":{"name":"kind","abstract":"

    Indicates the kind of change. See the comments for NSObject.observeValue(forKeyPath:of:change:context:) for more information.

    ","parent_name":"CoreStoreObjectValueDiff"},"Classes/CoreStoreObjectValueDiff.html#/s:9CoreStore0aB15ObjectValueDiffC03newD0xSgvp":{"name":"newValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe(). newValue will be nil if isPrior is true.

    ","parent_name":"CoreStoreObjectValueDiff"},"Classes/CoreStoreObjectValueDiff.html#/s:9CoreStore0aB15ObjectValueDiffC03oldD0xSgvp":{"name":"oldValue","abstract":"

    newValue and oldValue will only be non-nil if .new/.old is passed to observe().

    ","parent_name":"CoreStoreObjectValueDiff"},"Classes/CoreStoreObjectValueDiff.html#/s:9CoreStore0aB15ObjectValueDiffC7isPriorSbvp":{"name":"isPrior","abstract":"

    ‘isPrior’ will be true if this change observation is being sent before the change happens, due to .prior being passed to observe()

    ","parent_name":"CoreStoreObjectValueDiff"},"Classes/SchemaHistory.html#/s:9CoreStore13SchemaHistoryC19currentModelVersionSSvp":{"name":"currentModelVersion","abstract":"

    The version string for the current model version. The DataStack will try to migrate all StorageInterfaces added to itself to this version, following the version steps provided by the migrationChain.

    ","parent_name":"SchemaHistory"},"Classes/SchemaHistory.html#/s:9CoreStore13SchemaHistoryC07currentC0AA07DynamicC0_pvp":{"name":"currentSchema","abstract":"

    The schema for the current model version. The DataStack will try to migrate all StorageInterfaces added to itself to this version, following the version steps provided by the migrationChain.

    ","parent_name":"SchemaHistory"},"Classes/SchemaHistory.html#/s:9CoreStore13SchemaHistoryC14migrationChainAA09MigrationF0Vvp":{"name":"migrationChain","abstract":"

    The version string for the current model version. The DataStack will try to migrate all StorageInterfaces added to itself to this version, following the version steps provided by the migrationChain.

    ","parent_name":"SchemaHistory"},"Classes/SchemaHistory.html#/s:9CoreStore13SchemaHistoryC_14migrationChainACSayAA014XcodeDataModelC0CG03allC0_SS07currentI7Versiont_AA09MigrationF0Vtcfc":{"name":"init(_:migrationChain:)","abstract":"

    Convenience initializer for a SchemaHistory created from a single xcdatamodeld file.

    ","parent_name":"SchemaHistory"},"Classes/SchemaHistory.html#/s:9CoreStore13SchemaHistoryC__14migrationChain24exactCurrentModelVersionAcA07DynamicC0_p_AaF_pdAA09MigrationF0VSSSgtcfc":{"name":"init(_:_:migrationChain:exactCurrentModelVersion:)","abstract":"

    Initializes a SchemaHistory with a list of DynamicSchema and a MigrationChain to describe the order of progressive migrations.

    ","parent_name":"SchemaHistory"},"Classes/SchemaHistory.html#/s:9CoreStore13SchemaHistoryC03allC014migrationChain24exactCurrentModelVersionACSayAA07DynamicC0_pG_AA09MigrationG0VSSSgtcfc":{"name":"init(allSchema:migrationChain:exactCurrentModelVersion:)","abstract":"

    Initializes a SchemaHistory with a list of DynamicSchema and a MigrationChain to describe the order of progressive migrations.

    ","parent_name":"SchemaHistory"},"Classes/SchemaHistory.html#/s:s25ExpressibleByArrayLiteralP05arrayD0x0cD7ElementQzd_tcfc":{"name":"init(arrayLiteral:)","parent_name":"SchemaHistory"},"Classes/SchemaHistory.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"SchemaHistory"},"Classes/ObjectMonitor.html#/s:9CoreStore13ObjectMonitorC0C4Typea":{"name":"ObjectType","abstract":"

    The type for the object contained by the ObjectMonitor

    ","parent_name":"ObjectMonitor"},"Classes/ObjectMonitor.html#/s:9CoreStore13ObjectMonitorC6objectxSgvp":{"name":"object","abstract":"

    Returns the DynamicObject instance being observed, or nil if the object was already deleted.

    ","parent_name":"ObjectMonitor"},"Classes/ObjectMonitor.html#/s:9CoreStore13ObjectMonitorC02isC7DeletedSbvp":{"name":"isObjectDeleted","abstract":"

    Returns true if the DynamicObject instance being observed still exists, or false if the object was already deleted.

    ","parent_name":"ObjectMonitor"},"Classes/ObjectMonitor.html#/s:9CoreStore13ObjectMonitorC11addObserveryyqd__0C10EntityTypeQyd__RszAA0cF0Rd__lF":{"name":"addObserver(_:)","abstract":"

    Registers an ObjectObserver to be notified when changes to the receiver’s object are made.

    ","parent_name":"ObjectMonitor"},"Classes/ObjectMonitor.html#/s:9CoreStore13ObjectMonitorC14removeObserveryyqd__0C10EntityTypeQyd__RszAA0cF0Rd__lF":{"name":"removeObserver(_:)","abstract":"

    Unregisters an ObjectObserver from receiving notifications for changes to the receiver’s object.

    ","parent_name":"ObjectMonitor"},"Classes/ObjectMonitor.html#/s:9CoreStore13ObjectMonitorC8userInfoAA04UserF0Cvp":{"name":"userInfo","abstract":"

    Allow external libraries to store custom data in the ObjectMonitor. App code should rarely have a need for this.

    ","parent_name":"ObjectMonitor"},"Classes/ObjectMonitor.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"ObjectMonitor"},"Classes/ObjectMonitor.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"ObjectMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC10ObjectTypea":{"name":"ObjectType","abstract":"

    The type for the objects contained bye the ListMonitor

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCyxSicip":{"name":"subscript(_:)","abstract":"

    Returns the object at the given index within the first section. This subscript indexer is typically used for ListMonitors created with monitorList(_:).

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC9safeIndexxSgSi_tcip":{"name":"subscript(safeIndex:)","abstract":"

    Returns the object at the given index, or nil if out of bounds. This subscript indexer is typically used for ListMonitors created with monitorList(_:).

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCyxSi_Sitcip":{"name":"subscript(_:_:)","abstract":"

    Returns the object at the given sectionIndex and itemIndex. This subscript indexer is typically used for ListMonitors created with monitorSectionedList(_:).

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC16safeSectionIndex0e4ItemG0xSgSi_Sitcip":{"name":"subscript(safeSectionIndex:safeItemIndex:)","abstract":"

    Returns the object at the given section and item index, or nil if out of bounds. This subscript indexer is typically used for ListMonitors created with monitorSectionedList(_:).

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCyx10Foundation9IndexPathVcip":{"name":"subscript(_:)","abstract":"

    Returns the object at the given IndexPath. This subscript indexer is typically used for ListMonitors created with monitorSectionedList(_:).

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC13safeIndexPathxSg10Foundation0fG0V_tcip":{"name":"subscript(safeIndexPath:)","abstract":"

    Returns the object at the given IndexPath, or nil if out of bounds. This subscript indexer is typically used for ListMonitors created with monitorSectionedList(_:).

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC11hasSectionsSbyF":{"name":"hasSections()","abstract":"

    Checks if the ListMonitor has at least one section

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC10hasObjectsSbyF":{"name":"hasObjects()","abstract":"

    Checks if the ListMonitor has at least one object in any section.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC10hasObjects2inSbSi_tF":{"name":"hasObjects(in:)","abstract":"

    Checks if the ListMonitor has at least one object the specified section.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC16numberOfSectionsSiyF":{"name":"numberOfSections()","abstract":"

    Returns the number of sections

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC15numberOfObjectsSiyF":{"name":"numberOfObjects()","abstract":"

    Returns the number of objects in all sections

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC15numberOfObjects2inS2i_tF":{"name":"numberOfObjects(in:)","abstract":"

    Returns the number of objects in the specified section

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC15numberOfObjects8safelyInSiSgSi_tF":{"name":"numberOfObjects(safelyIn:)","abstract":"

    Returns the number of objects in the specified section, or nil if out of bounds.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC11sectionInfo2atSo023NSFetchedResultsSectionF0_pSi_tF":{"name":"sectionInfo(at:)","abstract":"

    Returns the NSFetchedResultsSectionInfo for the specified section

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC11sectionInfo8safelyAtSo023NSFetchedResultsSectionF0_pSgSi_tF":{"name":"sectionInfo(safelyAt:)","abstract":"

    Returns the NSFetchedResultsSectionInfo for the specified section, or nil if out of bounds.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC8sectionsSaySo27NSFetchedResultsSectionInfo_pGyF":{"name":"sections()","abstract":"

    Returns the NSFetchedResultsSectionInfos for all sections

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC13targetSection03forF10IndexTitle2atSiSS_SitF":{"name":"targetSection(forSectionIndexTitle:at:)","abstract":"

    Returns the target section for a specified Section Index title and index.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC18sectionIndexTitlesSaySSGyF":{"name":"sectionIndexTitles()","abstract":"

    Returns the section index titles for all sections

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC5index2ofSiSgx_tF":{"name":"index(of:)","abstract":"

    Returns the index of the DynamicObject if it exists in the ListMonitor‘s fetched objects, or nil if not found.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC9indexPath2of10Foundation05IndexF0VSgx_tF":{"name":"indexPath(of:)","abstract":"

    Returns the IndexPath of the DynamicObject if it exists in the ListMonitor‘s fetched objects, or nil if not found.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC11addObserveryyqd__0C10EntityTypeQyd__RszAA0cF0Rd__lF":{"name":"addObserver(_:)","abstract":"

    Registers a ListObserver to be notified when changes to the receiver’s list occur.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC11addObserveryyqd__0C10EntityTypeQyd__RszAA0c6ObjectF0Rd__lF":{"name":"addObserver(_:)","abstract":"

    Registers a ListObjectObserver to be notified when changes to the receiver’s list occur.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC11addObserveryyqd__0C10EntityTypeQyd__RszAA0c7SectionF0Rd__lF":{"name":"addObserver(_:)","abstract":"

    Registers a ListSectionObserver to be notified when changes to the receiver’s list occur.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC14removeObserveryyqd__0C10EntityTypeQyd__RszAA0cF0Rd__lF":{"name":"removeObserver(_:)","abstract":"

    Unregisters a ListObserver from receiving notifications for changes to the receiver’s list.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC16isPendingRefetchSbvp":{"name":"isPendingRefetch","abstract":"

    Returns true if a call to refetch(...) was made to the ListMonitor and is currently waiting for the fetching to complete. Returns false otherwise.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC7refetchyyAA11FetchClause_pd_tF":{"name":"refetch(_:)","abstract":"

    Asks the ListMonitor to refetch its objects using the specified series of FetchClauses. Note that this method does not execute the fetch immediately; the actual fetching will happen after the NSFetchedResultsController‘s last controllerDidChangeContent(_:) notification completes.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC7refetchyySayAA11FetchClause_pGF":{"name":"refetch(_:)","abstract":"

    Asks the ListMonitor to refetch its objects using the specified series of FetchClauses. Note that this method does not execute the fetch immediately; the actual fetching will happen after the NSFetchedResultsController‘s last controllerDidChangeContent(_:) notification completes.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorC8userInfoAA04UserF0Cvp":{"name":"userInfo","abstract":"

    Allow external libraries to store custom data in the ListMonitor. App code should rarely have a need for this.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCAASo15NSManagedObjectCRbzrlE20objectsInAllSectionsSayxGyF":{"name":"objectsInAllSections()","abstract":"

    Returns all objects in all sections

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCAASo15NSManagedObjectCRbzrlE7objects2inSayxGSi_tF":{"name":"objects(in:)","abstract":"

    Returns all objects in the specified section

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCAASo15NSManagedObjectCRbzrlE7objects8safelyInSayxGSgSi_tF":{"name":"objects(safelyIn:)","abstract":"

    Returns all objects in the specified section, or nil if out of bounds.

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCA2A0aB6ObjectCRbzrlE20objectsInAllSectionsSayxGyF":{"name":"objectsInAllSections()","abstract":"

    Returns all objects in all sections

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCA2A0aB6ObjectCRbzrlE7objects2inSayxGSi_tF":{"name":"objects(in:)","abstract":"

    Returns all objects in the specified section

    ","parent_name":"ListMonitor"},"Classes/ListMonitor.html#/s:9CoreStore11ListMonitorCA2A0aB6ObjectCRbzrlE7objects8safelyInSayxGSgSi_tF":{"name":"objects(safelyIn:)","abstract":"

    Returns all objects in the specified section, or nil if out of bounds.

    ","parent_name":"ListMonitor"},"Classes/Entity.html#/s:9CoreStore6EntityC_10isAbstract19versionHashModifier7indexes17uniqueConstraintsACyxGSS_SbSSSgSaySays14PartialKeyPathCyxGGGANtcfc":{"name":"init(_:isAbstract:versionHashModifier:indexes:uniqueConstraints:)","abstract":"

    Initializes an Entity. Always provide a concrete generic type to Entity.

    ","parent_name":"Entity"},"Classes/Entity.html#/s:9CoreStore6EntityC_10isAbstract19versionHashModifier7indexesACyxGSS_SbSSSgSaySays14PartialKeyPathCyxGGGtcfc":{"name":"init(_:isAbstract:versionHashModifier:indexes:)","abstract":"

    Initializes an Entity. Always provide a concrete generic type to Entity.

    ","parent_name":"Entity"},"Classes/Entity.html#/s:9CoreStore6EntityC__10isAbstract19versionHashModifier7indexes17uniqueConstraintsACyxGxm_SSSbSSSgSaySays14PartialKeyPathCyxGGGANtcfc":{"name":"init(_:_:isAbstract:versionHashModifier:indexes:uniqueConstraints:)","abstract":"

    Initializes an Entity.

    ","parent_name":"Entity"},"Classes/Entity.html#/s:9CoreStore6EntityC__10isAbstract19versionHashModifier7indexesACyxGxm_SSSbSSSgSaySays14PartialKeyPathCyxGGGtcfc":{"name":"init(_:_:isAbstract:versionHashModifier:indexes:)","abstract":"

    Initializes an Entity.

    ","parent_name":"Entity"},"Classes/Entity.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"Entity"},"Classes/CoreStoreSchema.html#/s:9CoreStore0aB6SchemaC12modelVersion8entities11versionLockACSS_SayAA13DynamicEntityCGAA0eH0VSgtcfc":{"name":"init(modelVersion:entities:versionLock:)","abstract":"

    Initializes a CoreStoreSchema. Using this initializer only if the entities don’t need to be assigned to particular Configurations. To use multiple configurations (for example, to separate entities in different StorageInterfaces), use the init(modelVersion:entitiesByConfiguration:versionLock:) initializer.

    ","parent_name":"CoreStoreSchema"},"Classes/CoreStoreSchema.html#/s:9CoreStore0aB6SchemaC12modelVersion20entityConfigurations11versionLockACSS_SDyAA13DynamicEntityCShySSGGAA0eI0VSgtcfc":{"name":"init(modelVersion:entityConfigurations:versionLock:)","abstract":"

    Initializes a CoreStoreSchema. Using this initializer if multiple Configurations (for example, to separate entities in different StorageInterfaces) are needed. To add an entity only to the default configuration, assign an empty set to its configurations list. Note that regardless of the set configurations, all entities will be added to the default configuration.

    ","parent_name":"CoreStoreSchema"},"Classes/CoreStoreSchema.html#/s:9CoreStore13DynamicSchemaP12modelVersionSSvp":{"name":"modelVersion","parent_name":"CoreStoreSchema"},"Classes/CoreStoreSchema.html#/s:9CoreStore13DynamicSchemaP8rawModelSo015NSManagedObjectF0CyF":{"name":"rawModel()","parent_name":"CoreStoreSchema"},"Classes/CoreStoreSchema.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"CoreStoreSchema"},"Classes/CoreStoreObject.html#/s:9CoreStore0aB6ObjectC03rawC0ACSo09NSManagedC0C_tcfc":{"name":"init(rawObject:)","abstract":"

    Do not call this directly. This is exposed as public only as a required initializer.

    ","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore0aB6ObjectC6asMetaACyt_tcfc":{"name":"init(asMeta:)","abstract":"

    Do not call this directly. This is exposed as public only as a required initializer.

    ","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore0aB6ObjectC11fetchSourceAA09FetchableE0_pSgyF":{"name":"fetchSource()","abstract":"

    Exposes a FetchableSource that can fetch sibling objects of this CoreStoreObject instance. This may be the DataStack, a BaseDataTransaction, the NSManagedObjectContext itself, or nil if the obejct’s parent is already deallocated.

    ","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore0aB6ObjectC11querySourceAA09QueryableE0_pSgyF":{"name":"querySource()","abstract":"

    Exposes a QueryableSource that can query attributes and aggregate values. This may be the DataStack, a BaseDataTransaction, the NSManagedObjectContext itself, or nil if the obejct’s parent is already deallocated.

    ","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore0aB6ObjectC14refreshAsFaultyyF":{"name":"refreshAsFault()","abstract":"

    Re-faults the object to use the latest values from the persistent store

    ","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore0aB6ObjectC15refreshAndMergeyyF":{"name":"refreshAndMerge()","abstract":"

    Re-faults the object to use the latest values from the persistent store and merges previously pending changes back

    ","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore13DynamicObjectP14cs_forceCreate17entityDescription4into8assignToxSo08NSEntityI0C_So09NSManagedD7ContextCSo012NSPersistentB0CtFZ":{"name":"cs_forceCreate(entityDescription:into:assignTo:)","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore13DynamicObjectP10cs_fromRaw6objectxSo09NSManagedD0C_tFZ":{"name":"cs_fromRaw(object:)","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore13DynamicObjectP10cs_matches6objectSbSo09NSManagedD0C_tFZ":{"name":"cs_matches(object:)","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore13DynamicObjectP5cs_idSo09NSManagedD2IDCyF":{"name":"cs_id()","parent_name":"CoreStoreObject"},"Classes/CoreStoreObject.html#/s:9CoreStore13DynamicObjectP8cs_toRawSo09NSManagedD0CyF":{"name":"cs_toRaw()","parent_name":"CoreStoreObject"},"Classes/XcodeDataModelSchema.html#/s:9CoreStore20XcodeDataModelSchemaC4from9modelName6bundle14migrationChainSayACG03allF0_SS07currentE7VersiontSS_So8NSBundleCAA09MigrationL0VtFZ":{"name":"from(modelName:bundle:migrationChain:)","abstract":"

    Creates a XcodeDataModelSchema for each of the models declared in the specified (.xcdatamodeld) model file.

    ","parent_name":"XcodeDataModelSchema"},"Classes/XcodeDataModelSchema.html#/s:9CoreStore20XcodeDataModelSchemaC9modelName6bundleACSS_So8NSBundleCtcfc":{"name":"init(modelName:bundle:)","abstract":"

    Initializes an XcodeDataModelSchema from an *.xcdatamodeld version name and its containing Bundle.

    ","parent_name":"XcodeDataModelSchema"},"Classes/XcodeDataModelSchema.html#/s:9CoreStore20XcodeDataModelSchemaC9modelName0G14VersionFileURLACSS_10Foundation0K0Vtcfc":{"name":"init(modelName:modelVersionFileURL:)","abstract":"

    Initializes an XcodeDataModelSchema from an *.xcdatamodeld file URL.

    ","parent_name":"XcodeDataModelSchema"},"Classes/XcodeDataModelSchema.html#/s:9CoreStore13DynamicSchemaP12modelVersionSSvp":{"name":"modelVersion","parent_name":"XcodeDataModelSchema"},"Classes/XcodeDataModelSchema.html#/s:9CoreStore13DynamicSchemaP8rawModelSo015NSManagedObjectF0CyF":{"name":"rawModel()","parent_name":"XcodeDataModelSchema"},"Classes/XcodeDataModelSchema.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"XcodeDataModelSchema"},"Classes/XcodeDataModelSchema.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"XcodeDataModelSchema"},"Classes/CSXcodeDataModelSchema.html#/c:@M@CoreStore@objc(cs)CSXcodeDataModelSchema(im)initWithModelName:modelVersionFileURL:":{"name":"init(modelName:modelVersionFileURL:)","abstract":"

    Initializes an CSXcodeDataModelSchema from an *.xcdatamodeld file URL.

    ","parent_name":"CSXcodeDataModelSchema"},"Classes/CSXcodeDataModelSchema.html#/c:@M@CoreStore@objc(pl)CSDynamicSchema(py)modelVersion":{"name":"modelVersion","parent_name":"CSXcodeDataModelSchema"},"Classes/CSXcodeDataModelSchema.html#/c:@M@CoreStore@objc(pl)CSDynamicSchema(im)rawModel":{"name":"rawModel()","parent_name":"CSXcodeDataModelSchema"},"Classes/CSXcodeDataModelSchema.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSXcodeDataModelSchema"},"Classes/CSXcodeDataModelSchema.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSXcodeDataModelSchema"},"Classes/CSWhere.html#/c:@M@CoreStore@objc(cs)CSWhere(py)predicate":{"name":"predicate","abstract":"

    The internal NSPredicate instance for the Where clause

    ","parent_name":"CSWhere"},"Classes/CSWhere.html#/c:@M@CoreStore@objc(cs)CSWhere(im)initWithValue:":{"name":"init(value:)","abstract":"

    Initializes a CSWhere clause with a predicate that always evaluates to the specified boolean value

    ","parent_name":"CSWhere"},"Classes/CSWhere.html#/c:@M@CoreStore@objc(cs)CSWhere(im)initWithFormat:argumentArray:":{"name":"init(format:argumentArray:)","abstract":"

    Initializes a CSWhere clause with a predicate using the specified string format and arguments

    ","parent_name":"CSWhere"},"Classes/CSWhere.html#/c:@M@CoreStore@objc(cs)CSWhere(im)initWithKeyPath:isEqualTo:":{"name":"init(keyPath:isEqualTo:)","abstract":"

    Initializes a CSWhere clause that compares equality

    ","parent_name":"CSWhere"},"Classes/CSWhere.html#/c:@M@CoreStore@objc(cs)CSWhere(im)initWithKeyPath:isMemberOf:":{"name":"init(keyPath:isMemberOf:)","abstract":"

    Initializes a CSWhere clause that compares membership

    ","parent_name":"CSWhere"},"Classes/CSWhere.html#/c:@M@CoreStore@objc(cs)CSWhere(im)initWithPredicate:":{"name":"init(predicate:)","abstract":"

    Initializes a CSWhere clause with an NSPredicate

    ","parent_name":"CSWhere"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC6commityyyAA0aB5ErrorOSgcF":{"name":"commit(_:)","abstract":"

    Saves the transaction changes asynchronously. For an UnsafeDataTransaction, multiple commits are allowed, although it is the developer’s responsibility to ensure a reasonable leeway to prevent blocking the main thread.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC13commitAndWaityyKF":{"name":"commitAndWait()","abstract":"

    Saves the transaction changes and waits for completion synchronously. For an UnsafeDataTransaction, multiple commits are allowed, although it is the developer’s responsibility to ensure a reasonable leeway to prevent blocking the main thread.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC8rollbackyyF":{"name":"rollback()","abstract":"

    Rolls back the transaction.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC4undoyyF":{"name":"undo()","abstract":"

    Undo’s the last change made to the transaction.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC5flushyyF":{"name":"flush()","abstract":"

    Immediately flushes all pending changes to the transaction’s observers. This is useful in conjunction with ListMonitors and ObjectMonitors created from UnsafeDataTransactions used to manage temporary scratch data.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC5flush7closureyyyKXE_tKF":{"name":"flush(closure:)","abstract":"

    Flushes all pending changes to the transaction’s observers at the end of the closure‘s execution. This is useful in conjunction with ListMonitors and ObjectMonitors created from UnsafeDataTransactions used to manage temporary scratch data.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC4redoyyF":{"name":"redo()","abstract":"

    Redo’s the last undone change to the transaction.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC05beginC012supportsUndoACSb_tF":{"name":"beginUnsafe(supportsUndo:)","abstract":"

    Begins a child transaction where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC30createFetchedResultsControllerySo09NSFetchedhI0CyxGAA4FromVyxG_AA9SectionByVyxGAA11FetchClause_pdtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(_:_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from the UnsafeDataTransaction. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC30createFetchedResultsControllerySo09NSFetchedhI0CyxGAA4FromVyxG_AA9SectionByVyxGSayAA11FetchClause_pGtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(_:_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from the UnsafeDataTransaction. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC30createFetchedResultsControllerySo09NSFetchedhI0CyxGAA4FromVyxG_AA11FetchClause_pdtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from the UnsafeDataTransaction. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC30createFetchedResultsControllerySo09NSFetchedhI0CyxGAA4FromVyxG_SayAA11FetchClause_pGtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from the UnsafeDataTransaction. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC13monitorObjectyAA0G7MonitorCyxGxAA07DynamicG0RzlF":{"name":"monitorObject(_:)","abstract":"

    Creates a ObjectMonitor for the specified DynamicObject. Multiple ObjectObservers may then register themselves to be notified when changes are made to the DynamicObject.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC11monitorListyAA0G7MonitorCyxGAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorList(_:_:)","abstract":"

    Creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC11monitorListyAA0G7MonitorCyxGAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorList(_:_:)","abstract":"

    Creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC11monitorListyAA0G7MonitorCy10ObjectTypeQzGxAA021FetchChainableBuilderJ0RzlF":{"name":"monitorList(_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC11monitorList20createAsynchronously__yyAA0G7MonitorCyxGc_AA4FromVyxGAA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorList(createAsynchronously:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC11monitorList20createAsynchronously__yyAA0G7MonitorCyxGc_AA4FromVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorList(createAsynchronously:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC11monitorList20createAsynchronously_yyAA0G7MonitorCy10ObjectTypeQzGc_xtAA021FetchChainableBuilderL0RzlF":{"name":"monitorList(createAsynchronously:_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC20monitorSectionedListyAA0H7MonitorCyxGAA4FromVyxG_AA9SectionByVyxGAA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(_:_:_:)","abstract":"

    Creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC20monitorSectionedListyAA0H7MonitorCyxGAA4FromVyxG_AA9SectionByVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(_:_:_:)","abstract":"

    Creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC20monitorSectionedListyAA0H7MonitorCy10ObjectTypeQzGxAA07Sectioni7BuilderK0RzlF":{"name":"monitorSectionedList(_:)","abstract":"

    Creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified SectionMonitorBuilderType built from a chain of clauses.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC20monitorSectionedList20createAsynchronously___yyAA0H7MonitorCyxGc_AA4FromVyxGAA9SectionByVyxGAA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(createAsynchronously:_:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC20monitorSectionedList20createAsynchronously___yyAA0H7MonitorCyxGc_AA4FromVyxGAA9SectionByVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(createAsynchronously:_:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"UnsafeDataTransaction"},"Classes/UnsafeDataTransaction.html#/s:9CoreStore21UnsafeDataTransactionC20monitorSectionedList20createAsynchronously_yyAA0H7MonitorCy10ObjectTypeQzGc_xtAA07Sectionk7BuilderM0RzlF":{"name":"monitorSectionedList(createAsynchronously:_:)","abstract":"

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified SectionMonitorBuilderType built from a chain of clauses.

    ","parent_name":"UnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)commitWithSuccess::":{"name":"commitWithSuccess(_:_:)","abstract":"

    Saves the transaction changes asynchronously. For a CSUnsafeDataTransaction, multiple commits are allowed, although it is the developer’s responsibility to ensure a reasonable leeway to prevent blocking the main thread.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)commitAndWaitWithError:":{"name":"commitAndWait(error:)","abstract":"

    Saves the transaction changes and waits for completion synchronously. For a CSUnsafeDataTransaction, multiple commits are allowed, although it is the developer’s responsibility to ensure a reasonable leeway to prevent blocking the main thread.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)rollback":{"name":"rollback()","abstract":"

    Rolls back the transaction.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)undo":{"name":"undo()","abstract":"

    Undo’s the last change made to the transaction.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)redo":{"name":"redo()","abstract":"

    Redo’s the last undone change to the transaction.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)flush":{"name":"flush()","abstract":"

    Immediately flushes all pending changes to the transaction’s observers. This is useful in conjunction with ListMonitors and ObjectMonitors created from UnsafeDataTransactions used to manage temporary scratch data.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)flush:":{"name":"flush(_:)","abstract":"

    Flushes all pending changes to the transaction’s observers at the end of the closure‘s execution. This is useful in conjunction with ListMonitors and ObjectMonitors created from UnsafeDataTransactions used to manage temporary scratch data.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)beginUnsafe":{"name":"beginUnsafe()","abstract":"

    Begins a child transaction where NSManagedObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)beginUnsafeWithSupportsUndo:":{"name":"beginUnsafeWithSupportsUndo(_:)","abstract":"

    Begins a child transaction where NSManagedObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataTransaction(im)unsafeContext":{"name":"unsafeContext()","abstract":"

    Returns the NSManagedObjectContext for this unsafe transaction. Use only for cases where external frameworks need an NSManagedObjectContext instance to work with.

    ","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypeP9SwiftTypeQa":{"name":"SwiftType","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSUnsafeDataTransaction"},"Classes/CSUnsafeDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSUnsafeDataTransaction"},"Classes/UnsafeDataModelSchema.html#/s:9CoreStore21UnsafeDataModelSchemaC9modelName0G0ACSS_So015NSManagedObjectE0Ctcfc":{"name":"init(modelName:model:)","abstract":"

    Initializes a UnsafeDataModelSchema from an NSManagedObjectModel.

    ","parent_name":"UnsafeDataModelSchema"},"Classes/UnsafeDataModelSchema.html#/s:9CoreStore13DynamicSchemaP12modelVersionSSvp":{"name":"modelVersion","parent_name":"UnsafeDataModelSchema"},"Classes/UnsafeDataModelSchema.html#/s:9CoreStore13DynamicSchemaP8rawModelSo015NSManagedObjectF0CyF":{"name":"rawModel()","parent_name":"UnsafeDataModelSchema"},"Classes/UnsafeDataModelSchema.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"UnsafeDataModelSchema"},"Classes/UnsafeDataModelSchema.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"UnsafeDataModelSchema"},"Classes/CSUnsafeDataModelSchema.html#/c:@M@CoreStore@objc(cs)CSUnsafeDataModelSchema(im)initWithModelName:model:":{"name":"init(modelName:model:)","abstract":"

    Initializes a CSUnsafeDataModelSchema from an NSManagedObjectModel.

    ","parent_name":"CSUnsafeDataModelSchema"},"Classes/CSUnsafeDataModelSchema.html#/c:@M@CoreStore@objc(pl)CSDynamicSchema(py)modelVersion":{"name":"modelVersion","parent_name":"CSUnsafeDataModelSchema"},"Classes/CSUnsafeDataModelSchema.html#/c:@M@CoreStore@objc(pl)CSDynamicSchema(im)rawModel":{"name":"rawModel()","parent_name":"CSUnsafeDataModelSchema"},"Classes/CSUnsafeDataModelSchema.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSUnsafeDataModelSchema"},"Classes/CSUnsafeDataModelSchema.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSUnsafeDataModelSchema"},"Classes/CSTweak.html#/c:@M@CoreStore@objc(cs)CSTweak(py)block":{"name":"block","abstract":"

    The block to customize the NSFetchRequest

    ","parent_name":"CSTweak"},"Classes/CSTweak.html#/c:@M@CoreStore@objc(cs)CSTweak(im)initWithBlock:":{"name":"init(block:)","abstract":"

    Initializes a CSTweak clause with a closure where the NSFetchRequest may be configured.

    ","parent_name":"CSTweak"},"Classes/CSTweak.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSTweak"},"Classes/CSTweak.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSTweak"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore26SynchronousDataTransactionC6cancels5NeverOyKF":{"name":"cancel()","abstract":"

    Cancels a transaction by throwing CoreStoreError.userCancelled.

    ","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore26SynchronousDataTransactionC6createyxAA4IntoVyxGAA13DynamicObjectRzlF":{"name":"create(_:)","abstract":"

    Creates a new NSManagedObject or CoreStoreObject with the specified entity type.

    ","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore26SynchronousDataTransactionC4edityxSgAeA13DynamicObjectRzlF":{"name":"edit(_:)","abstract":"

    Returns an editable proxy of a specified NSManagedObject or CoreStoreObject.

    ","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore26SynchronousDataTransactionC4edityxSgAA4IntoVyxG_So17NSManagedObjectIDCtAA07DynamicI0RzlF":{"name":"edit(_:_:)","abstract":"

    Returns an editable proxy of the object with the specified NSManagedObjectID.

    ","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore26SynchronousDataTransactionC6deleteyyxSgAA13DynamicObjectRzlF":{"name":"delete(_:)","abstract":"

    Deletes a specified NSManagedObject or CoreStoreObject.

    ","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore26SynchronousDataTransactionC6deleteyyxSg_A2EdtAA13DynamicObjectRzlF":{"name":"delete(_:_:_:)","abstract":"

    Deletes the specified DynamicObjects.

    ","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore26SynchronousDataTransactionC6deleteyyxSTRzAA13DynamicObject7ElementRpzlF":{"name":"delete(_:)","abstract":"

    Deletes the specified DynamicObjects.

    ","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"SynchronousDataTransaction"},"Classes/SynchronousDataTransaction.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"SynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSSynchronousDataTransaction(im)commitAndWaitWithError:":{"name":"commitAndWait(error:)","abstract":"

    Saves the transaction changes and waits for completion synchronously. This method should not be used after the -commitAndWaitWithError: method was already called once.

    ","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSSynchronousDataTransaction(im)createInto:":{"name":"createInto(_:)","abstract":"

    Creates a new NSManagedObject with the specified entity type.

    ","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSSynchronousDataTransaction(im)editObject:":{"name":"editObject(_:)","abstract":"

    Returns an editable proxy of a specified NSManagedObject. This method should not be used after the -commitAndWait method was already called once.

    ","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSSynchronousDataTransaction(im)editInto:objectID:":{"name":"editInto(_:objectID:)","abstract":"

    Returns an editable proxy of the object with the specified NSManagedObjectID. This method should not be used after the -commitAndWait method was already called once.

    ","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSSynchronousDataTransaction(im)deleteObject:":{"name":"deleteObject(_:)","abstract":"

    Deletes a specified NSManagedObject. This method should not be used after the -commitAndWait method was already called once.

    ","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSSynchronousDataTransaction(im)deleteObjects:":{"name":"deleteObjects(_:)","abstract":"

    Deletes the specified NSManagedObjects.

    ","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypeP9SwiftTypeQa":{"name":"SwiftType","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSynchronousDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSSynchronousDataTransaction"},"Classes/CSSetupResult.html#/c:@M@CoreStore@objc(cs)CSSetupResult(py)isSuccess":{"name":"isSuccess","abstract":"

    YES if adding the CSStorageInterface to the CSDataStack succeeded, NO otherwise.

    ","parent_name":"CSSetupResult"},"Classes/CSSetupResult.html#/c:@M@CoreStore@objc(cs)CSSetupResult(py)isFailure":{"name":"isFailure","abstract":"

    YES if adding the CSStorageInterface to the CSDataStack failed, NO otherwise. When YES, the error property returns the actual NSError for the failure.

    ","parent_name":"CSSetupResult"},"Classes/CSSetupResult.html#/c:@M@CoreStore@objc(cs)CSSetupResult(py)storage":{"name":"storage","abstract":"

    A CSStorageInterface instance if the commit operation for the transaction succeeded. Returns nil otherwise.

    ","parent_name":"CSSetupResult"},"Classes/CSSetupResult.html#/c:@M@CoreStore@objc(cs)CSSetupResult(py)error":{"name":"error","abstract":"

    The NSError for a failed commit operation, or nil if the commit succeeded

    ","parent_name":"CSSetupResult"},"Classes/CSSetupResult.html#/c:@M@CoreStore@objc(cs)CSSetupResult(im)handleSuccess:failure:":{"name":"handleSuccess(_:failure:)","abstract":"

    If the result was a success, the success block is executed with the CSStorageInterface instance that was added to the CSDataStack. If the result was a failure, the failure block is executed with an NSError argument pertaining to the actual error.

    ","parent_name":"CSSetupResult"},"Classes/CSSetupResult.html#/c:@M@CoreStore@objc(cs)CSSetupResult(im)handleSuccess:":{"name":"handleSuccess(_:)","abstract":"

    If the result was a success, the success block is executed with a BOOL argument that indicates if there were any changes made. If the result was a failure, this method does nothing.

    ","parent_name":"CSSetupResult"},"Classes/CSSetupResult.html#/c:@M@CoreStore@objc(cs)CSSetupResult(im)handleFailure:":{"name":"handleFailure(_:)","abstract":"

    If the result was a failure, the failure block is executed with an NSError argument pertaining to the actual error. If the result was a success, this method does nothing.

    ","parent_name":"CSSetupResult"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(im)initWithNumberTerm:":{"name":"init(numberTerm:)","abstract":"

    Creates a CSSelect clause for querying NSNumber values.

    ","parent_name":"CSSelect"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(im)initWithDecimalTerm:":{"name":"init(decimalTerm:)","abstract":"

    Creates a CSSelect clause for querying NSDecimalNumber values.

    ","parent_name":"CSSelect"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(im)initWithStringTerm:":{"name":"init(stringTerm:)","abstract":"

    Creates a CSSelect clause for querying NSString values.

    ","parent_name":"CSSelect"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(im)initWithDateTerm:":{"name":"init(dateTerm:)","abstract":"

    Creates a CSSelect clause for querying NSDate values.

    ","parent_name":"CSSelect"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(im)initWithDataTerm:":{"name":"init(dataTerm:)","abstract":"

    Creates a CSSelect clause for querying NSData values.

    ","parent_name":"CSSelect"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(im)initWithObjectIDTerm":{"name":"init(objectIDTerm:)","abstract":"

    Creates a CSSelect clause for querying NSManagedObjectID values.

    ","parent_name":"CSSelect"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(cm)dictionaryForTerm:":{"name":"dictionaryForTerm(_:)","abstract":"

    Creates a CSSelect clause for querying NSDictionary of an entity’s attribute keys and values.

    ","parent_name":"CSSelect"},"Classes/CSSelect.html#/c:@M@CoreStore@objc(cs)CSSelect(cm)dictionaryForTerms:":{"name":"dictionaryForTerms(_:)","abstract":"

    Creates a CSSelect clause for querying NSDictionary of an entity’s attribute keys and values.

    ","parent_name":"CSSelect"},"Classes/CSSelectTerm.html#/c:@M@CoreStore@objc(cs)CSSelectTerm(im)initWithKeyPath:":{"name":"init(keyPath:)","abstract":"

    Provides a CSSelectTerm to a CSSelect clause for querying an entity attribute.

    ","parent_name":"CSSelectTerm"},"Classes/CSSelectTerm.html#/c:@M@CoreStore@objc(cs)CSSelectTerm(cm)average:as:":{"name":"average(_:as:)","abstract":"

    Provides a CSSelectTerm to a CSSelect clause for querying the average value of an attribute.

    ","parent_name":"CSSelectTerm"},"Classes/CSSelectTerm.html#/c:@M@CoreStore@objc(cs)CSSelectTerm(cm)count:as:":{"name":"count(_:as:)","abstract":"

    Provides a CSSelectTerm to a CSSelect clause for a count query.

    ","parent_name":"CSSelectTerm"},"Classes/CSSelectTerm.html#/c:@M@CoreStore@objc(cs)CSSelectTerm(cm)maximum:as:":{"name":"maximum(_:as:)","abstract":"

    Provides a CSSelectTerm to a CSSelect clause for querying the maximum value for an attribute.

    ","parent_name":"CSSelectTerm"},"Classes/CSSelectTerm.html#/c:@M@CoreStore@objc(cs)CSSelectTerm(cm)minimum:as:":{"name":"minimum(_:as:)","abstract":"

    Provides a CSSelectTerm to a CSSelect clause for querying the minimum value for an attribute.

    ","parent_name":"CSSelectTerm"},"Classes/CSSelectTerm.html#/c:@M@CoreStore@objc(cs)CSSelectTerm(cm)sum:as:":{"name":"sum(_:as:)","abstract":"

    Provides a CSSelectTerm to a CSSelect clause for querying the sum value for an attribute.

    ","parent_name":"CSSelectTerm"},"Classes/CSSelectTerm.html#/c:@M@CoreStore@objc(cs)CSSelectTerm(cm)objectIDAs:":{"name":"objectIDAs(_:)","abstract":"

    Provides a CSSelectTerm to a CSSelect clause for querying the NSManagedObjectID.

    ","parent_name":"CSSelectTerm"},"Classes/CSSectionBy.html#/c:@M@CoreStore@objc(cs)CSSectionBy(cm)keyPath:":{"name":"keyPath(_:)","abstract":"

    Initializes a CSSectionBy clause with the key path to use to group CSListMonitor objects into sections

    ","parent_name":"CSSectionBy"},"Classes/CSSectionBy.html#/c:@M@CoreStore@objc(cs)CSSectionBy(cm)keyPath:sectionIndexTransformer:":{"name":"keyPath(_:sectionIndexTransformer:)","abstract":"

    Initializes a CSSectionBy clause with the key path to use to group CSListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    ","parent_name":"CSSectionBy"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C7fileURL13configuration25migrationMappingProviders19localStorageOptionsAC10Foundation0E0V_SSSgSayAA06SchemaH8Provider_pGAA05LocalkL0Vtcfc":{"name":"init(fileURL:configuration:migrationMappingProviders:localStorageOptions:)","abstract":"

    Initializes an SQLite store interface from the given SQLite file URL. When this instance is passed to the DataStack‘s addStorage() methods, a new SQLite file will be created if it does not exist.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C8fileName13configuration25migrationMappingProviders19localStorageOptionsACSS_SSSgSayAA06SchemaH8Provider_pGAA05LocalkL0Vtcfc":{"name":"init(fileName:configuration:migrationMappingProviders:localStorageOptions:)","abstract":"

    Initializes an SQLite store interface from the given SQLite file name. When this instance is passed to the DataStack‘s addStorage() methods, a new SQLite file will be created if it does not exist.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0CACycfc":{"name":"init()","abstract":"

    Initializes an SQLiteStore with an all-default settings: a fileURL pointing to a .sqlite file in the Application Support/ directory (or the Caches/ directory on tvOS), a nil configuration pertaining to the Default configuration, a migrationMappingProviders set to empty, and localStorageOptions set to .AllowProgresiveMigration.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C6legacy8fileName13configuration25migrationMappingProviders19localStorageOptionsACSS_SSSgSayAA06SchemaI8Provider_pGAA05LocallM0VtFZ":{"name":"legacy(fileName:configuration:migrationMappingProviders:localStorageOptions:)","abstract":"

    Initializes an SQLite store interface from the given SQLite file name. When this instance is passed to the DataStack‘s addStorage() methods, a new SQLite file will be created if it does not exist.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C6legacyACyFZ":{"name":"legacy()","abstract":"

    Initializes an LegacySQLiteStore with an all-default settings: a fileURL pointing to a .sqlite file in the Application Support directory (or the Caches directory on tvOS), a nil configuration pertaining to the Default configuration, a migrationMappingProviders set to empty, and localStorageOptions set to .AllowProgresiveMigration.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C8fileSizes6UInt64VSgyF":{"name":"fileSize()","abstract":"

    Queries the file size (in bytes) of the store, or nil if the file does not exist yet

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C9storeTypeSSvpZ":{"name":"storeType","abstract":"

    The string identifier for the NSPersistentStore‘s type property. For SQLiteStores, this is always set to NSSQLiteStoreType.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C13configurationSSSgvp":{"name":"configuration","abstract":"

    The configuration name in the model file

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C12storeOptionsSDys11AnyHashableVypGSgvp":{"name":"storeOptions","abstract":"

    The options dictionary for the NSPersistentStore. For SQLiteStores, this is always set to

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C20cs_didAddToDataStackyyAA0hI0CF":{"name":"cs_didAddToDataStack(_:)","abstract":"

    Do not call directly. Used by the DataStack internally.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C25cs_didRemoveFromDataStackyyAA0hI0CF":{"name":"cs_didRemoveFromDataStack(_:)","abstract":"

    Do not call directly. Used by the DataStack internally.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C7fileURL10Foundation0E0Vvp":{"name":"fileURL","abstract":"

    The NSURL that points to the SQLite file

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C25migrationMappingProvidersSayAA06SchemaE8Provider_pGvp":{"name":"migrationMappingProviders","abstract":"

    An array of SchemaMappingProviders that provides the complete mapping models for custom migrations.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C19localStorageOptionsAA05LocaleF0Vvp":{"name":"localStorageOptions","abstract":"

    Options that tell the DataStack how to setup the persistent store

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C10dictionary10forOptionsSDys11AnyHashableVypGSgAA012LocalStorageF0V_tF":{"name":"dictionary(forOptions:)","abstract":"

    The options dictionary for the specified LocalStorageOptions

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C25cs_finalizeStorageAndWait14soureModelHintySo015NSManagedObjectJ0C_tKF":{"name":"cs_finalizeStorageAndWait(soureModelHint:)","abstract":"

    Called by the DataStack to perform checkpoint operations on the storage. For SQLiteStore, this converts the database’s WAL journaling mode to DELETE to force a checkpoint.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore06SQLiteB0C22cs_eraseStorageAndWait8metadata14soureModelHintySDySSypG_So015NSManagedObjectK0CSgtKF":{"name":"cs_eraseStorageAndWait(metadata:soureModelHint:)","abstract":"

    Called by the DataStack to perform actual deletion of the store file from disk. Do not call directly! The sourceModel argument is a hint for the existing store’s model version. For SQLiteStore, this converts the database’s WAL journaling mode to DELETE before deleting the file.

    ","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"SQLiteStore"},"Classes/SQLiteStore.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"SQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(im)initWithFileURL:configuration:localStorageOptions:":{"name":"init(fileURL:configuration:localStorageOptions:)","abstract":"

    Initializes an SQLite store interface from the given SQLite file URL. When this instance is passed to the CSDataStack‘s -addStorage*: methods, a new SQLite file will be created if it does not exist.

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(im)initWithFileName:configuration:localStorageOptions:":{"name":"init(fileName:configuration:localStorageOptions:)","abstract":"

    Initializes an SQLite store interface from the given SQLite file name. When this instance is passed to the CSDataStack‘s -addStorage*: methods, a new SQLite file will be created if it does not exist.

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(im)init":{"name":"init()","abstract":"

    Initializes an CSSQLiteStore with an all-default settings: a fileURL pointing to a .sqlite file in the Application Support/ directory (or the Caches/ directory on tvOS), a nil configuration pertaining to the Default configuration, and localStorageOptions set to [CSLocalStorageOptions none].

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(py)fileURL":{"name":"fileURL","abstract":"

    The NSURL that points to the SQLite file

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(py)migrationMappingProviders":{"name":"migrationMappingProviders","abstract":"

    An array of SchemaMappingProviders that provides the complete mapping models for custom migrations. This is currently only supported for Swift code.

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(py)localStorageOptions":{"name":"localStorageOptions","abstract":"

    Options that tell the CSDataStack how to setup the persistent store

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(cpy)storeType":{"name":"storeType","abstract":"

    The string identifier for the NSPersistentStore‘s type property. For CSSQLiteStores, this is always set to NSSQLiteStoreType.

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(py)configuration":{"name":"configuration","abstract":"

    The configuration name in the model file

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(py)storeOptions":{"name":"storeOptions","abstract":"

    The options dictionary for the NSPersistentStore. For CSSQLiteStores, this is always set to

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/c:@M@CoreStore@objc(cs)CSSQLiteStore(im)cs_eraseStorageAndWaitWithMetadata:soureModelHint:error:":{"name":"cs_eraseStorageAndWait(metadata:soureModelHint:error:)","abstract":"

    Called by the CSDataStack to perform actual deletion of the store file from disk. Do not call directly! The sourceModel argument is a hint for the existing store’s model version. For CSSQLiteStore, this converts the database’s WAL journaling mode to DELETE before deleting the file.

    ","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSSQLiteStore"},"Classes/CSSQLiteStore.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSSQLiteStore"},"Classes/CSOrderBy.html#/c:@M@CoreStore@objc(cs)CSOrderBy(py)sortDescriptors":{"name":"sortDescriptors","abstract":"

    The list of sort descriptors

    ","parent_name":"CSOrderBy"},"Classes/CSOrderBy.html#/c:@M@CoreStore@objc(cs)CSOrderBy(im)initWithSortDescriptor:":{"name":"init(sortDescriptor:)","abstract":"

    Initializes a CSOrderBy clause with a single sort descriptor

    ","parent_name":"CSOrderBy"},"Classes/CSOrderBy.html#/c:@M@CoreStore@objc(cs)CSOrderBy(im)initWithSortDescriptors:":{"name":"init(sortDescriptors:)","abstract":"

    Initializes a CSOrderBy clause with a list of sort descriptors

    ","parent_name":"CSOrderBy"},"Classes/CSObjectMonitor.html#/s:9CoreStore15CSObjectMonitorC6objectypSgvp":{"name":"object","abstract":"

    Returns the NSManagedObject instance being observed, or nil if the object was already deleted.

    ","parent_name":"CSObjectMonitor"},"Classes/CSObjectMonitor.html#/s:9CoreStore15CSObjectMonitorC15isObjectDeletedSbvp":{"name":"isObjectDeleted","abstract":"

    Returns YES if the NSManagedObject instance being observed still exists, or NO if the object was already deleted.

    ","parent_name":"CSObjectMonitor"},"Classes/CSObjectMonitor.html#/s:9CoreStore15CSObjectMonitorC17addObjectObserveryyAA0cG0_pF":{"name":"addObjectObserver(_:)","abstract":"

    Registers a CSObjectObserver to be notified when changes to the receiver’s object are made.

    ","parent_name":"CSObjectMonitor"},"Classes/CSObjectMonitor.html#/s:9CoreStore15CSObjectMonitorC20removeObjectObserveryyAA0cG0_pF":{"name":"removeObjectObserver(_:)","abstract":"

    Unregisters an CSObjectObserver from receiving notifications for changes to the receiver’s object.

    ","parent_name":"CSObjectMonitor"},"Classes/CSMigrationType.html#/c:@M@CoreStore@objc(cs)CSMigrationType(py)needsMigration":{"name":"needsMigration","abstract":"

    Returns YES if the CSMigrationType‘s sourceVersion and destinationVersion do not match. Returns NO otherwise.

    ","parent_name":"CSMigrationType"},"Classes/CSMigrationType.html#/c:@M@CoreStore@objc(cs)CSMigrationType(py)sourceVersion":{"name":"sourceVersion","abstract":"

    Returns the source model version for the migration type. If no migration is required, sourceVersion will be equal to the destinationVersion.

    ","parent_name":"CSMigrationType"},"Classes/CSMigrationType.html#/c:@M@CoreStore@objc(cs)CSMigrationType(py)destinationVersion":{"name":"destinationVersion","abstract":"

    Returns the destination model version for the migration type. If no migration is required, destinationVersion will be equal to the sourceVersion.

    ","parent_name":"CSMigrationType"},"Classes/CSMigrationType.html#/c:@M@CoreStore@objc(cs)CSMigrationType(py)isLightweightMigration":{"name":"isLightweightMigration","abstract":"

    Returns YES if the CSMigrationType is a lightweight migration. Used as syntactic sugar.

    ","parent_name":"CSMigrationType"},"Classes/CSMigrationType.html#/c:@M@CoreStore@objc(cs)CSMigrationType(py)isHeavyweightMigration":{"name":"isHeavyweightMigration","abstract":"

    Returns YES if the CSMigrationType is a heavyweight migration. Used as syntactic sugar.

    ","parent_name":"CSMigrationType"},"Classes/CSMigrationType.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSMigrationType"},"Classes/CSMigrationType.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSMigrationType"},"Classes/CSMigrationResult.html#/c:@M@CoreStore@objc(cs)CSMigrationResult(py)isSuccess":{"name":"isSuccess","abstract":"

    YES if the migration succeeded, NO otherwise

    ","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/c:@M@CoreStore@objc(cs)CSMigrationResult(py)isFailure":{"name":"isFailure","abstract":"

    YES if the migration failed, NO otherwise

    ","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/c:@M@CoreStore@objc(cs)CSMigrationResult(py)migrationTypes":{"name":"migrationTypes","abstract":"

    YES if the migration succeeded, NO otherwise

    ","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/c:@M@CoreStore@objc(cs)CSMigrationResult(py)error":{"name":"error","abstract":"

    The NSError for a failed migration, or nil if the migration succeeded

    ","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/c:@M@CoreStore@objc(cs)CSMigrationResult(im)handleSuccess:failure:":{"name":"handleSuccess(_:failure:)","abstract":"

    If the result was a success, the success block is executed with an array of CSMigrationTypes that indicates the migration steps completed. If the result was a failure, the failure block is executed with an NSError argument pertaining to the actual error.

    ","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/c:@M@CoreStore@objc(cs)CSMigrationResult(im)handleSuccess:":{"name":"handleSuccess(_:)","abstract":"

    If the result was a success, the success block is executed with an array of CSMigrationTypes that indicates the migration steps completed. If the result was a failure, this method does nothing.

    ","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/c:@M@CoreStore@objc(cs)CSMigrationResult(im)handleFailure:":{"name":"handleFailure(_:)","abstract":"

    If the result was a failure, the failure block is executed with an NSError argument pertaining to the actual error. If the result was a success, this method does nothing.

    ","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSMigrationResult"},"Classes/CSMigrationResult.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSMigrationResult"},"Classes/CSListMonitor.html#/s:9CoreStore13CSListMonitorCyypSicip":{"name":"subscript(_:)","abstract":"

    Returns the object at the given index within the first section. This subscript indexer is typically used for CSListMonitors created without section groupings.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectAtSafeIndex:":{"name":"objectAtSafeIndex(_:)","abstract":"

    Returns the object at the given index, or nil if out of bounds. This indexer is typically used for CSListMonitors created without section groupings.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectAtSectionIndex:itemIndex:":{"name":"objectAtSectionIndex(_:itemIndex:)","abstract":"

    Returns the object at the given sectionIndex and itemIndex. This indexer is typically used for CSListMonitors created as sectioned lists.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectAtSafeSectionIndex:safeItemIndex:":{"name":"objectAtSafeSectionIndex(_:safeItemIndex:)","abstract":"

    Returns the object at the given section and item index, or nil if out of bounds. This indexer is typically used for CSListMonitors created as sectioned lists.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectAtIndexPath:":{"name":"objectAtIndexPath(_:)","abstract":"

    Returns the object at the given NSIndexPath. This subscript indexer is typically used for CSListMonitors created as sectioned lists.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectAtSafeIndexPath:":{"name":"objectAtSafeIndexPath(_:)","abstract":"

    Returns the object at the given NSIndexPath, or nil if out of bounds. This subscript indexer is typically used for CSListMonitors created as sectioned lists.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)hasObjects":{"name":"hasObjects()","abstract":"

    Checks if the CSListMonitor has at least one object in any section.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)hasObjectsInSection:":{"name":"hasObjectsInSection(_:)","abstract":"

    Checks if the CSListMonitor has at least one object the specified section.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectsInAllSections":{"name":"objectsInAllSections()","abstract":"

    Returns all objects in all sections

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectsInSection:":{"name":"objectsInSection(_:)","abstract":"

    Returns all objects in the specified section

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)objectsInSafeSectionWithSafeSectionIndex:":{"name":"objectsInSafeSection(safeSectionIndex:)","abstract":"

    Returns all objects in the specified section, or nil if out of bounds.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)numberOfSections":{"name":"numberOfSections()","abstract":"

    Returns the number of sections

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)numberOfObjects":{"name":"numberOfObjects()","abstract":"

    Returns the number of objects in all sections

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)numberOfObjectsInSection:":{"name":"numberOfObjectsInSection(_:)","abstract":"

    Returns the number of objects in the specified section

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)numberOfObjectsInSafeSectionWithSafeSectionIndex:":{"name":"numberOfObjectsInSafeSection(safeSectionIndex:)","abstract":"

    Returns the number of objects in the specified section, or nil if out of bounds.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)sectionInfoAtIndex:":{"name":"sectionInfoAtIndex(_:)","abstract":"

    Returns the NSFetchedResultsSectionInfo for the specified section

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)sectionInfoAtSafeSectionIndexWithSafeSectionIndex:":{"name":"sectionInfoAtSafeSectionIndex(safeSectionIndex:)","abstract":"

    Returns the NSFetchedResultsSectionInfo for the specified section, or nil if out of bounds.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)sections":{"name":"sections()","abstract":"

    Returns the NSFetchedResultsSectionInfos for all sections

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)targetSectionForSectionIndexTitleWithTitle:index:":{"name":"targetSectionForSectionIndexTitle(title:index:)","abstract":"

    Returns the target section for a specified Section Index title and index.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)sectionIndexTitles":{"name":"sectionIndexTitles()","abstract":"

    Returns the section index titles for all sections

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)indexOf:":{"name":"indexOf(_:)","abstract":"

    Returns the index of the NSManagedObject if it exists in the CSListMonitor‘s fetched objects, or nil if not found.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)indexPathOf:":{"name":"indexPathOf(_:)","abstract":"

    Returns the NSIndexPath of the NSManagedObject if it exists in the CSListMonitor‘s fetched objects, or nil if not found.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)addListObserver:":{"name":"addListObserver(_:)","abstract":"

    Registers a CSListObserver to be notified when changes to the receiver’s list occur.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/s:9CoreStore13CSListMonitorC21addListObjectObserveryyAA0cgH0_pF":{"name":"addListObjectObserver(_:)","abstract":"

    Registers a CSListObjectObserver to be notified when changes to the receiver’s list occur.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)addListSectionObserver:":{"name":"addListSectionObserver(_:)","abstract":"

    Registers a CSListSectionObserver to be notified when changes to the receiver’s list occur.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)removeListObserver:":{"name":"removeListObserver(_:)","abstract":"

    Unregisters a CSListObserver from receiving notifications for changes to the receiver’s list.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(py)isPendingRefetch":{"name":"isPendingRefetch","abstract":"

    Returns YES if a call to -refetch: was made to the CSListMonitor and is currently waiting for the fetching to complete. Returns NO otherwise.

    ","parent_name":"CSListMonitor"},"Classes/CSListMonitor.html#/c:@M@CoreStore@objc(cs)CSListMonitor(im)refetch:":{"name":"refetch(_:)","abstract":"

    Asks the CSListMonitor to refetch its objects using the specified series of CSFetchClauses. Note that this method does not execute the fetch immediately; the actual fetching will happen after the NSFetchedResultsController‘s last controllerDidChangeContent(_:) notification completes.

    ","parent_name":"CSListMonitor"},"Classes/CSInto.html#/c:@M@CoreStore@objc(cs)CSInto(py)entityClass":{"name":"entityClass","abstract":"

    The associated NSManagedObject entity class

    ","parent_name":"CSInto"},"Classes/CSInto.html#/c:@M@CoreStore@objc(cs)CSInto(py)configuration":{"name":"configuration","abstract":"

    The NSPersistentStore configuration name to associate objects from.","parent_name":"CSInto"},"Classes/CSInto.html#/c:@M@CoreStore@objc(cs)CSInto(im)initWithEntityClass:":{"name":"init(entityClass:)","abstract":"

    Initializes a CSInto clause with the specified entity class.

    ","parent_name":"CSInto"},"Classes/CSInto.html#/c:@M@CoreStore@objc(cs)CSInto(im)initWithEntityClass:configuration:":{"name":"init(entityClass:configuration:)","abstract":"

    Initializes a CSInto clause with the specified configuration.

    ","parent_name":"CSInto"},"Classes/InMemoryStore.html#/s:9CoreStore08InMemoryB0C13configurationACSSSg_tcfc":{"name":"init(configuration:)","abstract":"

    Initializes an InMemoryStore for the specified configuration

    ","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:9CoreStore08InMemoryB0CACycfc":{"name":"init()","abstract":"

    Initializes an InMemoryStore with the Default configuration

    ","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:9CoreStore08InMemoryB0C9storeTypeSSvpZ":{"name":"storeType","abstract":"

    The string identifier for the NSPersistentStore‘s type property. For InMemoryStores, this is always set to NSInMemoryStoreType.

    ","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:9CoreStore08InMemoryB0C13configurationSSSgvp":{"name":"configuration","abstract":"

    The configuration name in the model file

    ","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:9CoreStore08InMemoryB0C12storeOptionsSDys11AnyHashableVypGSgvp":{"name":"storeOptions","abstract":"

    The options dictionary for the NSPersistentStore. For InMemoryStores, this is always set to nil.

    ","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:9CoreStore08InMemoryB0C20cs_didAddToDataStackyyAA0iJ0CF":{"name":"cs_didAddToDataStack(_:)","abstract":"

    Do not call directly. Used by the DataStack internally.

    ","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:9CoreStore08InMemoryB0C25cs_didRemoveFromDataStackyyAA0iJ0CF":{"name":"cs_didRemoveFromDataStack(_:)","abstract":"

    Do not call directly. Used by the DataStack internally.

    ","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"InMemoryStore"},"Classes/InMemoryStore.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"InMemoryStore"},"Classes/CSInMemoryStore.html#/c:@M@CoreStore@objc(cs)CSInMemoryStore(im)initWithConfiguration:":{"name":"init(configuration:)","abstract":"

    Initializes a CSInMemoryStore for the specified configuration

    ","parent_name":"CSInMemoryStore"},"Classes/CSInMemoryStore.html#/c:@M@CoreStore@objc(cs)CSInMemoryStore(im)init":{"name":"init()","abstract":"

    Initializes a CSInMemoryStore with the Default configuration

    ","parent_name":"CSInMemoryStore"},"Classes/CSInMemoryStore.html#/c:@M@CoreStore@objc(cs)CSInMemoryStore(cpy)storeType":{"name":"storeType","abstract":"

    The string identifier for the NSPersistentStore‘s type property. For CSInMemoryStores, this is always set to NSInMemoryStoreType.

    ","parent_name":"CSInMemoryStore"},"Classes/CSInMemoryStore.html#/c:@M@CoreStore@objc(cs)CSInMemoryStore(py)configuration":{"name":"configuration","abstract":"

    The configuration name in the model file

    ","parent_name":"CSInMemoryStore"},"Classes/CSInMemoryStore.html#/c:@M@CoreStore@objc(cs)CSInMemoryStore(py)storeOptions":{"name":"storeOptions","abstract":"

    The options dictionary for the NSPersistentStore. For CSInMemoryStores, this is always set to nil.

    ","parent_name":"CSInMemoryStore"},"Classes/CSInMemoryStore.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSInMemoryStore"},"Classes/CSInMemoryStore.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSInMemoryStore"},"Classes/CSGroupBy.html#/c:@M@CoreStore@objc(cs)CSGroupBy(py)keyPaths":{"name":"keyPaths","abstract":"

    The list of key path strings to group results with

    ","parent_name":"CSGroupBy"},"Classes/CSGroupBy.html#/c:@M@CoreStore@objc(cs)CSGroupBy(im)initWithKeyPath:":{"name":"init(keyPath:)","abstract":"

    Initializes a CSGroupBy clause with a key path string

    ","parent_name":"CSGroupBy"},"Classes/CSGroupBy.html#/c:@M@CoreStore@objc(cs)CSGroupBy(im)initWithKeyPaths:":{"name":"init(keyPaths:)","abstract":"

    Initializes a CSGroupBy clause with a list of key path strings

    ","parent_name":"CSGroupBy"},"Classes/CSFrom.html#/c:@M@CoreStore@objc(cs)CSFrom(py)entityClass":{"name":"entityClass","abstract":"

    The associated NSManagedObject entity class

    ","parent_name":"CSFrom"},"Classes/CSFrom.html#/c:@M@CoreStore@objc(cs)CSFrom(py)configurations":{"name":"configurations","abstract":"

    The NSPersistentStore configuration names to associate objects from.","parent_name":"CSFrom"},"Classes/CSFrom.html#/c:@M@CoreStore@objc(cs)CSFrom(im)initWithEntityClass:":{"name":"init(entityClass:)","abstract":"

    Initializes a CSFrom clause with the specified entity class.

    ","parent_name":"CSFrom"},"Classes/CSFrom.html#/c:@M@CoreStore@objc(cs)CSFrom(im)initWithEntityClass:configuration:":{"name":"init(entityClass:configuration:)","abstract":"

    Initializes a CSFrom clause with the specified configurations.

    ","parent_name":"CSFrom"},"Classes/CSFrom.html#/c:@M@CoreStore@objc(cs)CSFrom(im)initWithEntityClass:configurations:":{"name":"init(entityClass:configurations:)","abstract":"

    Initializes a CSFrom clause with the specified configurations.

    ","parent_name":"CSFrom"},"Classes/CSError.html#/c:@M@CoreStore@objc(cs)CSError(cpy)errorDomain":{"name":"errorDomain","abstract":"

    The NSError error domain for CSError.

    ","parent_name":"CSError"},"Classes/CSError.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSError"},"Classes/CSError.html#/s:9CoreStore7CSErrorCyAcA0aB5ErrorOcfc":{"name":"init(_:)","abstract":"

    Do not call directly!

    ","parent_name":"CSError"},"Classes/DataStack.html#/s:9CoreStore9DataStackC15applicationNameSSvpZ":{"name":"applicationName","abstract":"

    The resolved application name, used by the DataStack as the default Xcode model name (.xcdatamodel filename) if not explicitly provided.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC14xcodeModelName6bundle14migrationChainACSS_So8NSBundleCAA09MigrationJ0Vtcfc":{"name":"init(xcodeModelName:bundle:migrationChain:)","abstract":"

    Convenience initializer for DataStack that creates a SchemaHistory from the model with the specified modelName in the specified bundle.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC__14migrationChainAcA13DynamicSchema_p_AaE_pdAA09MigrationF0Vtcfc":{"name":"init(_:_:migrationChain:)","abstract":"

    Convenience initializer for DataStack that creates a SchemaHistory from a list of DynamicSchema versions.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13schemaHistoryAcA06SchemaF0C_tcfc":{"name":"init(schemaHistory:)","abstract":"

    Initializes a DataStack from a SchemaHistory instance.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC12modelVersionSSvp":{"name":"modelVersion","abstract":"

    Returns the DataStack‘s current model version. StorageInterfaces added to the stack will be migrated to this version.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11modelSchemaAA07DynamicF0_pvp":{"name":"modelSchema","abstract":"

    Returns the DataStack‘s current model schema. StorageInterfaces added to the stack will be migrated to this version.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17entityTypesByName3forSDySSSo15NSManagedObjectCmGAGm_tF":{"name":"entityTypesByName(for:)","abstract":"

    Returns the entity name-to-class type mapping from the DataStack‘s model.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17entityTypesByName3forSDySSAA0aB6ObjectCmGAGm_tF":{"name":"entityTypesByName(for:)","abstract":"

    Returns the entity name-to-class type mapping from the DataStack‘s model.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17entityDescription3forSo08NSEntityF0CSgSo15NSManagedObjectCm_tF":{"name":"entityDescription(for:)","abstract":"

    Returns the NSEntityDescription for the specified NSManagedObject subclass.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17entityDescription3forSo08NSEntityF0CSgAA0aB6ObjectCm_tF":{"name":"entityDescription(for:)","abstract":"

    Returns the NSEntityDescription for the specified CoreStoreObject subclass.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8objectID20forURIRepresentationSo015NSManagedObjectF0CSg10Foundation3URLV_tF":{"name":"objectID(forURIRepresentation:)","abstract":"

    Returns the NSManagedObjectID for the specified object URI if it exists in the persistent store.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17addStorageAndWaitAA06SQLiteB0CyKF":{"name":"addStorageAndWait()","abstract":"

    Creates an SQLiteStore with default parameters and adds it to the stack. This method blocks until completion.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17addStorageAndWaityxxKAA0F9InterfaceRzlF":{"name":"addStorageAndWait(_:)","abstract":"

    Adds a StorageInterface to the stack and blocks until completion.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17addStorageAndWaityxxKAA05LocalF0RzlF":{"name":"addStorageAndWait(_:)","abstract":"

    Adds a LocalStorage to the stack and blocks until completion.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC17addStorageAndWaityxxKAA05CloudF0RzlF":{"name":"addStorageAndWait(_:)","abstract":"

    Adds a CloudStorage to the stack and blocks until completion.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8userInfoAA04UserF0Cvp":{"name":"userInfo","abstract":"

    Allow external libraries to store custom data in the DataStack. App code should rarely have a need for this.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"DataStack"},"Classes/DataStack.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10addStorage_10completionyx_ys6ResultOyxAA0aB5ErrorOGctAA0F9InterfaceRzlF":{"name":"addStorage(_:completion:)","abstract":"

    Asynchronously adds a StorageInterface to the stack. Migrations are also initiated by default.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10addStorage_10completionSo10NSProgressCSgx_ys6ResultOyxAA0aB5ErrorOGctAA05LocalF0RzlF":{"name":"addStorage(_:completion:)","abstract":"

    Asynchronously adds a LocalStorage to the stack. Migrations are also initiated by default.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10addStorage_10completionyx_ys6ResultOyxAA0aB5ErrorOGctAA05CloudF0RzlF":{"name":"addStorage(_:completion:)","abstract":"

    Asynchronously adds a CloudStorage to the stack. Migrations are also initiated by default.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC22upgradeStorageIfNeeded_10completionSo10NSProgressCSgx_ys6ResultOySayAA13MigrationTypeOGAA0aB5ErrorOGctKAA05LocalF0RzlF":{"name":"upgradeStorageIfNeeded(_:completion:)","abstract":"

    Migrates a local storage to match the DataStack‘s managed object model version. This method does NOT add the migrated store to the data stack.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC28requiredMigrationsForStorageySayAA13MigrationTypeOGxKAA05LocalH0RzlF":{"name":"requiredMigrationsForStorage(_:)","abstract":"

    Checks the migration steps required for the storage to match the DataStack‘s managed object model version.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13monitorObjectyAA0F7MonitorCyxGxAA07DynamicF0RzlF":{"name":"monitorObject(_:)","abstract":"

    Creates an ObjectMonitor for the specified DynamicObject. Multiple ObjectObservers may then register themselves to be notified when changes are made to the DynamicObject.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11monitorListyAA0F7MonitorCyxGAA4FromVyxG_AA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorList(_:_:)","abstract":"

    Creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11monitorListyAA0F7MonitorCyxGAA4FromVyxG_SayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorList(_:_:)","abstract":"

    Creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11monitorListyAA0F7MonitorCy10ObjectTypeQzGxAA021FetchChainableBuilderI0RzlF":{"name":"monitorList(_:)","abstract":"

    Creates a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11monitorList20createAsynchronously__yyAA0F7MonitorCyxGc_AA4FromVyxGAA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorList(createAsynchronously:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11monitorList20createAsynchronously__yyAA0F7MonitorCyxGc_AA4FromVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorList(createAsynchronously:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11monitorList20createAsynchronously_yyAA0F7MonitorCy10ObjectTypeQzGc_xtAA021FetchChainableBuilderK0RzlF":{"name":"monitorList(createAsynchronously:_:)","abstract":"

    Asynchronously creates a ListMonitor for a list of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC20monitorSectionedListyAA0G7MonitorCyxGAA4FromVyxG_AA9SectionByVyxGAA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(_:_:_:)","abstract":"

    Creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC20monitorSectionedListyAA0G7MonitorCyxGAA4FromVyxG_AA9SectionByVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(_:_:_:)","abstract":"

    Creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC20monitorSectionedListyAA0G7MonitorCy10ObjectTypeQzGxAA07Sectionh7BuilderJ0RzlF":{"name":"monitorSectionedList(_:)","abstract":"

    Creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified SectionMonitorBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC20monitorSectionedList20createAsynchronously___yyAA0G7MonitorCyxGc_AA4FromVyxGAA9SectionByVyxGAA11FetchClause_pdtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(createAsynchronously:_:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC20monitorSectionedList20createAsynchronously___yyAA0G7MonitorCyxGc_AA4FromVyxGAA9SectionByVyxGSayAA11FetchClause_pGtAA13DynamicObjectRzlF":{"name":"monitorSectionedList(createAsynchronously:_:_:_:)","abstract":"

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC20monitorSectionedList20createAsynchronously_yyAA0G7MonitorCy10ObjectTypeQzGc_xtAA07Sectionj7BuilderL0RzlF":{"name":"monitorSectionedList(createAsynchronously:_:)","abstract":"

    Asynchronously creates a ListMonitor for a sectioned list of DynamicObjects that satisfy the specified SectionMonitorBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13fetchExistingyxSgxAA13DynamicObjectRzlF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instance in the DataStack‘s context from a reference created from a transaction or from a different managed object context.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13fetchExistingyxSgSo17NSManagedObjectIDCAA07DynamicH0RzlF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instance in the DataStack‘s context from an NSManagedObjectID.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13fetchExistingySayxGq_AA13DynamicObjectRz7ElementQy_RszSTR_r0_lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instances in the DataStack‘s context from references created from a transaction or from a different managed object context.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13fetchExistingySayxGq_AA13DynamicObjectRzSTR_So09NSManagedH2IDC7ElementRt_r0_lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instances in the DataStack‘s context from a list of NSManagedObjectID.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8fetchOneyxSgAA4FromVyxG_AA11FetchClause_pdtKAA13DynamicObjectRzlF":{"name":"fetchOne(_:_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8fetchOneyxSgAA4FromVyxG_SayAA11FetchClause_pGtKAA13DynamicObjectRzlF":{"name":"fetchOne(_:_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8fetchOney10ObjectTypeQzSgxKAA021FetchChainableBuilderH0RzlF":{"name":"fetchOne(_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8fetchAllySayxGAA4FromVyxG_AA11FetchClause_pdtKAA13DynamicObjectRzlF":{"name":"fetchAll(_:_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8fetchAllySayxGAA4FromVyxG_SayAA11FetchClause_pGtKAA13DynamicObjectRzlF":{"name":"fetchAll(_:_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC8fetchAllySay10ObjectTypeQzGxKAA021FetchChainableBuilderH0RzlF":{"name":"fetchAll(_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10fetchCountySiAA4FromVyxG_AA11FetchClause_pdtKAA13DynamicObjectRzlF":{"name":"fetchCount(_:_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10fetchCountySiAA4FromVyxG_SayAA11FetchClause_pGtKAA13DynamicObjectRzlF":{"name":"fetchCount(_:_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10fetchCountySixKAA25FetchChainableBuilderTypeRzlF":{"name":"fetchCount(_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13fetchObjectIDySo09NSManagedfG0CSgAA4FromVyxG_AA11FetchClause_pdtKAA07DynamicF0RzlF":{"name":"fetchObjectID(_:_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13fetchObjectIDySo09NSManagedfG0CSgAA4FromVyxG_SayAA11FetchClause_pGtKAA07DynamicF0RzlF":{"name":"fetchObjectID(_:_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13fetchObjectIDySo09NSManagedfG0CSgxKAA25FetchChainableBuilderTypeRzlF":{"name":"fetchObjectID(_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC14fetchObjectIDsySaySo09NSManagedF2IDCGAA4FromVyxG_AA11FetchClause_pdtKAA07DynamicF0RzlF":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC14fetchObjectIDsySaySo09NSManagedF2IDCGAA4FromVyxG_SayAA11FetchClause_pGtKAA07DynamicF0RzlF":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC14fetchObjectIDsySaySo09NSManagedF2IDCGxKAA25FetchChainableBuilderTypeRzlF":{"name":"fetchObjectIDs(_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10queryValueyq_SgAA4FromVyxG_AA6SelectVyxq_GAA11QueryClause_pdtKAA13DynamicObjectRzAA22QueryableAttributeTypeR_r0_lF":{"name":"queryValue(_:_:_:)","abstract":"

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10queryValueyq_SgAA4FromVyxG_AA6SelectVyxq_GSayAA11QueryClause_pGtKAA13DynamicObjectRzAA22QueryableAttributeTypeR_r0_lF":{"name":"queryValue(_:_:_:)","abstract":"

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC10queryValuey10ResultTypeQzSgxKAA021QueryChainableBuilderH0RzAA018QueryableAttributeH0AFRQlF":{"name":"queryValue(_:)","abstract":"

    Queries a property value or aggregate as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC15queryAttributesySaySDySSypGGAA4FromVyxG_AA6SelectVyxSo12NSDictionaryCGAA11QueryClause_pdtKAA13DynamicObjectRzlF":{"name":"queryAttributes(_:_:_:)","abstract":"

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC15queryAttributesySaySDySSypGGAA4FromVyxG_AA6SelectVyxSo12NSDictionaryCGSayAA11QueryClause_pGtKAA13DynamicObjectRzlF":{"name":"queryAttributes(_:_:_:)","abstract":"

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC15queryAttributesySaySDySSypGGxKAA25QueryChainableBuilderTypeRzSo12NSDictionaryC06ResultJ0RtzlF":{"name":"queryAttributes(_:)","abstract":"

    Queries a dictionary of attribute values or as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC13unsafeContextSo015NSManagedObjectF0CyF":{"name":"unsafeContext()","abstract":"

    The internal NSManagedObjectContext managed by this instance. Using this context directly should typically be avoided, and is provided by CoreStore only for extremely specialized cases.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC7perform12asynchronous10completionyxAA012AsynchronousC11TransactionCKc_ys6ResultOyxAA0aB5ErrorOGctlF":{"name":"perform(asynchronous:completion:)","abstract":"

    Performs a transaction asynchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the wrapped as .success(T) in the completion‘s Result<T>. Any errors thrown from inside the task will be reported as .failure(CoreStoreError). To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC7perform12asynchronous7success7failureyxAA012AsynchronousC11TransactionCKc_yxcyAA0aB5ErrorOctlF":{"name":"perform(asynchronous:success:failure:)","abstract":"

    Performs a transaction asynchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the argument of the success closure. Any errors thrown from inside the task will be wrapped in a CoreStoreError and reported in the failure closure. To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC7perform11synchronous19waitForAllObserversxxAA011SynchronousC11TransactionCKXE_SbtKlF":{"name":"perform(synchronous:waitForAllObservers:)","abstract":"

    Performs a transaction synchronously where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. The changes are commited automatically after the task closure returns. On success, the value returned from closure will be the return value of perform(synchronous:). Any errors thrown from inside the task will be thrown from perform(synchronous:). To cancel/rollback changes, call try transaction.cancel(), which throws a CoreStoreError.userCancelled.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC11beginUnsafe12supportsUndoAA0fC11TransactionCSb_tF":{"name":"beginUnsafe(supportsUndo:)","abstract":"

    Begins a non-contiguous transaction where NSManagedObject or CoreStoreObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC25refreshAndMergeAllObjectsyyF":{"name":"refreshAndMergeAllObjects()","abstract":"

    Refreshes all registered objects NSManagedObjects or CoreStoreObjects in the DataStack.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC30createFetchedResultsControllerySo09NSFetchedgH0CyxGAA4FromVyxG_AA9SectionByVyxGAA11FetchClause_pdtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(_:_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from the DataStack. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC30createFetchedResultsControllerySo09NSFetchedgH0CyxGAA4FromVyxG_AA9SectionByVyxGSayAA11FetchClause_pGtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(_:_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from a DataStack. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC30createFetchedResultsControllerySo09NSFetchedgH0CyxGAA4FromVyxG_AA11FetchClause_pdtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from the DataStack. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"DataStack"},"Classes/DataStack.html#/s:9CoreStore9DataStackC30createFetchedResultsController03forcD0__So09NSFetchedgH0CyxGAC_AA4FromVyxGSayAA11FetchClause_pGtSo15NSManagedObjectCRbzlF":{"name":"createFetchedResultsController(forDataStack:_:_:)","abstract":"

    Utility for creating an NSFetchedResultsController from the DataStack. This is useful when an NSFetchedResultsController is preferred over the overhead of ListMonitors abstraction.

    ","parent_name":"DataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)init":{"name":"init()","abstract":"

    Initializes a CSDataStack with default settings. CoreStore searches for .xcdatamodeld from the main NSBundle and loads an NSManagedObjectModel from it. An assertion is raised if the model could not be found.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)initWithXcodeModelName:bundle:versionChain:":{"name":"init(xcodeModelName:bundle:versionChain:)","abstract":"

    Initializes a CSDataStack from the model with the specified modelName in the specified bundle.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(py)modelVersion":{"name":"modelVersion","abstract":"

    Returns the stack’s model version. The version string is the same as the name of the version-specific .xcdatamodeld file.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)entityTypesByNameForType:":{"name":"entityTypesByNameForType(_:)","abstract":"

    Returns the entity name-to-class type mapping from the CSDataStack‘s model.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)entityDescriptionForClass:":{"name":"entityDescriptionForClass(_:)","abstract":"

    Returns the NSEntityDescription for the specified NSManagedObject subclass from stack’s model.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)addInMemoryStorageAndWaitAndReturnError:":{"name":"addInMemoryStorageAndWaitAndReturnError(_:)","abstract":"

    Creates an CSInMemoryStore with default parameters and adds it to the stack. This method blocks until completion.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)addSQLiteStorageAndWaitAndReturnError:":{"name":"addSQLiteStorageAndWaitAndReturnError(_:)","abstract":"

    Creates an CSSQLiteStore with default parameters and adds it to the stack. This method blocks until completion.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)addInMemoryStorageAndWait:error:":{"name":"addInMemoryStorageAndWait(_:error:)","abstract":"

    Adds a CSInMemoryStore to the stack and blocks until completion.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@M@CoreStore@objc(cs)CSDataStack(im)addSQLiteStorageAndWait:error:":{"name":"addSQLiteStorageAndWait(_:error:)","abstract":"

    Adds a CSSQLiteStore to the stack and blocks until completion.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)addInMemoryStorage:completion:":{"name":"addInMemoryStorage(_:completion:)","abstract":"

    Asynchronously adds a CSInMemoryStore to the stack. Migrations are also initiated by default.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)addSQLiteStorage:completion:error:":{"name":"addSQLiteStorage(_:completion:error:)","abstract":"

    Asynchronously adds a CSSQLiteStore to the stack. Migrations are also initiated by default.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)upgradeStorageIfNeeded:completion:error:":{"name":"upgradeStorageIfNeeded(_:completion:error:)","abstract":"

    Migrates a CSSQLiteStore to match the CSDataStack‘s managed object model version. This method does NOT add the migrated store to the data stack.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)requiredMigrationsForSQLiteStore:error:":{"name":"requiredMigrationsForSQLiteStore(_:error:)","abstract":"

    Checks the migration steps required for the CSSQLiteStore to match the CSDataStack‘s managed object model version.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)monitorObject:":{"name":"monitorObject(_:)","abstract":"

    Creates a CSObjectMonitor for the specified NSManagedObject. Multiple ObjectObservers may then register themselves to be notified when changes are made to the NSManagedObject.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)monitorListFrom:fetchClauses:":{"name":"monitorListFrom(_:fetchClauses:)","abstract":"

    Creates a CSListMonitor for a list of NSManagedObjects that satisfy the specified fetch clauses. Multiple CSListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)monitorListByCreatingAsynchronously:from:fetchClauses:":{"name":"monitorListByCreatingAsynchronously(_:from:fetchClauses:)","abstract":"

    Asynchronously creates a CSListMonitor for a list of NSManagedObjects that satisfy the specified fetch clauses. Multiple CSListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)monitorSectionedListFrom:sectionBy:fetchClauses:":{"name":"monitorSectionedListFrom(_:sectionBy:fetchClauses:)","abstract":"

    Creates a CSListMonitor for a sectioned list of NSManagedObjects that satisfy the specified fetch clauses. Multiple ListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/s:9CoreStore11CSDataStackC44monitorSectionedListByCreatingAsynchronously_4from07sectionH012fetchClausesyyAA13CSListMonitorCc_AA6CSFromCAA09CSSectionH0CSayAA13CSFetchClause_pGtF":{"name":"monitorSectionedListByCreatingAsynchronously(_:from:sectionBy:fetchClauses:)","abstract":"

    Asynchronously creates a CSListMonitor for a sectioned list of NSManagedObjects that satisfy the specified fetch clauses. Multiple CSListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchExistingObject:":{"name":"fetchExistingObject(_:)","abstract":"

    Fetches the NSManagedObject instance in the transaction’s context from a reference created from a transaction or from a different managed object context.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchExistingObjectWithID:":{"name":"fetchExistingObjectWithID(_:)","abstract":"

    Fetches the NSManagedObject instance in the transaction’s context from an NSManagedObjectID.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchExistingObjects:":{"name":"fetchExistingObjects(_:)","abstract":"

    Fetches the NSManagedObject instances in the transaction’s context from references created from a transaction or from a different managed object context.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchExistingObjectsWithIDs:":{"name":"fetchExistingObjectsWithIDs(_:)","abstract":"

    Fetches the NSManagedObject instances in the transaction’s context from a list of NSManagedObjectID.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchOneFrom:fetchClauses:":{"name":"fetchOneFrom(_:fetchClauses:)","abstract":"

    Fetches the first NSManagedObject instance that satisfies the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchAllFrom:fetchClauses:":{"name":"fetchAllFrom(_:fetchClauses:)","abstract":"

    Fetches all NSManagedObject instances that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchCountFrom:fetchClauses:":{"name":"fetchCountFrom(_:fetchClauses:)","abstract":"

    Fetches the number of NSManagedObjects that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchObjectIDFrom:fetchClauses:":{"name":"fetchObjectIDFrom(_:fetchClauses:)","abstract":"

    Fetches the NSManagedObjectID for the first NSManagedObject that satisfies the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)fetchObjectIDsFrom:fetchClauses:":{"name":"fetchObjectIDsFrom(_:fetchClauses:)","abstract":"

    Fetches the NSManagedObjectID for all NSManagedObjects that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)queryValueFrom:selectClause:queryClauses:":{"name":"queryValueFrom(_:selectClause:queryClauses:)","abstract":"

    Queries aggregate values as specified by the CSQueryClauses. Requires at least a CSSelect clause, and optional CSWhere, CSOrderBy, CSGroupBy, and CSTweak clauses.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)queryAttributesFrom:selectClause:queryClauses:":{"name":"queryAttributesFrom(_:selectClause:queryClauses:)","abstract":"

    Queries a dictionary of attribute values as specified by the CSQueryClauses. Requires at least a CSSelect clause, and optional CSWhere, CSOrderBy, CSGroupBy, and CSTweak clauses.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)beginAsynchronous:":{"name":"beginAsynchronous(_:)","abstract":"

    Begins a transaction asynchronously where NSManagedObject creates, updates, and deletes can be made.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)beginSynchronous:error:":{"name":"beginSynchronous(_:error:)","abstract":"

    Begins a transaction synchronously where NSManagedObject creates, updates, and deletes can be made.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)beginUnsafe":{"name":"beginUnsafe()","abstract":"

    Begins a child transaction where NSManagedObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)beginUnsafeWithSupportsUndo:":{"name":"beginUnsafeWithSupportsUndo(_:)","abstract":"

    Begins a child transaction where NSManagedObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"CSDataStack"},"Classes/CSDataStack.html#/c:@CM@CoreStore@objc(cs)CSDataStack(im)refreshAndMergeAllObjects":{"name":"refreshAndMergeAllObjects()","abstract":"

    Refreshes all registered objects NSManagedObjects in the DataStack.

    ","parent_name":"CSDataStack"},"Classes/CSCoreStore.html#/c:@M@CoreStore@objc(cs)CSCoreStore(cpy)defaultStack":{"name":"defaultStack","abstract":"

    The default CSDataStack instance to be used. If defaultStack is not set before the first time accessed, a default-configured CSDataStack will be created.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/s:9CoreStore06CSCoreB0C18addInMemoryStorage_10completionyAA04CSInfB0C_yAA13CSSetupResultCctFZ":{"name":"addInMemoryStorage(_:completion:)","abstract":"

    Asynchronously adds a CSInMemoryStore to the defaultStack. Migrations are also initiated by default.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/s:9CoreStore06CSCoreB0C16addSQLiteStorage_10completion5errorSo10NSProgressCSgAA08CSSQLiteB0C_yAA13CSSetupResultCcSAySo7NSErrorCSgGSgtFZ":{"name":"addSQLiteStorage(_:completion:error:)","abstract":"

    Asynchronously adds a CSSQLiteStore to the defaultStack. Migrations are also initiated by default.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)upgradeStorageIfNeeded:completion:error:":{"name":"upgradeStorageIfNeeded(_:completion:error:)","abstract":"

    Migrates a CSSQLiteStore to match the defaultStack‘s managed object model version. This method does NOT add the migrated store to the data stack.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)requiredMigrationsForSQLiteStore:error:":{"name":"requiredMigrationsForSQLiteStore(_:error:)","abstract":"

    Checks the migration steps required for the CSSQLiteStore to match the defaultStack‘s managed object model version.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)monitorObject:":{"name":"monitorObject(_:)","abstract":"

    Using the defaultStack, creates an CSObjectMonitor for the specified NSManagedObject. Multiple CSObjectObservers may then register themselves to be notified when changes are made to the NSManagedObject.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)monitorListFrom:fetchClauses:":{"name":"monitorListFrom(_:fetchClauses:)","abstract":"

    Using the defaultStack, creates a CSListMonitor for a list of NSManagedObjects that satisfy the specified fetch clauses. Multiple CSListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)monitorListByCreatingAsynchronously:from:fetchClauses:":{"name":"monitorListByCreatingAsynchronously(_:from:fetchClauses:)","abstract":"

    Using the defaultStack, asynchronously creates a CSListMonitor for a list of NSManagedObjects that satisfy the specified fetch clauses. Multiple CSListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)monitorSectionedListFrom:sectionBy:fetchClauses:":{"name":"monitorSectionedListFrom(_:sectionBy:fetchClauses:)","abstract":"

    Using the defaultStack, creates a CSListMonitor for a sectioned list of NSManagedObjects that satisfy the specified fetch clauses. Multiple CSListObservers may then register themselves to be notified when changes are made to the list.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)monitorSectionedListByCreatingAsynchronously:from:sectionBy:fetchClauses:":{"name":"monitorSectionedListByCreatingAsynchronously(_:from:sectionBy:fetchClauses:)","abstract":"

    Using the defaultStack, asynchronously creates a CSListMonitor for a sectioned list of NSManagedObjects that satisfy the specified fetch clauses. Multiple CSListObservers may then register themselves to be notified when changes are made to the list. Since NSFetchedResultsController greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchExistingObject:":{"name":"fetchExistingObject(_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObject instance in the transaction’s context from a reference created from a transaction or from a different managed object context.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchExistingObjectWithID:":{"name":"fetchExistingObjectWithID(_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObject instance in the transaction’s context from an NSManagedObjectID.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchExistingObjects:":{"name":"fetchExistingObjects(_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObject instances in the transaction’s context from references created from a transaction or from a different managed object context.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchExistingObjectsWithIDs:":{"name":"fetchExistingObjectsWithIDs(_:)","abstract":"

    Using the defaultStack, fetches the NSManagedObject instances in the transaction’s context from a list of NSManagedObjectID.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchOneFrom:fetchClauses:":{"name":"fetchOneFrom(_:fetchClauses:)","abstract":"

    Using the defaultStack, fetches the first NSManagedObject instance that satisfies the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchAllFrom:fetchClauses:":{"name":"fetchAllFrom(_:fetchClauses:)","abstract":"

    Using the defaultStack, fetches all NSManagedObject instances that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchCountFrom:fetchClauses:":{"name":"fetchCountFrom(_:fetchClauses:)","abstract":"

    Using the defaultStack, fetches the number of NSManagedObjects that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchObjectIDFrom:fetchClauses:":{"name":"fetchObjectIDFrom(_:fetchClauses:)","abstract":"

    Using the defaultStack, fetches the NSManagedObjectID for the first NSManagedObject that satisfies the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)fetchObjectIDsFrom:fetchClauses:":{"name":"fetchObjectIDsFrom(_:fetchClauses:)","abstract":"

    Using the defaultStack, fetches the NSManagedObjectID for all NSManagedObjects that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)queryValueFrom:selectClause:queryClauses:":{"name":"queryValueFrom(_:selectClause:queryClauses:)","abstract":"

    Using the defaultStack, queries aggregate values as specified by the CSQueryClauses. Requires at least a CSSelect clause, and optional CSWhere, CSOrderBy, CSGroupBy, and CSTweak clauses.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)queryAttributesFrom:selectClause:queryClauses:":{"name":"queryAttributesFrom(_:selectClause:queryClauses:)","abstract":"

    Using the defaultStack, queries a dictionary of attribute values as specified by the CSQueryClauses. Requires at least a CSSelect clause, and optional CSWhere, CSOrderBy, CSGroupBy, and CSTweak clauses.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cpy)modelVersion":{"name":"modelVersion","abstract":"

    Returns the defaultStack‘s model version. The version string is the same as the name of the version-specific .xcdatamodeld file.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)entityTypesByNameForType:":{"name":"entityTypesByNameForType(_:)","abstract":"

    Returns the entity name-to-class type mapping from the defaultStack‘s model.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)entityDescriptionForClass:":{"name":"entityDescriptionForClass(_:)","abstract":"

    Returns the NSEntityDescription for the specified NSManagedObject subclass from defaultStack‘s model.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)addInMemoryStorageAndWaitAndReturnError:":{"name":"addInMemoryStorageAndWaitAndReturnError(_:)","abstract":"

    Creates an CSInMemoryStore with default parameters and adds it to the defaultStack. This method blocks until completion.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)addSQLiteStorageAndWaitAndReturnError:":{"name":"addSQLiteStorageAndWaitAndReturnError(_:)","abstract":"

    Creates an CSSQLiteStore with default parameters and adds it to the defaultStack. This method blocks until completion.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)addInMemoryStorageAndWait:error:":{"name":"addInMemoryStorageAndWait(_:error:)","abstract":"

    Adds a CSInMemoryStore to the defaultStack and blocks until completion.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)addSQLiteStorageAndWait:error:":{"name":"addSQLiteStorageAndWait(_:error:)","abstract":"

    Adds a CSSQLiteStore to the defaultStack and blocks until completion.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)beginAsynchronous:":{"name":"beginAsynchronous(_:)","abstract":"

    Using the defaultStack, begins a transaction asynchronously where NSManagedObject creates, updates, and deletes can be made.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)beginSynchronous:error:":{"name":"beginSynchronous(_:error:)","abstract":"

    Using the defaultStack, begins a transaction synchronously where NSManagedObject creates, updates, and deletes can be made.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)beginUnsafe":{"name":"beginUnsafe()","abstract":"

    Using the defaultStack, begins a child transaction where NSManagedObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)beginUnsafeWithSupportsUndo:":{"name":"beginUnsafeWithSupportsUndo(_:)","abstract":"

    Using the defaultStack, begins a child transaction where NSManagedObject creates, updates, and deletes can be made. This is useful for making temporary changes, such as partially filled forms.

    ","parent_name":"CSCoreStore"},"Classes/CSCoreStore.html#/c:@CM@CoreStore@objc(cs)CSCoreStore(cm)refreshAndMergeAllObjects":{"name":"refreshAndMergeAllObjects()","abstract":"

    Refreshes all registered objects NSManagedObjects in the defaultStack.

    ","parent_name":"CSCoreStore"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(py)hasChanges":{"name":"hasChanges","abstract":"

    Indicates if the transaction has pending changes

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)createInto:":{"name":"createInto(_:)","abstract":"

    Creates a new NSManagedObject with the specified entity type.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)editObject:":{"name":"editObject(_:)","abstract":"

    Returns an editable proxy of a specified NSManagedObject.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)editInto:objectID:":{"name":"editInto(_:objectID:)","abstract":"

    Returns an editable proxy of the object with the specified NSManagedObjectID.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)deleteObject:":{"name":"deleteObject(_:)","abstract":"

    Deletes a specified NSManagedObject.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)deleteObjects:":{"name":"deleteObjects(_:)","abstract":"

    Deletes the specified NSManagedObjects.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)refreshAndMergeAllObjects":{"name":"refreshAndMergeAllObjects()","abstract":"

    Refreshes all registered objects NSManagedObjects in the transaction.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)insertedObjectsOfType:":{"name":"insertedObjectsOfType(_:)","abstract":"

    Returns all pending NSManagedObjects of the specified type that were inserted to the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)insertedObjectIDs":{"name":"insertedObjectIDs()","abstract":"

    Returns all pending NSManagedObjectIDs that were inserted to the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)insertedObjectIDsOfType:":{"name":"insertedObjectIDsOfType(_:)","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were inserted to the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)updatedObjectsOfType:":{"name":"updatedObjectsOfType(_:)","abstract":"

    Returns all pending NSManagedObjects of the specified type that were updated in the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)updatedObjectIDs":{"name":"updatedObjectIDs()","abstract":"

    Returns all pending NSManagedObjectIDs that were updated in the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)updatedObjectIDsOfType:":{"name":"updatedObjectIDsOfType(_:)","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were updated in the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)deletedObjectsOfType:":{"name":"deletedObjectsOfType(_:)","abstract":"

    Returns all pending NSManagedObjects of the specified type that were deleted from the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)deletedObjectIDs":{"name":"deletedObjectIDs()","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were deleted from the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@M@CoreStore@objc(cs)CSBaseDataTransaction(im)deletedObjectIDsOfType:":{"name":"deletedObjectIDsOfType(_:)","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were deleted from the transaction. This method should not be called after the -commit*: method was called.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchExistingObject:":{"name":"fetchExistingObject(_:)","abstract":"

    Fetches the NSManagedObject instance in the transaction’s context from a reference created from a transaction or from a different managed object context.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchExistingObjectWithID:":{"name":"fetchExistingObjectWithID(_:)","abstract":"

    Fetches the NSManagedObject instance in the transaction’s context from an NSManagedObjectID.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchExistingObjects:":{"name":"fetchExistingObjects(_:)","abstract":"

    Fetches the NSManagedObject instances in the transaction’s context from references created from a transaction or from a different managed object context.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchExistingObjectsWithIDs:":{"name":"fetchExistingObjectsWithIDs(_:)","abstract":"

    Fetches the NSManagedObject instances in the transaction’s context from a list of NSManagedObjectID.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchOneFrom:fetchClauses:":{"name":"fetchOneFrom(_:fetchClauses:)","abstract":"

    Fetches the first NSManagedObject instance that satisfies the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchAllFrom:fetchClauses:":{"name":"fetchAllFrom(_:fetchClauses:)","abstract":"

    Fetches all NSManagedObject instances that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchCountFrom:fetchClauses:":{"name":"fetchCountFrom(_:fetchClauses:)","abstract":"

    Fetches the number of NSManagedObjects that satisfy the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)fetchObjectIDFrom:fetchClauses:":{"name":"fetchObjectIDFrom(_:fetchClauses:)","abstract":"

    Fetches the NSManagedObjectID for the first NSManagedObject that satisfies the specified CSFetchClauses. Accepts CSWhere, CSOrderBy, and CSTweak clauses.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)queryValueFrom:selectClause:queryClauses:":{"name":"queryValueFrom(_:selectClause:queryClauses:)","abstract":"

    Queries aggregate values as specified by the CSQueryClauses. Requires at least a CSSelect clause, and optional CSWhere, CSOrderBy, CSGroupBy, and CSTweak clauses.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSBaseDataTransaction.html#/c:@CM@CoreStore@objc(cs)CSBaseDataTransaction(im)queryAttributesFrom:selectClause:queryClauses:":{"name":"queryAttributesFrom(_:selectClause:queryClauses:)","abstract":"

    Queries a dictionary of attribute values as specified by the CSQueryClauses. Requires at least a CSSelect clause, and optional CSWhere, CSOrderBy, CSGroupBy, and CSTweak clauses.

    ","parent_name":"CSBaseDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSAsynchronousDataTransaction(im)commitWithSuccess:failure:":{"name":"commitWithSuccess(_:failure:)","abstract":"

    Saves the transaction changes. This method should not be used after the -commitWithCompletion: method was already called once.

    ","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSAsynchronousDataTransaction(im)createInto:":{"name":"createInto(_:)","abstract":"

    Creates a new NSManagedObject with the specified entity type.

    ","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSAsynchronousDataTransaction(im)editObject:":{"name":"editObject(_:)","abstract":"

    Returns an editable proxy of a specified NSManagedObject. This method should not be used after the -commitWithCompletion: method was already called once.

    ","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSAsynchronousDataTransaction(im)editInto:objectID:":{"name":"editInto(_:objectID:)","abstract":"

    Returns an editable proxy of the object with the specified NSManagedObjectID. This method should not be used after the -commitWithCompletion: method was already called once.

    ","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSAsynchronousDataTransaction(im)deleteObject:":{"name":"deleteObject(_:)","abstract":"

    Deletes a specified NSManagedObject. This method should not be used after the -commitWithCompletion: method was already called once.

    ","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/c:@M@CoreStore@objc(cs)CSAsynchronousDataTransaction(im)deleteObjects:":{"name":"deleteObjects(_:)","abstract":"

    Deletes the specified NSManagedObjects.

    ","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypeP9SwiftTypeQa":{"name":"SwiftType","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp":{"name":"bridgeToSwift","parent_name":"CSAsynchronousDataTransaction"},"Classes/CSAsynchronousDataTransaction.html#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc":{"name":"init(_:)","parent_name":"CSAsynchronousDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC10hasChangesSbvp":{"name":"hasChanges","abstract":"

    Indicates if the transaction has pending changes

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC6createyxAA4IntoVyxGAA13DynamicObjectRzlF":{"name":"create(_:)","abstract":"

    Creates a new NSManagedObject or CoreStoreObject with the specified entity type.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC4edityxSgAeA13DynamicObjectRzlF":{"name":"edit(_:)","abstract":"

    Returns an editable proxy of a specified NSManagedObject or CoreStoreObject.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC4edityxSgAA4IntoVyxG_So17NSManagedObjectIDCtAA07DynamicI0RzlF":{"name":"edit(_:_:)","abstract":"

    Returns an editable proxy of the object with the specified NSManagedObjectID.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC6deleteyyxSgAA13DynamicObjectRzlF":{"name":"delete(_:)","abstract":"

    Deletes a specified NSManagedObject or CoreStoreObject.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC6deleteyyxSg_A2EdtAA13DynamicObjectRzlF":{"name":"delete(_:_:_:)","abstract":"

    Deletes the specified NSManagedObjects or CoreStoreObjects.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC6deleteyyxSTRzAA13DynamicObject7ElementRpzlF":{"name":"delete(_:)","abstract":"

    Deletes the specified NSManagedObjects or CoreStoreObjects.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC25refreshAndMergeAllObjectsyyF":{"name":"refreshAndMergeAllObjects()","abstract":"

    Refreshes all registered objects NSManagedObjects in the transaction.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC15insertedObjectsyShyxGxmAA13DynamicObjectRzSHRzlF":{"name":"insertedObjects(_:)","abstract":"

    Returns all pending DynamicObjects of the specified type that were inserted to the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC17insertedObjectIDsShySo09NSManagedG2IDCGyF":{"name":"insertedObjectIDs()","abstract":"

    Returns all pending NSManagedObjectIDs that were inserted to the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC17insertedObjectIDsyShySo09NSManagedG2IDCGxmAA07DynamicG0RzlF":{"name":"insertedObjectIDs(_:)","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were inserted to the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC14updatedObjectsyShyxGxmAA13DynamicObjectRzSHRzlF":{"name":"updatedObjects(_:)","abstract":"

    Returns all pending DynamicObjects of the specified type that were updated in the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC16updatedObjectIDsShySo09NSManagedG2IDCGyF":{"name":"updatedObjectIDs()","abstract":"

    Returns all pending NSManagedObjectIDs that were updated in the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC16updatedObjectIDsyShySo09NSManagedG2IDCGxmAA07DynamicG0RzlF":{"name":"updatedObjectIDs(_:)","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were updated in the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC14deletedObjectsyShyxGxmAA13DynamicObjectRzSHRzlF":{"name":"deletedObjects(_:)","abstract":"

    Returns all pending DynamicObjects of the specified type that were deleted from the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC16deletedObjectIDsShySo09NSManagedG2IDCGyF":{"name":"deletedObjectIDs()","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were deleted from the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC16deletedObjectIDsyShySo09NSManagedG2IDCGxmAA07DynamicG0RzlF":{"name":"deletedObjectIDs(_:)","abstract":"

    Returns all pending NSManagedObjectIDs of the specified type that were deleted from the transaction. This method should not be called after the commit() method was called.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC8userInfoAA04UserG0Cvp":{"name":"userInfo","abstract":"

    Allow external libraries to store custom data in the transaction. App code should rarely have a need for this.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC12importObject_6sourcexSgAA4IntoVyxG_12ImportSourceQztKAA010ImportableG0RzlF":{"name":"importObject(_:source:)","abstract":"

    Creates an ImportableObject by importing from the specified import source.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC12importObject_6sourceyx_12ImportSourceQztKAA010ImportableG0RzlF":{"name":"importObject(_:source:)","abstract":"

    Updates an existing ImportableObject by importing values from the specified import source.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13importObjects_11sourceArraySayxGAA4IntoVyxG_q_tKAA16ImportableObjectRzSTR_7ElementQy_12ImportSourceRtzr0_lF":{"name":"importObjects(_:sourceArray:)","abstract":"

    Creates multiple ImportableObjects by importing from the specified array of import sources.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC18importUniqueObject_6sourcexSgAA4IntoVyxG_12ImportSourceQztKAA010ImportablegH0RzlF":{"name":"importUniqueObject(_:source:)","abstract":"

    Updates an existing ImportableUniqueObject or creates a new instance by importing from the specified import source.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC19importUniqueObjects_11sourceArray10preProcessSayxGAA4IntoVyxG_q_SDy0G6IDTypeQz12ImportSourceQzGAOKctKAA010ImportableG6ObjectRzSTR_7ElementQy_ANRSr0_lF":{"name":"importUniqueObjects(_:sourceArray:preProcess:)","abstract":"

    Updates existing ImportableUniqueObjects or creates them by importing from the specified array of import sources.","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC9deleteAllySiAA4FromVyxG_AA12DeleteClause_pdtKAA13DynamicObjectRzlF":{"name":"deleteAll(_:_:)","abstract":"

    Deletes all DynamicObjects that satisfy the specified DeleteClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC9deleteAllySiAA4FromVyxG_SayAA12DeleteClause_pGtKAA13DynamicObjectRzlF":{"name":"deleteAll(_:_:)","abstract":"

    Deletes all DynamicObjects that satisfy the specified DeleteClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC9deleteAllySixKAA25FetchChainableBuilderTypeRzlF":{"name":"deleteAll(_:)","abstract":"

    Deletes all DynamicObjects that satisfy the specified conditions.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13fetchExistingyxSgxAA13DynamicObjectRzlF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instance in the transaction’s context from a reference created from a transaction or from a different managed object context.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13fetchExistingyxSgSo17NSManagedObjectIDCAA07DynamicI0RzlF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instance in the transaction’s context from an NSManagedObjectID.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13fetchExistingySayxGq_AA13DynamicObjectRz7ElementQy_RszSTR_r0_lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instances in the transaction’s context from references created from a transaction or from a different managed object context.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13fetchExistingySayxGq_AA13DynamicObjectRzSTR_So09NSManagedI2IDC7ElementRt_r0_lF":{"name":"fetchExisting(_:)","abstract":"

    Fetches the DynamicObject instances in the transaction’s context from a list of NSManagedObjectID.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC8fetchOneyxSgAA4FromVyxG_AA11FetchClause_pdtKAA13DynamicObjectRzlF":{"name":"fetchOne(_:_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC8fetchOneyxSgAA4FromVyxG_SayAA11FetchClause_pGtKAA13DynamicObjectRzlF":{"name":"fetchOne(_:_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC8fetchOney10ObjectTypeQzSgxKAA021FetchChainableBuilderI0RzlF":{"name":"fetchOne(_:)","abstract":"

    Fetches the first DynamicObject instance that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC8fetchAllySayxGAA4FromVyxG_AA11FetchClause_pdtKAA13DynamicObjectRzlF":{"name":"fetchAll(_:_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC8fetchAllySayxGAA4FromVyxG_SayAA11FetchClause_pGtKAA13DynamicObjectRzlF":{"name":"fetchAll(_:_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC8fetchAllySay10ObjectTypeQzGxKAA021FetchChainableBuilderI0RzlF":{"name":"fetchAll(_:)","abstract":"

    Fetches all DynamicObject instances that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC10fetchCountySiAA4FromVyxG_AA11FetchClause_pdtKAA13DynamicObjectRzlF":{"name":"fetchCount(_:_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC10fetchCountySiAA4FromVyxG_SayAA11FetchClause_pGtKAA13DynamicObjectRzlF":{"name":"fetchCount(_:_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC10fetchCountySixKAA25FetchChainableBuilderTypeRzlF":{"name":"fetchCount(_:)","abstract":"

    Fetches the number of DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13fetchObjectIDySo09NSManagedgH0CSgAA4FromVyxG_AA11FetchClause_pdtKAA07DynamicG0RzlF":{"name":"fetchObjectID(_:_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13fetchObjectIDySo09NSManagedgH0CSgAA4FromVyxG_SayAA11FetchClause_pGtKAA07DynamicG0RzlF":{"name":"fetchObjectID(_:_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13fetchObjectIDySo09NSManagedgH0CSgxKAA25FetchChainableBuilderTypeRzlF":{"name":"fetchObjectID(_:)","abstract":"

    Fetches the NSManagedObjectID for the first DynamicObject that satisfies the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC14fetchObjectIDsySaySo09NSManagedG2IDCGAA4FromVyxG_AA11FetchClause_pdtKAA07DynamicG0RzlF":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC14fetchObjectIDsySaySo09NSManagedG2IDCGAA4FromVyxG_SayAA11FetchClause_pGtKAA07DynamicG0RzlF":{"name":"fetchObjectIDs(_:_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchClauses. Accepts Where, OrderBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC14fetchObjectIDsySaySo09NSManagedG2IDCGxKAA25FetchChainableBuilderTypeRzlF":{"name":"fetchObjectIDs(_:)","abstract":"

    Fetches the NSManagedObjectID for all DynamicObjects that satisfy the specified FetchChainableBuilderType built from a chain of clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC10queryValueyq_SgAA4FromVyxG_AA6SelectVyxq_GAA11QueryClause_pdtKAA13DynamicObjectRzAA22QueryableAttributeTypeR_r0_lF":{"name":"queryValue(_:_:_:)","abstract":"

    Queries aggregate values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC10queryValueyq_SgAA4FromVyxG_AA6SelectVyxq_GSayAA11QueryClause_pGtKAA13DynamicObjectRzAA22QueryableAttributeTypeR_r0_lF":{"name":"queryValue(_:_:_:)","abstract":"

    Queries aggregate values or aggregates as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC10queryValuey10ResultTypeQzSgxKAA021QueryChainableBuilderI0RzAA018QueryableAttributeI0AFRQlF":{"name":"queryValue(_:)","abstract":"

    Queries a property value or aggregate as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC15queryAttributesySaySDySSypGGAA4FromVyxG_AA6SelectVyxSo12NSDictionaryCGAA11QueryClause_pdtKAA13DynamicObjectRzlF":{"name":"queryAttributes(_:_:_:)","abstract":"

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC15queryAttributesySaySDySSypGGAA4FromVyxG_AA6SelectVyxSo12NSDictionaryCGSayAA11QueryClause_pGtKAA13DynamicObjectRzlF":{"name":"queryAttributes(_:_:_:)","abstract":"

    Queries a dictionary of attribute values as specified by the QueryClauses. Requires at least a Select clause, and optional Where, OrderBy, GroupBy, and Tweak clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC15queryAttributesySaySDySSypGGxKAA25QueryChainableBuilderTypeRzSo12NSDictionaryC06ResultK0RtzlF":{"name":"queryAttributes(_:)","abstract":"

    Queries a dictionary of attribute values or as specified by the QueryChainableBuilderType built from a chain of clauses.

    ","parent_name":"BaseDataTransaction"},"Classes/BaseDataTransaction.html#/s:9CoreStore19BaseDataTransactionC13unsafeContextSo015NSManagedObjectG0CyF":{"name":"unsafeContext()","abstract":"

    The internal NSManagedObjectContext managed by this instance. Using this context directly should typically be avoided, and is provided by CoreStore only for extremely specialized cases.

    ","parent_name":"BaseDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC6cancels5NeverOyKF":{"name":"cancel()","abstract":"

    Cancels a transaction by throwing CoreStoreError.userCancelled.

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC6Resulta":{"name":"Result","abstract":"

    The Result contains the success or failure information for a completed transaction.","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC6createyxAA4IntoVyxGAA13DynamicObjectRzlF":{"name":"create(_:)","abstract":"

    Creates a new NSManagedObject or CoreStoreObject with the specified entity type.

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC4edityxSgAeA13DynamicObjectRzlF":{"name":"edit(_:)","abstract":"

    Returns an editable proxy of a specified NSManagedObject or CoreStoreObject.

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC4edityxSgAA4IntoVyxG_So17NSManagedObjectIDCtAA07DynamicI0RzlF":{"name":"edit(_:_:)","abstract":"

    Returns an editable proxy of the object with the specified NSManagedObjectID.

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC6deleteyyxSgAA13DynamicObjectRzlF":{"name":"delete(_:)","abstract":"

    Deletes a specified NSManagedObject or CoreStoreObject.

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC6deleteyyxSg_A2EdtAA13DynamicObjectRzlF":{"name":"delete(_:_:_:)","abstract":"

    Deletes the specified DynamicObjects.

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore27AsynchronousDataTransactionC6deleteyyxSTRzAA13DynamicObject7ElementRpzlF":{"name":"delete(_:)","abstract":"

    Deletes the specified DynamicObjects.

    ","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:9CoreStore0aB9SwiftTypeP18bridgeToObjectiveC0G5CTypeQzvp":{"name":"bridgeToObjectiveC","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"AsynchronousDataTransaction"},"Classes/AsynchronousDataTransaction.html":{"name":"AsynchronousDataTransaction","abstract":"

    The AsynchronousDataTransaction provides an interface for DynamicObject creates, updates, and deletes. A transaction object should typically be only used from within a transaction block initiated from DataStack.perform(asynchronous:...), or from CoreStore.perform(synchronous:...).

    "},"Classes/BaseDataTransaction.html":{"name":"BaseDataTransaction","abstract":"

    The BaseDataTransaction is an abstract interface for NSManagedObject creates, updates, and deletes. All BaseDataTransaction subclasses manage a private NSManagedObjectContext which are direct children of the NSPersistentStoreCoordinator‘s root NSManagedObjectContext. This means that all updates are saved first to the persistent store, and then propagated up to the read-only NSManagedObjectContext.

    "},"Classes/CSAsynchronousDataTransaction.html":{"name":"CSAsynchronousDataTransaction","abstract":"

    The CSAsynchronousDataTransaction serves as the Objective-C bridging type for AsynchronousDataTransaction.

    "},"Classes/CSBaseDataTransaction.html":{"name":"CSBaseDataTransaction","abstract":"

    The CSBaseDataTransaction serves as the Objective-C bridging type for BaseDataTransaction.

    "},"Classes/CSCoreStore.html":{"name":"CSCoreStore","abstract":"

    The CSCoreStore serves as the Objective-C bridging type for CoreStore.

    "},"Classes/CSDataStack.html":{"name":"CSDataStack","abstract":"

    The CSDataStack serves as the Objective-C bridging type for DataStack.

    "},"Classes/DataStack.html":{"name":"DataStack","abstract":"

    The DataStack encapsulates the data model for the Core Data stack. Each DataStack can have multiple data stores, usually specified as a Configuration in the model editor. Behind the scenes, the DataStack manages its own NSPersistentStoreCoordinator, a root NSManagedObjectContext for disk saves, and a shared NSManagedObjectContext designed as a read-only model interface for NSManagedObjects.

    "},"Classes/CSError.html":{"name":"CSError","abstract":"

    All errors thrown from CoreStore are expressed in CSErrors.

    "},"Classes/CSFrom.html":{"name":"CSFrom","abstract":"

    The CSFrom serves as the Objective-C bridging type for From.

    "},"Classes/CSGroupBy.html":{"name":"CSGroupBy","abstract":"

    The CSGroupBy serves as the Objective-C bridging type for GroupBy.

    "},"Classes/CSInMemoryStore.html":{"name":"CSInMemoryStore","abstract":"

    The CSInMemoryStore serves as the Objective-C bridging type for InMemoryStore.

    "},"Classes/InMemoryStore.html":{"name":"InMemoryStore","abstract":"

    A storage interface that is backed only in memory.

    "},"Classes/CSInto.html":{"name":"CSInto","abstract":"

    The CSInto serves as the Objective-C bridging type for Into<T>.

    "},"Classes/CSListMonitor.html":{"name":"CSListMonitor","abstract":"

    The CSListMonitor serves as the Objective-C bridging type for ListMonitor<T>.

    "},"Classes/CSMigrationResult.html":{"name":"CSMigrationResult","abstract":"

    The CSMigrationResult serves as the Objective-C bridging type for MigrationResult.

    "},"Classes/CSMigrationType.html":{"name":"CSMigrationType","abstract":"

    The CSMigrationType serves as the Objective-C bridging type for MigrationType.

    "},"Classes/CSObjectMonitor.html":{"name":"CSObjectMonitor","abstract":"

    The CSObjectMonitor serves as the Objective-C bridging type for ObjectMonitor<T>.

    "},"Classes/CSOrderBy.html":{"name":"CSOrderBy","abstract":"

    The CSOrderBy serves as the Objective-C bridging type for OrderBy.

    "},"Classes/CSSQLiteStore.html":{"name":"CSSQLiteStore","abstract":"

    The CSSQLiteStore serves as the Objective-C bridging type for SQLiteStore.

    "},"Classes/SQLiteStore.html":{"name":"SQLiteStore","abstract":"

    A storage interface that is backed by an SQLite database.

    "},"Classes/CSSectionBy.html":{"name":"CSSectionBy","abstract":"

    The CSSectionBy serves as the Objective-C bridging type for SectionBy.

    "},"Classes/CSSelectTerm.html":{"name":"CSSelectTerm","abstract":"

    The CSSelectTerm serves as the Objective-C bridging type for SelectTerm.

    "},"Classes/CSSelect.html":{"name":"CSSelect","abstract":"

    The CSSelect serves as the Objective-C bridging type for Select.

    "},"Classes/CSSetupResult.html":{"name":"CSSetupResult","abstract":"

    The CSSetupResult serves as the Objective-C bridging type for SetupResult.

    "},"Classes/CSSynchronousDataTransaction.html":{"name":"CSSynchronousDataTransaction","abstract":"

    The CSSynchronousDataTransaction serves as the Objective-C bridging type for SynchronousDataTransaction.

    "},"Classes/SynchronousDataTransaction.html":{"name":"SynchronousDataTransaction","abstract":"

    The SynchronousDataTransaction provides an interface for DynamicObject creates, updates, and deletes. A transaction object should typically be only used from within a transaction block initiated from DataStack.beginSynchronous(_:), or from CoreStore.beginSynchronous(_:).

    "},"Classes/CSTweak.html":{"name":"CSTweak","abstract":"

    The CSTweak serves as the Objective-C bridging type for Tweak.

    "},"Classes/CSUnsafeDataModelSchema.html":{"name":"CSUnsafeDataModelSchema","abstract":"

    The CSUnsafeDataModelSchema serves as the Objective-C bridging type for UnsafeDataModelSchema.

    "},"Classes/UnsafeDataModelSchema.html":{"name":"UnsafeDataModelSchema","abstract":"

    The UnsafeDataModelSchema describes models loaded directly from an existing NSManagedObjectModel. It is not advisable to continue using this model as its metadata are not available to CoreStore.

    "},"Classes/CSUnsafeDataTransaction.html":{"name":"CSUnsafeDataTransaction","abstract":"

    The CSUnsafeDataTransaction serves as the Objective-C bridging type for UnsafeDataTransaction.

    "},"Classes/UnsafeDataTransaction.html":{"name":"UnsafeDataTransaction","abstract":"

    The UnsafeDataTransaction provides an interface for non-contiguous NSManagedObject or CoreStoreObject creates, updates, and deletes. This is useful for making temporary changes, such as partially filled forms. An unsafe transaction object should typically be only used from the main queue.

    "},"Classes/CSWhere.html":{"name":"CSWhere","abstract":"

    The CSWhere serves as the Objective-C bridging type for Where.

    "},"Classes/CSXcodeDataModelSchema.html":{"name":"CSXcodeDataModelSchema","abstract":"

    The CSXcodeDataModelSchema serves as the Objective-C bridging type for XcodeDataModelSchema.

    "},"Classes/XcodeDataModelSchema.html":{"name":"XcodeDataModelSchema","abstract":"

    The XcodeDataModelSchema describes a model version declared in a single *.xcdatamodeld file.

    "},"Classes/CoreStoreObject.html":{"name":"CoreStoreObject","abstract":"

    The CoreStoreObject is an abstract class for creating CoreStore-managed objects that are more type-safe and more convenient than NSManagedObject subclasses. The model entities for CoreStoreObject subclasses are inferred from the Swift declaration themselves; no .xcdatamodeld files are needed. To declare persisted attributes and relationships for the CoreStoreObject subclass, declare properties of type Value.Required<T>, Value.Optional<T> for values, or Relationship.ToOne<T>, Relationship.ToManyOrdered<T>, Relationship.ToManyUnordered<T> for relationships.

    "},"Classes/CoreStoreSchema.html":{"name":"CoreStoreSchema","abstract":"

    The CoreStoreSchema describes models written for CoreStoreObject Swift class declarations for a particular model version. CoreStoreObject entities for a model version should be added to CoreStoreSchema instance.

    "},"Classes/Entity.html":{"name":"Entity","abstract":"

    The Entity<O> contains NSEntityDescription metadata for CoreStoreObject subclasses. Pass the Entity instances to CoreStoreSchema initializer.

    "},"Classes/ListMonitor.html":{"name":"ListMonitor","abstract":"

    The ListMonitor monitors changes to a list of DynamicObject instances. Observers that implement the ListObserver protocol may then register themselves to the ListMonitor‘s addObserver(_:) method:

    "},"Classes/ObjectMonitor.html":{"name":"ObjectMonitor","abstract":"

    The ObjectMonitor monitors changes to a single DynamicObject instance. Observers that implement the ObjectObserver protocol may then register themselves to the ObjectMonitor‘s addObserver(_:) method:

    "},"Classes/SchemaHistory.html":{"name":"SchemaHistory","abstract":"

    The SchemaHistory encapsulates multiple DynamicSchema across multiple model versions. It contains all model history and is used by the DataStack to

    "},"Classes/CoreStoreObjectValueDiff.html":{"name":"CoreStoreObjectValueDiff","abstract":"

    The object containing the changeset for an observed ValueContainer.Required and ValueContainer.Optional property.

    "},"Classes/CoreStoreObjectTransformableDiff.html":{"name":"CoreStoreObjectTransformableDiff","abstract":"

    The object containing the changeset for an observed TransformableContainer.Required or TransformableContainer.Optional property.

    "},"Classes/CoreStoreObjectObjectDiff.html":{"name":"CoreStoreObjectObjectDiff","abstract":"

    The object containing the changeset for an observed RelationshipContainer.ToOne property.

    "},"Classes/CoreStoreObjectUnorderedDiff.html":{"name":"CoreStoreObjectUnorderedDiff","abstract":"

    The object containing the changeset for an observed RelationshipContainer.ToManyUnordered property.

    "},"Classes/CoreStoreObjectOrderedDiff.html":{"name":"CoreStoreObjectOrderedDiff","abstract":"

    The object containing the changeset for an observed RelationshipContainer.Ordered property.

    "},"Classes/CustomSchemaMappingProvider.html":{"name":"CustomSchemaMappingProvider","abstract":"

    A SchemaMappingProvider that accepts custom mappings for some entities. Mappings of entities with no CustomMapping provided will be automatically calculated if possible.

    "},"Classes/DefaultLogger.html":{"name":"DefaultLogger","abstract":"

    The DefaultLogger is a basic implementation of the CoreStoreLogger protocol.

    "},"Classes/DynamicEntity.html":{"name":"DynamicEntity","abstract":"

    Use concrete instances of Entity<O> in API that accept DynamicEntity arguments.

    "},"Classes/InferredSchemaMappingProvider.html":{"name":"InferredSchemaMappingProvider","abstract":"

    A SchemaMappingProvider that tries to infer model migration between two DynamicSchema versions by searching all xcmappingmodels from Bundle.allBundles or by relying on lightweight migration if possible. Throws an error if lightweight migration is impossible for the two DynamicSchema. This mapping is automatically used as a fallback mapping provider, even if no mapping providers are explicitly declared in the StorageInterface.

    "},"Classes/UserInfo.html":{"name":"UserInfo","abstract":"

    The UserInfo class is provided by several CoreStore types such as DataStack, ListMonitor, ObjectMonitor and transactions to allow external libraries or user apps to store their own custom data.

    "},"Classes/XcodeSchemaMappingProvider.html":{"name":"XcodeSchemaMappingProvider","abstract":"

    A SchemaMappingProvider that tries to infer model migration between two DynamicSchema versions by loading an xcmappingmodel file from the specified Bundle. Throws CoreStoreError.mappingModelNotFound if the xcmappingmodel file cannot be found, or if the xcmappingmodel doesn’t resolve the source and destination DynamicSchema.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Global Variables.html":{"name":"Global Variables","abstract":"

    The following global variables are available globally.

    "},"Enums.html":{"name":"Enumerations","abstract":"

    The following enumerations are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Functions.html":{"name":"Functions","abstract":"

    The following functions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "},"Typealiases.html":{"name":"Type Aliases","abstract":"

    The following type aliases are available globally.

    "}} \ No newline at end of file diff --git a/docs/undocumented.json b/docs/undocumented.json index c2bf605c..9703ebf3 100644 --- a/docs/undocumented.json +++ b/docs/undocumented.json @@ -1,1748 +1,1440 @@ { "warnings": [ { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/AsynchronousDataTransaction.swift", - "line": 220, - "symbol": "AsynchronousDataTransaction.commit(_:)", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/BaseDataTransaction.swift", + "line": 441, + "symbol": "BaseDataTransaction.deinit", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/AsynchronousDataTransaction.swift", - "line": 245, - "symbol": "AsynchronousDataTransaction.beginSynchronous(_:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/BaseDataTransaction.swift", - "line": 450, - "symbol": "BaseDataTransaction.insertedObjects()", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/BaseDataTransaction.swift", - "line": 464, - "symbol": "BaseDataTransaction.updatedObjects()", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/BaseDataTransaction.swift", - "line": 478, - "symbol": "BaseDataTransaction.deletedObjects()", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSAsynchronousDataTransaction.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSAsynchronousDataTransaction.swift", "line": 73, "symbol": "CSAsynchronousDataTransaction.description", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSAsynchronousDataTransaction.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSAsynchronousDataTransaction.swift", "line": 155, "symbol": "CSAsynchronousDataTransaction.init(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSAsynchronousDataTransaction.swift", - "line": 165, - "symbol": "CSAsynchronousDataTransaction.commitWithCompletion(_:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSAsynchronousDataTransaction.swift", - "line": 184, - "symbol": "CSAsynchronousDataTransaction.beginSynchronous(_:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSBaseDataTransaction.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSBaseDataTransaction.swift", "line": 230, "symbol": "CSBaseDataTransaction.hash", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSBaseDataTransaction.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSBaseDataTransaction.swift", "line": 235, "symbol": "CSBaseDataTransaction.isEqual(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSBaseDataTransaction.swift", - "line": 260, - "symbol": "CSBaseDataTransaction.insertedObjects()", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSBaseDataTransaction.swift", - "line": 267, - "symbol": "CSBaseDataTransaction.updatedObjects()", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSBaseDataTransaction.swift", - "line": 274, - "symbol": "CSBaseDataTransaction.deletedObjects()", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSClauseTypes.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSClauseTypes.swift", "line": 41, "symbol": "CSFetchClause.applyToFetchRequest(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSClauseTypes.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSClauseTypes.swift", "line": 56, "symbol": "CSQueryClause.applyToFetchRequest(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSClauseTypes.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSClauseTypes.swift", "line": 71, "symbol": "CSDeleteClause.applyToFetchRequest(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSCoreStore+Setup.swift", - "line": 134, - "symbol": "CSCoreStore.entityClassesByName", - "symbol_kind": "source.lang.swift.decl.var.static", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSCoreStore+Setup.swift", - "line": 141, - "symbol": "CSCoreStore.entityClassWithName(_:)", - "symbol_kind": "source.lang.swift.decl.function.method.static", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSCoreStore+Transaction.swift", - "line": 101, - "symbol": "CSCoreStore.beginSynchronous(_:)", - "symbol_kind": "source.lang.swift.decl.function.method.static", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSDataStack+Transaction.swift", - "line": 141, - "symbol": "CSDataStack.beginSynchronous(_:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSDataStack.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSDataStack.swift", "line": 178, "symbol": "CSDataStack.hash", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSDataStack.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSDataStack.swift", "line": 183, "symbol": "CSDataStack.isEqual(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSDataStack.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSDataStack.swift", "line": 192, "symbol": "CSDataStack.description", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSDataStack.swift", - "line": 213, - "symbol": "CSDataStack.init(modelName:bundle:versionChain:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSDataStack.swift", - "line": 226, - "symbol": "CSDataStack.init(model:versionChain:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSDataStack.swift", - "line": 238, - "symbol": "CSDataStack.init(model:versionTree:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSDataStack.swift", - "line": 250, - "symbol": "CSDataStack.entityClassesByName", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSDataStack.swift", - "line": 257, - "symbol": "CSDataStack.entityClassWithName(_:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSError.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSError.swift", "line": 51, "symbol": "CSError.hash", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSError.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSError.swift", "line": 56, "symbol": "CSError.isEqual(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSError.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSError.swift", "line": 65, "symbol": "CSError.description", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSError.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSError.swift", "line": 93, "symbol": "CSError.init(coder:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSFrom.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSFrom.swift", "line": 138, "symbol": "CSFrom.description", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSFrom.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSFrom.swift", "line": 146, "symbol": "CSFrom.bridgeToSwift", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSFrom.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSFrom.swift", "line": 148, "symbol": "CSFrom.init(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSFrom.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSFrom.swift", "line": 162, "symbol": "From.bridgeToObjectiveC", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSGroupBy.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSGroupBy.swift", "line": 74, "symbol": "CSGroupBy.hash", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSGroupBy.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSGroupBy.swift", "line": 79, "symbol": "CSGroupBy.isEqual(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSGroupBy.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSGroupBy.swift", "line": 88, "symbol": "CSGroupBy.description", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSGroupBy.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSGroupBy.swift", "line": 97, "symbol": "CSGroupBy.applyToFetchRequest(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSGroupBy.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSGroupBy.swift", "line": 105, "symbol": "CSGroupBy.bridgeToSwift", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSGroupBy.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSGroupBy.swift", "line": 107, "symbol": "CSGroupBy.init(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSGroupBy.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSGroupBy.swift", "line": 121, "symbol": "GroupBy.bridgeToObjectiveC", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSInMemoryStore.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSInMemoryStore.swift", "line": 90, "symbol": "CSInMemoryStore.hash", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSInMemoryStore.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSInMemoryStore.swift", "line": 95, "symbol": "CSInMemoryStore.isEqual(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSInMemoryStore.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSInMemoryStore.swift", "line": 104, "symbol": "CSInMemoryStore.description", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSInto.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSInto.swift", "line": 91, "symbol": "CSInto.hash", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSInto.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSInto.swift", "line": 96, "symbol": "CSInto.isEqual(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSInto.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSInto.swift", "line": 105, "symbol": "CSInto.description", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSInto.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSInto.swift", "line": 113, "symbol": "CSInto.bridgeToSwift", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSInto.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSInto.swift", "line": 115, "symbol": "CSInto.init(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSInto.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSInto.swift", "line": 129, "symbol": "Into.bridgeToObjectiveC", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSListMonitor.swift", - "line": 512, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSListMonitor.swift", + "line": 513, "symbol": "CSListMonitor.hash", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSListMonitor.swift", - "line": 517, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSListMonitor.swift", + "line": 518, "symbol": "CSListMonitor.isEqual(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSListMonitor.swift", - "line": 526, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSListMonitor.swift", + "line": 527, "symbol": "CSListMonitor.description", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSListMonitor.swift", - "line": 535, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSListMonitor.swift", + "line": 536, "symbol": "CSListMonitor.bridgeToSwift", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSListMonitor.swift", - "line": 538, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSListMonitor.swift", + "line": 539, "symbol": "CSListMonitor.init(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSListMonitor.swift", - "line": 553, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSListMonitor.swift", + "line": 554, "symbol": "ListMonitor.bridgeToObjectiveC", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSMigrationResult.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSMigrationResult.swift", "line": 142, "symbol": "CSMigrationResult.hash", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSMigrationResult.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSMigrationResult.swift", "line": 147, "symbol": "CSMigrationResult.isEqual(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSMigrationResult.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSMigrationResult.swift", "line": 156, "symbol": "CSMigrationResult.description", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSMigrationType.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSMigrationResult.swift", + "line": 180, + "symbol": "MigrationResult.bridgeToObjectiveC", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSMigrationType.swift", "line": 88, "symbol": "CSMigrationType.hash", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSMigrationType.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSMigrationType.swift", "line": 93, "symbol": "CSMigrationType.isEqual(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSMigrationType.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSMigrationType.swift", "line": 102, "symbol": "CSMigrationType.description", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSObjectMonitor.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSObjectMonitor.swift", "line": 104, "symbol": "CSObjectMonitor.hash", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSObjectMonitor.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSObjectMonitor.swift", "line": 111, "symbol": "CSObjectMonitor.isEqual(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSObjectMonitor.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSObjectMonitor.swift", "line": 120, "symbol": "CSObjectMonitor.description", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSObjectMonitor.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSObjectMonitor.swift", "line": 129, "symbol": "CSObjectMonitor.bridgeToSwift", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSObjectMonitor.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSObjectMonitor.swift", "line": 132, "symbol": "CSObjectMonitor.init(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSObjectMonitor.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSObjectMonitor.swift", "line": 147, "symbol": "ObjectMonitor.bridgeToObjectiveC", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSOrderBy.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSOrderBy.swift", "line": 82, "symbol": "CSOrderBy.hash", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSOrderBy.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSOrderBy.swift", "line": 87, "symbol": "CSOrderBy.isEqual(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSOrderBy.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSOrderBy.swift", "line": 96, "symbol": "CSOrderBy.description", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSOrderBy.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSOrderBy.swift", "line": 105, "symbol": "CSOrderBy.applyToFetchRequest(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSOrderBy.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSOrderBy.swift", "line": 113, "symbol": "CSOrderBy.bridgeToSwift", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSOrderBy.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSOrderBy.swift", "line": 115, "symbol": "CSOrderBy.init(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSOrderBy.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSOrderBy.swift", "line": 129, "symbol": "OrderBy.bridgeToObjectiveC", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSSQliteStore.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSSQliteStore.swift", "line": 165, "symbol": "CSSQLiteStore.hash", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSSQliteStore.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSSQliteStore.swift", "line": 170, "symbol": "CSSQLiteStore.isEqual(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSSQliteStore.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSSQliteStore.swift", "line": 179, "symbol": "CSSQLiteStore.description", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSSaveResult.swift", - "line": 34, - "symbol": "CSSaveResult", - "symbol_kind": "source.lang.swift.decl.class", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSSectionBy.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSSectionBy.swift", "line": 69, "symbol": "CSSectionBy.description", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSSectionBy.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSSectionBy.swift", "line": 77, "symbol": "CSSectionBy.bridgeToSwift", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSSectionBy.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSSectionBy.swift", "line": 79, "symbol": "CSSectionBy.init(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSSectionBy.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSSectionBy.swift", "line": 94, "symbol": "SectionBy.bridgeToObjectiveC", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSSelect.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSSelect.swift", "line": 161, "symbol": "CSSelectTerm.hash", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSSelect.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSSelect.swift", "line": 166, "symbol": "CSSelectTerm.isEqual(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSSelect.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSSelect.swift", "line": 178, "symbol": "CSSelectTerm.bridgeToSwift", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSSelect.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSSelect.swift", "line": 180, "symbol": "CSSelectTerm.init(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSSelect.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSSelect.swift", "line": 194, "symbol": "SelectTerm.bridgeToObjectiveC", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSSelect.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSSelect.swift", "line": 362, "symbol": "CSSelect.hash", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSSelect.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSSelect.swift", "line": 368, "symbol": "CSSelect.isEqual(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSSelect.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSSelect.swift", "line": 378, "symbol": "CSSelect.description", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSSelect.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSSelect.swift", "line": 386, "symbol": "CSSelect.init(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSSelect.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSSelect.swift", "line": 394, "symbol": "CSSelect.init(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSSelect.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSSelect.swift", "line": 509, "symbol": "Select.bridgeToObjectiveC", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSSetupResult.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSSetupResult.swift", "line": 128, "symbol": "CSSetupResult.hash", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSSetupResult.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSSetupResult.swift", "line": 137, "symbol": "CSSetupResult.isEqual(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSSetupResult.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSSetupResult.swift", "line": 147, "symbol": "CSSetupResult.description", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSSetupResult.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSSetupResult.swift", "line": 155, "symbol": "CSSetupResult.init(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSSetupResult.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSSetupResult.swift", "line": 184, "symbol": "SetupResult.bridgeToObjectiveC", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSSynchronousDataTransaction.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSSynchronousDataTransaction.swift", "line": 61, "symbol": "CSSynchronousDataTransaction.description", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSSynchronousDataTransaction.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSSynchronousDataTransaction.swift", "line": 142, "symbol": "CSSynchronousDataTransaction.init(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSSynchronousDataTransaction.swift", - "line": 152, - "symbol": "CSSynchronousDataTransaction.commitAndWait()", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSSynchronousDataTransaction.swift", - "line": 163, - "symbol": "CSSynchronousDataTransaction.beginSynchronous(_:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSTweak.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSTweak.swift", "line": 64, "symbol": "CSTweak.description", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSTweak.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSTweak.swift", "line": 73, "symbol": "CSTweak.applyToFetchRequest(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSUnsafeDataModelSchema.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSUnsafeDataModelSchema.swift", "line": 58, "symbol": "CSUnsafeDataModelSchema.hash", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSUnsafeDataModelSchema.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSUnsafeDataModelSchema.swift", "line": 63, "symbol": "CSUnsafeDataModelSchema.isEqual(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSUnsafeDataModelSchema.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSUnsafeDataModelSchema.swift", "line": 72, "symbol": "CSUnsafeDataModelSchema.description", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSUnsafeDataTransaction.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSUnsafeDataTransaction.swift", "line": 182, "symbol": "CSUnsafeDataTransaction.description", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSUnsafeDataTransaction.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSUnsafeDataTransaction.swift", "line": 202, "symbol": "CSUnsafeDataTransaction.init(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSUnsafeDataTransaction.swift", - "line": 212, - "symbol": "CSUnsafeDataTransaction.internalContext", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSUnsafeDataTransaction.swift", - "line": 219, - "symbol": "CSUnsafeDataTransaction.commit(_:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSUnsafeDataTransaction.swift", - "line": 240, - "symbol": "CSUnsafeDataTransaction.commitAndWait()", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSWhere.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSWhere.swift", "line": 121, "symbol": "CSWhere.hash", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSWhere.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSWhere.swift", "line": 126, "symbol": "CSWhere.isEqual(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSWhere.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSWhere.swift", "line": 135, "symbol": "CSWhere.description", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSWhere.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSWhere.swift", "line": 144, "symbol": "CSWhere.applyToFetchRequest(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSWhere.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSWhere.swift", "line": 152, "symbol": "CSWhere.bridgeToSwift", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSWhere.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSWhere.swift", "line": 154, "symbol": "CSWhere.init(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSWhere.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSWhere.swift", "line": 168, "symbol": "Where.bridgeToObjectiveC", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSXcodeDataModelSchema.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSXcodeDataModelSchema.swift", "line": 58, "symbol": "CSXcodeDataModelSchema.hash", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSXcodeDataModelSchema.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSXcodeDataModelSchema.swift", "line": 63, "symbol": "CSXcodeDataModelSchema.isEqual(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CSXcodeDataModelSchema.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CSXcodeDataModelSchema.swift", "line": 72, "symbol": "CSXcodeDataModelSchema.description", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", "line": 44, "symbol": "AsynchronousDataTransaction.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", "line": 71, "symbol": "CloudStorageOptions.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", "line": 115, "symbol": "CoreStoreError.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 179, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 183, "symbol": "CoreStoreObject.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 203, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 207, "symbol": "CoreStoreSchema.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 229, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 233, "symbol": "DataStack.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 257, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 261, "symbol": "Entity.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 284, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 288, "symbol": "From.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 313, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 317, "symbol": "GroupBy.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 340, - "symbol": "ICloudStore.coreStoreDumpString", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 369, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 341, "symbol": "InMemoryStore.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 394, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 366, "symbol": "Into.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 420, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 392, "symbol": "UnsafeDataModelSchema.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 461, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 444, "symbol": "ListMonitor.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 487, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 470, "symbol": "LocalStorageOptions.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 535, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 518, "symbol": "MigrationChain.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 589, - "symbol": "MigrationResult.coreStoreDumpString", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 572, + "symbol": "MigrationType.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 623, - "symbol": "MigrationType.coreStoreDumpString", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 604, + "symbol": "ObjectMonitor.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 655, - "symbol": "ObjectMonitor.coreStoreDumpString", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 629, + "symbol": "OrderBy.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 680, - "symbol": "OrderBy.coreStoreDumpString", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 653, + "symbol": "PartialObject.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 740, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 678, "symbol": "SectionBy.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 764, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 702, "symbol": "SchemaHistory.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 790, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 728, "symbol": "Select.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 814, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 752, "symbol": "SelectTerm.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 858, - "symbol": "SetupResult.coreStoreDumpString", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 892, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 796, "symbol": "SQLiteStore.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 921, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 825, "symbol": "SynchronousDataTransaction.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 948, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 852, "symbol": "Tweak.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 969, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 873, "symbol": "UnsafeDataTransaction.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 994, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 898, "symbol": "Where.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 1045, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 949, "symbol": "VersionLock.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 1066, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 970, "symbol": "XcodeDataModelSchema.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 1139, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 1043, "symbol": "CoreStoreDebugStringConvertible", "symbol_kind": "source.lang.swift.decl.protocol", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 1149, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 1053, "symbol": "Array.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 1172, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 1076, "symbol": "Dictionary.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 1195, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 1099, "symbol": "NSAttributeDescription.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 1220, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 1129, "symbol": "NSAttributeType.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 1245, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 1156, "symbol": "Bundle.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 1253, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 1169, "symbol": "NSDeleteRule.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 1267, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 1185, "symbol": "NSEntityDescription.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 1299, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 1220, "symbol": "NSError.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 1312, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 1233, "symbol": "NSManagedObjectModel.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 1324, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 1245, "symbol": "NSManagedObjectID.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 1337, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 1258, "symbol": "NSMappingModel.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 1345, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 1266, "symbol": "NSPredicate.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 1353, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 1274, "symbol": "NSRelationshipDescription.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 1381, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 1302, "symbol": "NSSortDescriptor.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 1394, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 1315, "symbol": "NSString.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 1402, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 1323, "symbol": "NSURL.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 1410, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 1331, "symbol": "Optional.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 1422, - "symbol": "Selector.coreStoreDumpString", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 1348, + "symbol": "Result.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 1430, - "symbol": "String.coreStoreDumpString", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 1374, + "symbol": "Selector.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", - "line": 1438, - "symbol": "URL.coreStoreDumpString", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 1382, + "symbol": "String.coreStoreDumpString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+Setup.swift", - "line": 147, - "symbol": "CoreStore.entityTypesByName", - "symbol_kind": "source.lang.swift.decl.var.static", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+Transaction.swift", - "line": 92, - "symbol": "CoreStore.beginAsynchronous(_:)", - "symbol_kind": "source.lang.swift.decl.function.method.static", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStore+Transaction.swift", - "line": 99, - "symbol": "CoreStore.beginSynchronous(_:)", - "symbol_kind": "source.lang.swift.decl.function.method.static", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStore+CustomDebugStringConvertible.swift", + "line": 1390, + "symbol": "URL.coreStoreDumpString", + "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStoreLogger.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStoreLogger.swift", "line": 36, "symbol": "LogLevel.trace", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStoreLogger.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStoreLogger.swift", "line": 37, "symbol": "LogLevel.notice", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStoreLogger.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStoreLogger.swift", "line": 38, "symbol": "LogLevel.warning", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStoreLogger.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/CoreStoreLogger.swift", "line": 39, "symbol": "LogLevel.fatal", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStoreObject+Querying.swift", - "line": 268, - "symbol": "DynamicObject.keyPath(_:)", - "symbol_kind": "source.lang.swift.decl.function.method.static", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/DataStack.swift", + "line": 603, + "symbol": "DataStack.deinit", + "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStoreObject+Querying.swift", - "line": 274, - "symbol": "DynamicObject.keyPath(_:)", - "symbol_kind": "source.lang.swift.decl.function.method.static", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/DynamicKeyPath.swift", + "line": 32, + "symbol": "AnyDynamicKeyPath", + "symbol_kind": "source.lang.swift.decl.protocol", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStoreObject+Querying.swift", - "line": 280, - "symbol": "DynamicObject.keyPath(_:)", - "symbol_kind": "source.lang.swift.decl.function.method.static", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/From+Querying.swift", + "line": 299, + "symbol": "From.where(combinedByAnd:_:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStoreObject+Querying.swift", - "line": 286, - "symbol": "DynamicObject.keyPath(_:)", - "symbol_kind": "source.lang.swift.decl.function.method.static", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/From+Querying.swift", + "line": 585, + "symbol": "FetchChainBuilder.where(_:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStoreObject+Querying.swift", - "line": 292, - "symbol": "DynamicObject.keyPath(_:)", - "symbol_kind": "source.lang.swift.decl.function.method.static", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/GroupBy.swift", + "line": 76, + "symbol": "GroupBy.applyToFetchRequest(_:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStoreObject+Querying.swift", - "line": 298, - "symbol": "DynamicObject.where(_:)", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/ImportableUniqueObject.swift", + "line": 149, + "symbol": "ImportableUniqueObject.shouldInsert(from:in:)", "symbol_kind": "source.lang.swift.decl.function.method.static", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStoreObject+Querying.swift", - "line": 304, - "symbol": "DynamicObject.orderBy(ascending:)", - "symbol_kind": "source.lang.swift.decl.function.method.static", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/ImportableUniqueObject.swift", + "line": 159, + "symbol": "ImportableUniqueObject.didInsert(from:in:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStoreObject+Querying.swift", - "line": 310, - "symbol": "DynamicObject.orderBy(ascending:)", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/ListMonitor.swift", + "line": 605, + "symbol": "ListMonitor.==(_:_:)", "symbol_kind": "source.lang.swift.decl.function.method.static", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStoreObject+Querying.swift", - "line": 316, - "symbol": "DynamicObject.orderBy(descending:)", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/ListMonitor.swift", + "line": 610, + "symbol": "ListMonitor.~=(_:_:)", "symbol_kind": "source.lang.swift.decl.function.method.static", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/CoreStoreObject+Querying.swift", - "line": 322, - "symbol": "DynamicObject.orderBy(descending:)", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/ListMonitor.swift", + "line": 615, + "symbol": "ListMonitor.~=(_:_:)", "symbol_kind": "source.lang.swift.decl.function.method.static", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/DataStack+Transaction.swift", - "line": 172, - "symbol": "DataStack.beginAsynchronous(_:)", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/ListMonitor.swift", + "line": 993, + "symbol": "ListMonitor.deinit", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/DataStack+Transaction.swift", - "line": 194, - "symbol": "DataStack.beginSynchronous(_:)", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/ListMonitor.swift", + "line": 1174, + "symbol": "ListMonitor.hasObjectsInSection(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/DataStack.swift", - "line": 622, - "symbol": "DataStack.init(modelName:bundle:migrationChain:)", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/ListMonitor.swift", + "line": 1180, + "symbol": "ListMonitor.numberOfObjectsInSection(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/DataStack.swift", - "line": 633, - "symbol": "DataStack.init(model:migrationChain:)", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/ListMonitor.swift", + "line": 1186, + "symbol": "ListMonitor.numberOfObjectsInSection(safeSectionIndex:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/DataStack.swift", - "line": 651, - "symbol": "DataStack.entityTypesByName", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/DynamicKeyPath.swift", - "line": 31, - "symbol": "AnyDynamicKeyPath", - "symbol_kind": "source.lang.swift.decl.protocol", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/From+Querying.swift", - "line": 524, - "symbol": "FetchChainBuilder.where(_:)", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/ListMonitor.swift", + "line": 1192, + "symbol": "ListMonitor.sectionInfoAtIndex(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/GroupBy.swift", - "line": 76, - "symbol": "GroupBy.applyToFetchRequest(_:)", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/ListMonitor.swift", + "line": 1198, + "symbol": "ListMonitor.sectionInfoAtIndex(safeSectionIndex:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/ImportableUniqueObject.swift", - "line": 146, - "symbol": "ImportableUniqueObject.shouldInsert(from:in:)", - "symbol_kind": "source.lang.swift.decl.function.method.static", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/ImportableUniqueObject.swift", - "line": 156, - "symbol": "ImportableUniqueObject.didInsert(from:in:)", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/ListMonitor.swift", + "line": 1204, + "symbol": "ListMonitor.targetSectionForSectionIndex(title:index:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/ListMonitor.swift", - "line": 603, - "symbol": "ListMonitor.==(_:_:)", - "symbol_kind": "source.lang.swift.decl.function.method.static", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/ListMonitor.swift", - "line": 608, - "symbol": "ListMonitor.~=(_:_:)", - "symbol_kind": "source.lang.swift.decl.function.method.static", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/ListMonitor.swift", - "line": 613, - "symbol": "ListMonitor.~=(_:_:)", - "symbol_kind": "source.lang.swift.decl.function.method.static", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/NSFetchedResultsController+ObjectiveC.swift", - "line": 37, - "symbol": "CSDataStack.createFetchedResultsControllerFrom(_:sectionBy:fetchClauses:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/NSFetchedResultsController+ObjectiveC.swift", - "line": 56, - "symbol": "CSUnsafeDataTransaction.createFetchedResultsControllerFrom(_:sectionBy:fetchClauses:)", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/ListMonitor.swift", + "line": 1210, + "symbol": "ListMonitor.indexOf(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/NSManagedObject+Convenience.swift", - "line": 215, - "symbol": "NSManagedObject.accessValueForKVCKey(_:)", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/ListMonitor.swift", + "line": 1216, + "symbol": "ListMonitor.indexPathOf(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/NSManagedObject+Convenience.swift", - "line": 228, - "symbol": "NSManagedObject.accessValueForKVCKey(_:_:)", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/ListMonitor.swift", + "line": 1268, + "symbol": "ListMonitor.objectsInSection(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/NSManagedObject+Convenience.swift", - "line": 240, - "symbol": "NSManagedObject.setValue(_:forKVCKey:)", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/ListMonitor.swift", + "line": 1274, + "symbol": "ListMonitor.objectsInSection(safeSectionIndex:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/NSManagedObject+Convenience.swift", - "line": 253, - "symbol": "NSManagedObject.setValue(_:forKVCKey:_:)", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/ListMonitor.swift", + "line": 1329, + "symbol": "ListMonitor.objectsInSection(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/NSManagedObjectContext+Querying.swift", - "line": 372, - "symbol": "NSManagedObjectContext.internalContext()", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/ListMonitor.swift", + "line": 1335, + "symbol": "ListMonitor.objectsInSection(safeSectionIndex:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/ObjectMonitor.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/ObjectMonitor.swift", "line": 135, "symbol": "ObjectMonitor.==(_:_:)", "symbol_kind": "source.lang.swift.decl.function.method.static", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/ObjectMonitor.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/ObjectMonitor.swift", "line": 140, "symbol": "ObjectMonitor.~=(_:_:)", "symbol_kind": "source.lang.swift.decl.function.method.static", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/ObjectMonitor.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/ObjectMonitor.swift", "line": 145, "symbol": "ObjectMonitor.~=(_:_:)", "symbol_kind": "source.lang.swift.decl.function.method.static", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/ObjectMonitor.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/ObjectMonitor.swift", "line": 153, "symbol": "ObjectMonitor.hash(into:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/OrderBy.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/ObjectMonitor.swift", + "line": 245, + "symbol": "ObjectMonitor.deinit", + "symbol_kind": "source.lang.swift.decl.function.method.instance", + "warning": "undocumented" + }, + { + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/OrderBy.swift", "line": 112, "symbol": "OrderBy.applyToFetchRequest(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/QueryableAttributeType.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/QueryableAttributeType.swift", "line": 403, "symbol": "NSDecimalNumber.cs_rawAttributeType", "symbol_kind": "source.lang.swift.decl.var.class", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/QueryableAttributeType.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/QueryableAttributeType.swift", "line": 652, "symbol": "RawRepresentable.QueryableNativeType", "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/QueryableAttributeType.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/QueryableAttributeType.swift", "line": 654, "symbol": "RawRepresentable.cs_rawAttributeType", "symbol_kind": "source.lang.swift.decl.var.static", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/QueryableAttributeType.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/QueryableAttributeType.swift", "line": 660, "symbol": "RawRepresentable.cs_fromQueryableNativeType(_:)", "symbol_kind": "source.lang.swift.decl.function.method.static", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/QueryableAttributeType.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/QueryableAttributeType.swift", "line": 666, "symbol": "RawRepresentable.cs_toQueryableNativeType()", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/Relationship.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/Relationship.swift", "line": 855, "symbol": "RelationshipContainer.DeleteRule", "symbol_kind": "source.lang.swift.decl.enum", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/SaveResult.swift", - "line": null, - "symbol": "SaveResult", - "symbol_kind": "source.lang.swift.decl.extension", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/SaveResult.swift", - "line": null, - "symbol": "SaveResult", - "symbol_kind": "source.lang.swift.decl.extension", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/SaveResult.swift", - "line": 32, - "symbol": "SaveResult", - "symbol_kind": "source.lang.swift.decl.enum", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/SchemaHistory.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/SchemaHistory.swift", "line": 154, "symbol": "SchemaHistory.Element", "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/Select.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/Select.swift", "line": 46, "symbol": "SelectAttributesResultType.cs_fromQueryResultsNativeType(_:)", "symbol_kind": "source.lang.swift.decl.function.method.static", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/Select.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/Select.swift", "line": 286, "symbol": "SelectTerm._attribute(_:)", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/Select.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/Select.swift", "line": 287, "symbol": "SelectTerm._aggregate(function:keyPath:alias:nativeType:)", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/Select.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/Select.swift", "line": 288, "symbol": "SelectTerm._identity(alias:nativeType:)", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/Select.swift", - "line": 901, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/Select.swift", + "line": 907, "symbol": "NSDictionary.cs_fromQueryResultsNativeType(_:)", "symbol_kind": "source.lang.swift.decl.function.method.static", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/SynchronousDataTransaction.swift", - "line": 172, - "symbol": "SynchronousDataTransaction.commitAndWait()", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/SynchronousDataTransaction.swift", - "line": 190, - "symbol": "SynchronousDataTransaction.commit()", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/SynchronousDataTransaction.swift", - "line": 209, - "symbol": "SynchronousDataTransaction.beginSynchronous(_:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/Tweak.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/Tweak.swift", "line": 66, "symbol": "Tweak.applyToFetchRequest(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/TypeErasedClauses.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/TypeErasedClauses.swift", "line": 37, "symbol": "FetchClause.applyToFetchRequest(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/TypeErasedClauses.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/TypeErasedClauses.swift", "line": 48, "symbol": "QueryClause.applyToFetchRequest(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/TypeErasedClauses.swift", + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/TypeErasedClauses.swift", "line": 59, "symbol": "DeleteClause.applyToFetchRequest(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/UnsafeDataTransaction+Observing.swift", - "line": 147, - "symbol": "UnsafeDataTransaction.monitorList(createAsynchronously:_:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/Where.swift", - "line": 267, + "file": "/Users/johnestropia/Documents/GitHub/CoreStore/Sources/Where.swift", + "line": 277, "symbol": "Where.applyToFetchRequest(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/Where.swift", - "line": 545, - "symbol": "Where.&&(_:_:)", - "symbol_kind": "source.lang.swift.decl.function.method.static", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/Where.swift", - "line": 555, - "symbol": "Where.&&(_:_:)", - "symbol_kind": "source.lang.swift.decl.function.method.static", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/Where.swift", - "line": 565, - "symbol": "Where.||(_:_:)", - "symbol_kind": "source.lang.swift.decl.function.method.static", - "warning": "undocumented" - }, - { - "file": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore/Sources/Where.swift", - "line": 575, - "symbol": "Where.||(_:_:)", - "symbol_kind": "source.lang.swift.decl.function.method.static", - "warning": "undocumented" } ], - "source_directory": "/Users/JohnEstropia/Documents/XCodeProjects/CoreStore" + "source_directory": "/Users/johnestropia/Documents/GitHub/CoreStore" } \ No newline at end of file