Files
CoreStore-JohnEstropia/docs/Structs.html
John Estropia a48f16aa8c add Jazzy docs
2018-12-19 16:27:05 +09:00

1557 lines
98 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en">
<head>
<title>Structures Reference</title>
<link rel="stylesheet" type="text/css" href="css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="css/highlight.css" />
<meta charset="utf-8">
<script src="js/jquery.min.js" defer></script>
<script src="js/jazzy.js" defer></script>
<script src="js/lunr.min.js" defer></script>
<script src="js/typeahead.jquery.js" defer></script>
<script src="js/jazzy.search.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Section/Structures" class="dashAnchor"></a>
<a title="Structures Reference"></a>
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="index.html">
CoreStore Docs
</a>
(88% documented)
</p>
<p class="header-col--secondary">
<form role="search" action="search.json">
<input type="text" placeholder="Search documentation" data-typeahead>
</form>
</p>
<p class="header-col header-col--secondary">
<a class="header-link" href="https://github.com/JohnEstropia/CoreStore">
<img class="header-icon" src="img/gh.png"/>
View on GitHub
</a>
</p>
</header>
<p class="breadcrumbs">
<a class="breadcrumb" href="index.html">CoreStore Reference</a>
<img class="carat" src="img/carat.png" />
Structures Reference
</p>
<div class="content-wrapper">
<nav class="navigation">
<ul class="nav-groups">
<li class="nav-group-name">
<a class="nav-group-name-link" href="Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/AsynchronousDataTransaction.html">AsynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/AsynchronousDataTransaction/Result.html"> Result</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/BaseDataTransaction.html">BaseDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CSAsynchronousDataTransaction.html">CSAsynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CSBaseDataTransaction.html">CSBaseDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CSCoreStore.html">CSCoreStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CSDataStack.html">CSDataStack</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CSError.html">CSError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CSFrom.html">CSFrom</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CSGroupBy.html">CSGroupBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CSInMemoryStore.html">CSInMemoryStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CSInto.html">CSInto</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CSListMonitor.html">CSListMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CSMigrationResult.html">CSMigrationResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CSMigrationType.html">CSMigrationType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CSObjectMonitor.html">CSObjectMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CSOrderBy.html">CSOrderBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CSSQLiteStore.html">CSSQLiteStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CSSectionBy.html">CSSectionBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CSSelect.html">CSSelect</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CSSelectTerm.html">CSSelectTerm</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CSSetupResult.html">CSSetupResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CSSynchronousDataTransaction.html">CSSynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CSTweak.html">CSTweak</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CSUnsafeDataModelSchema.html">CSUnsafeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CSUnsafeDataTransaction.html">CSUnsafeDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CSWhere.html">CSWhere</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CSXcodeDataModelSchema.html">CSXcodeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CoreStoreObject.html">CoreStoreObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CoreStoreObjectObjectDiff.html">CoreStoreObjectObjectDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CoreStoreObjectOrderedDiff.html">CoreStoreObjectOrderedDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CoreStoreObjectTransformableDiff.html">CoreStoreObjectTransformableDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CoreStoreObjectUnorderedDiff.html">CoreStoreObjectUnorderedDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CoreStoreObjectValueDiff.html">CoreStoreObjectValueDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CoreStoreSchema.html">CoreStoreSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CustomSchemaMappingProvider.html">CustomSchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CustomSchemaMappingProvider/CustomMapping.html"> CustomMapping</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html"> UnsafeSourceObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html"> UnsafeDestinationObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/DataStack.html">DataStack</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/DefaultLogger.html">DefaultLogger</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/DynamicEntity.html">DynamicEntity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/Entity.html">Entity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/ICloudStore.html">ICloudStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/InMemoryStore.html">InMemoryStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/InferredSchemaMappingProvider.html">InferredSchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/ListMonitor.html">ListMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/ObjectMonitor.html">ObjectMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SQLiteStore.html">SQLiteStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SchemaHistory.html">SchemaHistory</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SynchronousDataTransaction.html">SynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/UnsafeDataModelSchema.html">UnsafeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/UnsafeDataTransaction.html">UnsafeDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/UserInfo.html">UserInfo</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/XcodeDataModelSchema.html">XcodeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/XcodeSchemaMappingProvider.html">XcodeSchemaMappingProvider</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Global Variables.html">Global Variables</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Global Variables.html#/s:9CoreStore0aB11ErrorDomainSSvp">CoreStoreErrorDomain</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/CSErrorCode.html">CSErrorCode</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/CSLocalStorageOptions.html">CSLocalStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/CoreStore.html">CoreStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/CoreStoreError.html">CoreStoreError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/CoreStoreErrorCode.html">CoreStoreErrorCode</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums.html#/s:9CoreStore8LogLevelO">LogLevel</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/MigrationResult.html">MigrationResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/MigrationType.html">MigrationType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/RelationshipContainer.html">RelationshipContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/RelationshipContainer/ToOne.html"> ToOne</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/RelationshipContainer/ToManyOrdered.html"> ToManyOrdered</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/RelationshipContainer/ToManyUnordered.html"> ToManyUnordered</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SelectTerm.html">SelectTerm</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SetupResult.html">SetupResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/TransformableContainer.html">TransformableContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/TransformableContainer/Required.html"> Required</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/TransformableContainer/Optional.html"> Optional</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/ValueContainer.html">ValueContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/ValueContainer/Required.html"> Required</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/ValueContainer/Optional.html"> Optional</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Bool.html">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/CGFloat.html">CGFloat</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Data.html">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Double.html">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Float.html">Float</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Int.html">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Int16.html">Int16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Int32.html">Int32</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Int64.html">Int64</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Int8.html">Int8</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/KeyPath.html">KeyPath</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/KeyPathString.html">KeyPathString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/NSData.html">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/NSDate.html">NSDate</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/NSManagedObject.html">NSManagedObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/NSManagedObjectContext.html">NSManagedObjectContext</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/NSManagedObjectID.html">NSManagedObjectID</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/NSNull.html">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/NSNumber.html">NSNumber</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/NSString.html">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/NSURL.html">NSURL</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/NSUUID.html">NSUUID</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Progress.html">Progress</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/RawRepresentable.html">RawRepresentable</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Sequence.html">Sequence</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/String.html">String</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/URL.html">URL</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/UUID.html">UUID</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Functions.html">Functions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GGtAA0aB6ObjectCRbzAORb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_STR0_So0gH2IDC7ElementRt0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_STR0_So0gH2IDC7ElementRt0_r1_lF">~=(_:_:)</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/AnyWhereClause.html">AnyWhereClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols.html#/c:@M@CoreStore@objc(pl)CSDeleteClause">CSDeleteClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/CSDynamicSchema.html">CSDynamicSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols.html#/c:@M@CoreStore@objc(pl)CSFetchClause">CSFetchClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/CSListObjectObserver.html">CSListObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/CSListObserver.html">CSListObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/CSListSectionObserver.html">CSListSectionObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/CSLocalStorage.html">CSLocalStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/CSObjectObserver.html">CSObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols.html#/c:@M@CoreStore@objc(pl)CSQueryClause">CSQueryClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/CSStorageInterface.html">CSStorageInterface</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/CloudStorage.html">CloudStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols.html#/c:@M@CoreStore@objc(pl)CoreDataNativeType">CoreDataNativeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/CoreStoreLogger.html">CoreStoreLogger</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/CoreStoreObjectKeyValueObservation.html">CoreStoreObjectKeyValueObservation</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/CoreStoreObjectiveCType.html">CoreStoreObjectiveCType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/CoreStoreSwiftType.html">CoreStoreSwiftType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols.html#/s:9CoreStore12DeleteClauseP">DeleteClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/DynamicKeyPath.html">DynamicKeyPath</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/DynamicObject.html">DynamicObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/DynamicSchema.html">DynamicSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/FetchChainableBuilderType.html">FetchChainableBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols.html#/s:9CoreStore11FetchClauseP">FetchClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/FetchableSource.html">FetchableSource</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/GroupByClause.html">GroupByClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/ICloudStoreObserver.html">ICloudStoreObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols.html#/s:9CoreStore23ImportableAttributeTypeP">ImportableAttributeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/ImportableObject.html">ImportableObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/ImportableUniqueObject.html">ImportableUniqueObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/ListObjectObserver.html">ListObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/ListObserver.html">ListObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/ListSectionObserver.html">ListSectionObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/LocalStorage.html">LocalStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/ObjectObserver.html">ObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/OrderByClause.html">OrderByClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/QueryChainableBuilderType.html">QueryChainableBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols.html#/s:9CoreStore11QueryClauseP">QueryClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/QueryableAttributeType.html">QueryableAttributeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/QueryableSource.html">QueryableSource</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SchemaMappingProvider.html">SchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SectionMonitorBuilderType.html">SectionMonitorBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols.html#/s:9CoreStore26SelectAttributesResultTypeP">SelectAttributesResultType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SelectClause.html">SelectClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols.html#/s:9CoreStore16SelectResultTypeP">SelectResultType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/StorageInterface.html">StorageInterface</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/WhereClauseType.html">WhereClauseType</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/CloudStorageOptions.html">CloudStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/FetchChainBuilder.html">FetchChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/From.html">From</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/GroupBy.html">GroupBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Into.html">Into</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/LocalStorageOptions.html">LocalStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/MigrationChain.html">MigrationChain</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/OrderBy.html">OrderBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/OrderBy/SortKey.html"> SortKey</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/PartialObject.html">PartialObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/QueryChainBuilder.html">QueryChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SectionBy.html">SectionBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SectionMonitorChainBuilder.html">SectionMonitorChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Select.html">Select</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Tweak.html">Tweak</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/VersionLock.html">VersionLock</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Where.html">Where</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Typealiases.html">Type Aliases</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Typealiases.html#/s:9CoreStore9ClassNamea">ClassName</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Typealiases.html#/s:9CoreStore10EntityNamea">EntityName</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Typealiases.html#/s:9CoreStore18ModelConfigurationa">ModelConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Typealiases.html#/s:9CoreStore12ModelVersiona">ModelVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Typealiases.html#/s:9CoreStore22XcodeDataModelFileNamea">XcodeDataModelFileName</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section class="section">
<div class="section-content">
<h1>Structures</h1>
<p>The following structures are available globally.</p>
</div>
</section>
<section class="section">
<div class="section-content">
<div class="task-group">
<div class="task-name-container">
<a name="/Tweak"></a>
<a name="//apple_ref/swift/Section/Tweak" class="dashAnchor"></a>
<a href="#/Tweak">
<h3 class="section-name">Tweak</h3>
</a>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:9CoreStore5TweakV"></a>
<a name="//apple_ref/swift/Struct/Tweak" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore5TweakV">Tweak</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The <code>Tweak</code> clause allows fine-tuning the <code>NSFetchRequest</code> for a fetch or query.
Sample usage:</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">employees</span> <span class="o">=</span> <span class="n">transaction</span><span class="o">.</span><span class="nf">fetchAll</span><span class="p">(</span>
<span class="kt">From</span><span class="o">&lt;</span><span class="kt">MyPersonEntity</span><span class="o">&gt;</span><span class="p">(),</span>
<span class="kt">Tweak</span> <span class="p">{</span> <span class="p">(</span><span class="n">fetchRequest</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span> <span class="k">in</span>
<span class="n">fetchRequest</span><span class="o">.</span><span class="n">includesPendingChanges</span> <span class="o">=</span> <span class="kc">false</span>
<span class="n">fetchRequest</span><span class="o">.</span><span class="n">fetchLimit</span> <span class="o">=</span> <span class="mi">5</span>
<span class="p">}</span>
<span class="p">)</span>
</code></pre>
<a href="Structs/Tweak.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">Tweak</span> <span class="p">:</span> <span class="kt"><a href="Protocols.html#/s:9CoreStore11FetchClauseP">FetchClause</a></span><span class="p">,</span> <span class="kt"><a href="Protocols.html#/s:9CoreStore11QueryClauseP">QueryClause</a></span><span class="p">,</span> <span class="kt"><a href="Protocols.html#/s:9CoreStore12DeleteClauseP">DeleteClause</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/CloudStorageOptions"></a>
<a name="//apple_ref/swift/Section/CloudStorageOptions" class="dashAnchor"></a>
<a href="#/CloudStorageOptions">
<h3 class="section-name">CloudStorageOptions</h3>
</a>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:9CoreStore19CloudStorageOptionsV"></a>
<a name="//apple_ref/swift/Struct/CloudStorageOptions" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore19CloudStorageOptionsV">CloudStorageOptions</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The <code>CloudStorageOptions</code> provides settings that tells the <code><a href="Classes/DataStack.html">DataStack</a></code> how to setup the persistent store for <code><a href="Protocols/LocalStorage.html">LocalStorage</a></code> implementers.</p>
<a href="Structs/CloudStorageOptions.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">CloudStorageOptions</span> <span class="p">:</span> <span class="kt">OptionSet</span><span class="p">,</span> <span class="kt">ExpressibleByNilLiteral</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/From"></a>
<a name="//apple_ref/swift/Section/From" class="dashAnchor"></a>
<a href="#/From">
<h3 class="section-name">From</h3>
</a>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:9CoreStore4FromV"></a>
<a name="//apple_ref/swift/Struct/From" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore4FromV">From</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>A <code>From</code> clause specifies the source entity and source persistent store for fetch and query methods. A common usage is to just indicate the entity:</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">person</span> <span class="o">=</span> <span class="n">transaction</span><span class="o">.</span><span class="nf">fetchOne</span><span class="p">(</span><span class="kt">From</span><span class="o">&lt;</span><span class="kt">Person</span><span class="o">&gt;</span><span class="p">())</span>
</code></pre>
<p>For cases where multiple <code>NSPersistentStore</code>s contain the same entity, the source configuration&rsquo;s name needs to be specified as well:</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">person</span> <span class="o">=</span> <span class="n">transaction</span><span class="o">.</span><span class="nf">fetchOne</span><span class="p">(</span><span class="kt">From</span><span class="o">&lt;</span><span class="kt">Person</span><span class="o">&gt;</span><span class="p">(</span><span class="s">"Configuration1"</span><span class="p">))</span>
</code></pre>
<a href="Structs/From.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">From</span><span class="o">&lt;</span><span class="kt">D</span><span class="o">&gt;</span> <span class="k">where</span> <span class="kt">D</span> <span class="p">:</span> <span class="kt"><a href="Protocols/DynamicObject.html">DynamicObject</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/GroupBy"></a>
<a name="//apple_ref/swift/Section/GroupBy" class="dashAnchor"></a>
<a href="#/GroupBy">
<h3 class="section-name">GroupBy</h3>
</a>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:9CoreStore7GroupByV"></a>
<a name="//apple_ref/swift/Struct/GroupBy" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore7GroupByV">GroupBy</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The <code>GroupBy</code> clause specifies that the result of a query be grouped accoording to the specified key path.</p>
<a href="Structs/GroupBy.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">GroupBy</span><span class="o">&lt;</span><span class="kt">D</span><span class="o">&gt;</span> <span class="p">:</span> <span class="kt"><a href="Protocols/GroupByClause.html">GroupByClause</a></span><span class="p">,</span> <span class="kt"><a href="Protocols.html#/s:9CoreStore11QueryClauseP">QueryClause</a></span><span class="p">,</span> <span class="kt">Hashable</span> <span class="k">where</span> <span class="kt">D</span> <span class="p">:</span> <span class="kt"><a href="Protocols/DynamicObject.html">DynamicObject</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/Into"></a>
<a name="//apple_ref/swift/Section/Into" class="dashAnchor"></a>
<a href="#/Into">
<h3 class="section-name">Into</h3>
</a>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:9CoreStore4IntoV"></a>
<a name="//apple_ref/swift/Struct/Into" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore4IntoV">Into</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>An <code>Into</code> clause contains the destination entity and destination persistent store for a <code>create(...)</code> method. A common usage is to just indicate the entity:</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">person</span> <span class="o">=</span> <span class="n">transaction</span><span class="o">.</span><span class="nf">create</span><span class="p">(</span><span class="kt">Into</span><span class="o">&lt;</span><span class="kt">MyPersonEntity</span><span class="o">&gt;</span><span class="p">())</span>
</code></pre>
<p>For cases where multiple <code>NSPersistentStore</code>s contain the same entity, the destination configuration&rsquo;s name needs to be specified as well:</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">person</span> <span class="o">=</span> <span class="n">transaction</span><span class="o">.</span><span class="nf">create</span><span class="p">(</span><span class="kt">Into</span><span class="o">&lt;</span><span class="kt">MyPersonEntity</span><span class="o">&gt;</span><span class="p">(</span><span class="s">"Configuration1"</span><span class="p">))</span>
</code></pre>
<a href="Structs/Into.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">Into</span><span class="o">&lt;</span><span class="kt">D</span><span class="o">&gt;</span> <span class="p">:</span> <span class="kt">Hashable</span> <span class="k">where</span> <span class="kt">D</span> <span class="p">:</span> <span class="kt"><a href="Protocols/DynamicObject.html">DynamicObject</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/LocalStorageOptions"></a>
<a name="//apple_ref/swift/Section/LocalStorageOptions" class="dashAnchor"></a>
<a href="#/LocalStorageOptions">
<h3 class="section-name">LocalStorageOptions</h3>
</a>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:9CoreStore19LocalStorageOptionsV"></a>
<a name="//apple_ref/swift/Struct/LocalStorageOptions" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore19LocalStorageOptionsV">LocalStorageOptions</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The <code>LocalStorageOptions</code> provides settings that tells the <code><a href="Classes/DataStack.html">DataStack</a></code> how to setup the persistent store for <code><a href="Protocols/LocalStorage.html">LocalStorage</a></code> implementers.</p>
<a href="Structs/LocalStorageOptions.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">LocalStorageOptions</span> <span class="p">:</span> <span class="kt">OptionSet</span><span class="p">,</span> <span class="kt">ExpressibleByNilLiteral</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/MigrationChain"></a>
<a name="//apple_ref/swift/Section/MigrationChain" class="dashAnchor"></a>
<a href="#/MigrationChain">
<h3 class="section-name">MigrationChain</h3>
</a>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:9CoreStore14MigrationChainV"></a>
<a name="//apple_ref/swift/Struct/MigrationChain" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore14MigrationChainV">MigrationChain</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>A <code>MigrationChain</code> indicates the sequence of model versions to be used as the order for progressive migrations. This is typically passed to the <code><a href="Classes/SchemaHistory.html">SchemaHistory</a></code> or the <code><a href="Classes/DataStack.html">DataStack</a></code> initializer and will be applied to all stores added to the <code><a href="Classes/DataStack.html">DataStack</a></code> with <code>addStorage(...)</code> and its variants.</p>
<p>Initializing with empty values (either <code>nil</code>, <code>[]</code>, or <code>[:]</code>) instructs the <code><a href="Classes/DataStack.html">DataStack</a></code> to use the .xcdatamodel&rsquo;s current version as the final version, and to disable progressive migrations:</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">dataStack</span> <span class="o">=</span> <span class="kt">DataStack</span><span class="p">(</span><span class="nv">migrationChain</span><span class="p">:</span> <span class="kc">nil</span><span class="p">)</span>
</code></pre>
<p>This means that the mapping model will be computed from the store&rsquo;s version straight to the <code><a href="Classes/DataStack.html">DataStack</a></code>&lsquo;s model version.
To support progressive migrations, specify the linear order of versions:</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">dataStack</span> <span class="o">=</span> <span class="kt">DataStack</span><span class="p">(</span><span class="nv">migrationChain</span><span class="p">:</span>
<span class="p">[</span><span class="s">"MyAppModel"</span><span class="p">,</span> <span class="s">"MyAppModelV2"</span><span class="p">,</span> <span class="s">"MyAppModelV3"</span><span class="p">,</span> <span class="s">"MyAppModelV4"</span><span class="p">])</span>
</code></pre>
<p>or for more complex migration paths, a version tree that maps the key-values to the source-destination versions:</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">dataStack</span> <span class="o">=</span> <span class="kt">DataStack</span><span class="p">(</span><span class="nv">migrationChain</span><span class="p">:</span> <span class="p">[</span>
<span class="s">"MyAppModel"</span><span class="p">:</span> <span class="s">"MyAppModelV3"</span><span class="p">,</span>
<span class="s">"MyAppModelV2"</span><span class="p">:</span> <span class="s">"MyAppModelV4"</span><span class="p">,</span>
<span class="s">"MyAppModelV3"</span><span class="p">:</span> <span class="s">"MyAppModelV4"</span>
<span class="p">])</span>
</code></pre>
<p>This allows for different migration paths depending on the starting version. The example above resolves to the following paths:</p>
<ul>
<li>MyAppModel-MyAppModelV3-MyAppModelV4</li>
<li>MyAppModelV2-MyAppModelV4</li>
<li>MyAppModelV3-MyAppModelV4</li>
</ul>
<p>The <code>MigrationChain</code> is validated when passed to the <code><a href="Classes/DataStack.html">DataStack</a></code> and unless it is empty, will raise an assertion if any of the following conditions are met:</p>
<ul>
<li>a version appears twice in an array</li>
<li>a version appears twice as a key in a dictionary literal</li>
<li>a loop is found in any of the paths</li>
</ul>
<a href="Structs/MigrationChain.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">MigrationChain</span> <span class="p">:</span> <span class="kt">ExpressibleByNilLiteral</span><span class="p">,</span> <span class="kt">ExpressibleByStringLiteral</span><span class="p">,</span> <span class="kt">ExpressibleByDictionaryLiteral</span><span class="p">,</span> <span class="kt">ExpressibleByArrayLiteral</span><span class="p">,</span> <span class="kt">Equatable</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/OrderBy"></a>
<a name="//apple_ref/swift/Section/OrderBy" class="dashAnchor"></a>
<a href="#/OrderBy">
<h3 class="section-name">OrderBy</h3>
</a>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:9CoreStore7OrderByV"></a>
<a name="//apple_ref/swift/Struct/OrderBy" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore7OrderByV">OrderBy</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The <code>OrderBy</code> clause specifies the sort order for results for a fetch or a query.</p>
<a href="Structs/OrderBy.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">OrderBy</span><span class="o">&lt;</span><span class="kt">D</span><span class="o">&gt;</span> <span class="p">:</span> <span class="kt"><a href="Protocols/OrderByClause.html">OrderByClause</a></span><span class="p">,</span> <span class="kt"><a href="Protocols.html#/s:9CoreStore11FetchClauseP">FetchClause</a></span><span class="p">,</span> <span class="kt"><a href="Protocols.html#/s:9CoreStore11QueryClauseP">QueryClause</a></span><span class="p">,</span> <span class="kt"><a href="Protocols.html#/s:9CoreStore12DeleteClauseP">DeleteClause</a></span><span class="p">,</span> <span class="kt">Hashable</span> <span class="k">where</span> <span class="kt">D</span> <span class="p">:</span> <span class="kt"><a href="Protocols/DynamicObject.html">DynamicObject</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/SectionBy"></a>
<a name="//apple_ref/swift/Section/SectionBy" class="dashAnchor"></a>
<a href="#/SectionBy">
<h3 class="section-name">SectionBy</h3>
</a>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:9CoreStore9SectionByV"></a>
<a name="//apple_ref/swift/Struct/SectionBy" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore9SectionByV">SectionBy</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The <code>SectionBy</code> clause indicates the key path to use to group the <code><a href="Classes/ListMonitor.html">ListMonitor</a></code> objects into sections. An optional closure can also be provided to transform the value into an appropriate section name:</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">monitor</span> <span class="o">=</span> <span class="kt">CoreStore</span><span class="o">.</span><span class="nf">monitorSectionedList</span><span class="p">(</span>
<span class="kt">From</span><span class="o">&lt;</span><span class="kt">Person</span><span class="o">&gt;</span><span class="p">(),</span>
<span class="kt">SectionBy</span><span class="p">(</span><span class="s">"age"</span><span class="p">)</span> <span class="p">{</span> <span class="s">"Age </span><span class="se">\(</span><span class="nv">$0</span><span class="se">)</span><span class="s">"</span> <span class="p">},</span>
<span class="kt">OrderBy</span><span class="p">(</span><span class="o">.</span><span class="nf">ascending</span><span class="p">(</span><span class="s">"lastName"</span><span class="p">))</span>
<span class="p">)</span>
</code></pre>
<a href="Structs/SectionBy.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">@available(OSX 10.12, *)</span>
<span class="kd">public</span> <span class="kd">struct</span> <span class="kt">SectionBy</span><span class="o">&lt;</span><span class="kt">D</span><span class="o">&gt;</span> <span class="k">where</span> <span class="kt">D</span> <span class="p">:</span> <span class="kt"><a href="Protocols/DynamicObject.html">DynamicObject</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/Select"></a>
<a name="//apple_ref/swift/Section/Select" class="dashAnchor"></a>
<a href="#/Select">
<h3 class="section-name">Select</h3>
</a>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:9CoreStore6SelectV"></a>
<a name="//apple_ref/swift/Struct/Select" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore6SelectV">Select</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The <code>Select</code> clause indicates the attribute / aggregate value to be queried. The generic type is a <code><a href="Protocols.html#/s:9CoreStore16SelectResultTypeP">SelectResultType</a></code>, and will be used as the return type for the query.</p>
<p>You can bind the return type by specializing the initializer:</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">maximumAge</span> <span class="o">=</span> <span class="kt">CoreStore</span><span class="o">.</span><span class="nf">queryValue</span><span class="p">(</span>
<span class="kt">From</span><span class="o">&lt;</span><span class="kt">MyPersonEntity</span><span class="o">&gt;</span><span class="p">(),</span>
<span class="kt">Select</span><span class="o">&lt;</span><span class="kt">Int</span><span class="o">&gt;</span><span class="p">(</span><span class="o">.</span><span class="nf">maximum</span><span class="p">(</span><span class="s">"age"</span><span class="p">))</span>
<span class="p">)</span>
</code></pre>
<p>or by casting the type of the return value:</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">maximumAge</span><span class="p">:</span> <span class="kt">Int</span> <span class="o">=</span> <span class="kt">CoreStore</span><span class="o">.</span><span class="nf">queryValue</span><span class="p">(</span>
<span class="kt">From</span><span class="o">&lt;</span><span class="kt">MyPersonEntity</span><span class="o">&gt;</span><span class="p">(),</span>
<span class="kt">Select</span><span class="p">(</span><span class="o">.</span><span class="nf">maximum</span><span class="p">(</span><span class="s">"age"</span><span class="p">))</span>
<span class="p">)</span>
</code></pre>
<p>Valid return types depend on the query:</p>
<ul>
<li>for <code>queryValue(...)</code> methods:
<ul>
<li>all types that conform to <code><a href="Protocols/QueryableAttributeType.html">QueryableAttributeType</a></code> protocol</li>
</ul></li>
<li><p>for <code>queryAttributes(...)</code> methods:</p>
<ul>
<li><code>NSDictionary</code></li>
</ul></li>
</ul>
<a href="Structs/Select.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">Select</span><span class="o">&lt;</span><span class="kt">D</span><span class="p">,</span> <span class="kt">T</span><span class="o">&gt;</span> <span class="p">:</span> <span class="kt"><a href="Protocols/SelectClause.html">SelectClause</a></span><span class="p">,</span> <span class="kt">Hashable</span> <span class="k">where</span> <span class="kt">D</span> <span class="p">:</span> <span class="kt"><a href="Protocols/DynamicObject.html">DynamicObject</a></span><span class="p">,</span> <span class="kt">T</span> <span class="p">:</span> <span class="kt"><a href="Protocols.html#/s:9CoreStore16SelectResultTypeP">SelectResultType</a></span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>sortDescriptors</em>
</code>
</td>
<td>
<div>
<p>a series of <code>NSSortDescriptor</code>s</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/Where"></a>
<a name="//apple_ref/swift/Section/Where" class="dashAnchor"></a>
<a href="#/Where">
<h3 class="section-name">Where</h3>
</a>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:9CoreStore5WhereV"></a>
<a name="//apple_ref/swift/Struct/Where" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore5WhereV">Where</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The <code>Where</code> clause specifies the conditions for a fetch or a query.</p>
<a href="Structs/Where.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">Where</span><span class="o">&lt;</span><span class="kt">D</span><span class="o">&gt;</span> <span class="p">:</span> <span class="kt"><a href="Protocols/WhereClauseType.html">WhereClauseType</a></span><span class="p">,</span> <span class="kt"><a href="Protocols.html#/s:9CoreStore11FetchClauseP">FetchClause</a></span><span class="p">,</span> <span class="kt"><a href="Protocols.html#/s:9CoreStore11QueryClauseP">QueryClause</a></span><span class="p">,</span> <span class="kt"><a href="Protocols.html#/s:9CoreStore12DeleteClauseP">DeleteClause</a></span><span class="p">,</span> <span class="kt">Hashable</span> <span class="k">where</span> <span class="kt">D</span> <span class="p">:</span> <span class="kt"><a href="Protocols/DynamicObject.html">DynamicObject</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/VersionLock"></a>
<a name="//apple_ref/swift/Section/VersionLock" class="dashAnchor"></a>
<a href="#/VersionLock">
<h3 class="section-name">VersionLock</h3>
</a>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:9CoreStore11VersionLockV"></a>
<a name="//apple_ref/swift/Struct/VersionLock" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore11VersionLockV">VersionLock</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The <code>VersionLock</code> contains the version hashes for entities. This is then passed to the <code><a href="Classes/CoreStoreSchema.html">CoreStoreSchema</a></code>, which contains all entities for the store. An assertion will be raised if any <code><a href="Classes/Entity.html">Entity</a></code> doesn&rsquo;t match the version hash.</p>
<pre class="highlight swift"><code><span class="kd">class</span> <span class="kt">Animal</span><span class="p">:</span> <span class="kt">CoreStoreObject</span> <span class="p">{</span>
<span class="k">let</span> <span class="nv">species</span> <span class="o">=</span> <span class="kt">Value</span><span class="o">.</span><span class="kt">Required</span><span class="o">&lt;</span><span class="kt">String</span><span class="o">&gt;</span><span class="p">(</span><span class="s">"species"</span><span class="p">,</span> <span class="nv">initial</span><span class="p">:</span> <span class="s">""</span><span class="p">)</span>
<span class="k">let</span> <span class="nv">nickname</span> <span class="o">=</span> <span class="kt">Value</span><span class="o">.</span><span class="kt">Optional</span><span class="o">&lt;</span><span class="kt">String</span><span class="o">&gt;</span><span class="p">(</span><span class="s">"nickname"</span><span class="p">)</span>
<span class="k">let</span> <span class="nv">master</span> <span class="o">=</span> <span class="kt">Relationship</span><span class="o">.</span><span class="kt">ToOne</span><span class="o">&lt;</span><span class="kt">Person</span><span class="o">&gt;</span><span class="p">(</span><span class="s">"master"</span><span class="p">)</span>
<span class="p">}</span>
<span class="kd">class</span> <span class="kt">Person</span><span class="p">:</span> <span class="kt">CoreStoreObject</span> <span class="p">{</span>
<span class="k">let</span> <span class="nv">name</span> <span class="o">=</span> <span class="kt">Value</span><span class="o">.</span><span class="kt">Required</span><span class="o">&lt;</span><span class="kt">String</span><span class="o">&gt;</span><span class="p">(</span><span class="s">"name"</span><span class="p">,</span> <span class="nv">initial</span><span class="p">:</span> <span class="s">""</span><span class="p">)</span>
<span class="k">let</span> <span class="nv">pet</span> <span class="o">=</span> <span class="kt">Relationship</span><span class="o">.</span><span class="kt">ToOne</span><span class="o">&lt;</span><span class="kt">Animal</span><span class="o">&gt;</span><span class="p">(</span><span class="s">"pet"</span><span class="p">,</span> <span class="nv">inverse</span><span class="p">:</span> <span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="n">master</span> <span class="p">})</span>
<span class="p">}</span>
<span class="kt">CoreStore</span><span class="o">.</span><span class="n">defaultStack</span> <span class="o">=</span> <span class="kt">DataStack</span><span class="p">(</span>
<span class="kt">CoreStoreSchema</span><span class="p">(</span>
<span class="nv">modelVersion</span><span class="p">:</span> <span class="s">"V1"</span><span class="p">,</span>
<span class="nv">entities</span><span class="p">:</span> <span class="p">[</span>
<span class="kt">Entity</span><span class="o">&lt;</span><span class="kt">Animal</span><span class="o">&gt;</span><span class="p">(</span><span class="s">"Animal"</span><span class="p">),</span>
<span class="kt">Entity</span><span class="o">&lt;</span><span class="kt">Person</span><span class="o">&gt;</span><span class="p">(</span><span class="s">"Person"</span><span class="p">)</span>
<span class="p">],</span>
<span class="nv">versionLock</span><span class="p">:</span> <span class="p">[</span>
<span class="s">"Animal"</span><span class="p">:</span> <span class="p">[</span><span class="mh">0x2698c812ebbc3b97</span><span class="p">,</span> <span class="mh">0x751e3fa3f04cf9</span><span class="p">,</span> <span class="mh">0x51fd460d3babc82</span><span class="p">,</span> <span class="mh">0x92b4ba735b5a3053</span><span class="p">],</span>
<span class="s">"Person"</span><span class="p">:</span> <span class="p">[</span><span class="mh">0xae4060a59f990ef0</span><span class="p">,</span> <span class="mh">0x8ac83a6e1411c130</span><span class="p">,</span> <span class="mh">0xa29fea58e2e38ab6</span><span class="p">,</span> <span class="mh">0x2071bb7e33d77887</span><span class="p">]</span>
<span class="p">]</span>
<span class="p">)</span>
<span class="p">)</span>
</code></pre>
<a href="Structs/VersionLock.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">VersionLock</span> <span class="p">:</span> <span class="kt">ExpressibleByDictionaryLiteral</span><span class="p">,</span> <span class="kt">Equatable</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/FetchChainBuilder"></a>
<a name="//apple_ref/swift/Section/FetchChainBuilder" class="dashAnchor"></a>
<a href="#/FetchChainBuilder">
<h3 class="section-name">FetchChainBuilder</h3>
</a>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:9CoreStore17FetchChainBuilderV"></a>
<a name="//apple_ref/swift/Struct/FetchChainBuilder" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore17FetchChainBuilderV">FetchChainBuilder</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The fetch builder type used for fetches. A <code>FetchChainBuilder</code> is created from a <code><a href="Structs/From.html">From</a></code> clause.</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">people</span> <span class="o">=</span> <span class="n">source</span><span class="o">.</span><span class="nf">fetchAll</span><span class="p">(</span>
<span class="kt">From</span><span class="o">&lt;</span><span class="kt">MyPersonEntity</span><span class="o">&gt;</span><span class="p">()</span>
<span class="o">.</span><span class="nf">where</span><span class="p">(\</span><span class="o">.</span><span class="n">age</span> <span class="o">&gt;</span> <span class="mi">18</span><span class="p">)</span>
<span class="o">.</span><span class="nf">orderBy</span><span class="p">(</span><span class="o">.</span><span class="nf">ascending</span><span class="p">(\</span><span class="o">.</span><span class="n">age</span><span class="p">))</span>
<span class="p">)</span>
</code></pre>
<a href="Structs/FetchChainBuilder.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">FetchChainBuilder</span><span class="o">&lt;</span><span class="kt">D</span><span class="o">&gt;</span> <span class="p">:</span> <span class="kt"><a href="Protocols/FetchChainableBuilderType.html">FetchChainableBuilderType</a></span> <span class="k">where</span> <span class="kt">D</span> <span class="p">:</span> <span class="kt"><a href="Protocols/DynamicObject.html">DynamicObject</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/QueryChainBuilder"></a>
<a name="//apple_ref/swift/Section/QueryChainBuilder" class="dashAnchor"></a>
<a href="#/QueryChainBuilder">
<h3 class="section-name">QueryChainBuilder</h3>
</a>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:9CoreStore17QueryChainBuilderV"></a>
<a name="//apple_ref/swift/Struct/QueryChainBuilder" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore17QueryChainBuilderV">QueryChainBuilder</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The fetch builder type used for a queries. A <code>QueryChainBuilder</code> is created from a <code><a href="Structs/From.html">From</a></code> clause and then a <code>select(...)</code> chain.</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">averageAdultAge</span> <span class="o">=</span> <span class="n">dataStack</span><span class="o">.</span><span class="nf">queryValue</span><span class="p">(</span>
<span class="kt">From</span><span class="o">&lt;</span><span class="kt">MyPersonEntity</span><span class="o">&gt;</span><span class="p">()</span>
<span class="o">.</span><span class="nf">select</span><span class="p">(</span><span class="kt">Int</span><span class="o">.</span><span class="k">self</span><span class="p">,</span> <span class="o">.</span><span class="nf">average</span><span class="p">(\</span><span class="o">.</span><span class="n">age</span><span class="p">))</span>
<span class="o">.</span><span class="nf">where</span><span class="p">(\</span><span class="o">.</span><span class="n">age</span> <span class="o">&gt;</span> <span class="mi">18</span><span class="p">)</span>
<span class="p">)</span>
</code></pre>
<a href="Structs/QueryChainBuilder.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">QueryChainBuilder</span><span class="o">&lt;</span><span class="kt">D</span><span class="p">,</span> <span class="kt">R</span><span class="o">&gt;</span> <span class="p">:</span> <span class="kt"><a href="Protocols/QueryChainableBuilderType.html">QueryChainableBuilderType</a></span> <span class="k">where</span> <span class="kt">D</span> <span class="p">:</span> <span class="kt"><a href="Protocols/DynamicObject.html">DynamicObject</a></span><span class="p">,</span> <span class="kt">R</span> <span class="p">:</span> <span class="kt"><a href="Protocols.html#/s:9CoreStore16SelectResultTypeP">SelectResultType</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/SectionMonitorChainBuilder"></a>
<a name="//apple_ref/swift/Section/SectionMonitorChainBuilder" class="dashAnchor"></a>
<a href="#/SectionMonitorChainBuilder">
<h3 class="section-name">SectionMonitorChainBuilder</h3>
</a>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:9CoreStore26SectionMonitorChainBuilderV"></a>
<a name="//apple_ref/swift/Struct/SectionMonitorChainBuilder" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore26SectionMonitorChainBuilderV">SectionMonitorChainBuilder</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The fetch builder type used for a sectioned <code><a href="Classes/ListMonitor.html">ListMonitor</a></code>. A <code>SectionMonitorChainBuilder</code> is created from a <code><a href="Structs/From.html">From</a></code> clause and then a <code>sectionBy(...)</code> chain.</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">monitor</span> <span class="o">=</span> <span class="n">transaction</span><span class="o">.</span><span class="nf">monitorSectionedList</span><span class="p">(</span>
<span class="kt">From</span><span class="o">&lt;</span><span class="kt">MyPersonEntity</span><span class="o">&gt;</span><span class="p">()</span>
<span class="o">.</span><span class="nf">sectionBy</span><span class="p">(\</span><span class="o">.</span><span class="n">age</span><span class="p">,</span> <span class="p">{</span> <span class="s">"</span><span class="se">\(</span><span class="nv">$0</span><span class="o">!</span><span class="se">)</span><span class="s"> years old"</span> <span class="p">})</span>
<span class="o">.</span><span class="nf">where</span><span class="p">(\</span><span class="o">.</span><span class="n">age</span> <span class="o">&gt;</span> <span class="mi">18</span><span class="p">)</span>
<span class="o">.</span><span class="nf">orderBy</span><span class="p">(</span><span class="o">.</span><span class="nf">ascending</span><span class="p">(\</span><span class="o">.</span><span class="n">age</span><span class="p">))</span>
<span class="p">)</span>
</code></pre>
<a href="Structs/SectionMonitorChainBuilder.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">@available(OSX 10.12, *)</span>
<span class="kd">public</span> <span class="kd">struct</span> <span class="kt">SectionMonitorChainBuilder</span><span class="o">&lt;</span><span class="kt">D</span><span class="o">&gt;</span> <span class="p">:</span> <span class="kt"><a href="Protocols/SectionMonitorBuilderType.html">SectionMonitorBuilderType</a></span> <span class="k">where</span> <span class="kt">D</span> <span class="p">:</span> <span class="kt"><a href="Protocols/DynamicObject.html">DynamicObject</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/PartialObject"></a>
<a name="//apple_ref/swift/Section/PartialObject" class="dashAnchor"></a>
<a href="#/PartialObject">
<h3 class="section-name">PartialObject</h3>
</a>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:9CoreStore13PartialObjectV"></a>
<a name="//apple_ref/swift/Struct/PartialObject" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore13PartialObjectV">PartialObject</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>A <code>PartialObject</code> is only used when overriding getters and setters for <code><a href="Classes/CoreStoreObject.html">CoreStoreObject</a></code> properties. Custom getters and setters are implemented as a closure that <q>overrides</q> the default property getter/setter. The closure receives a <code>PartialObject&lt;O&gt;</code>, which acts as a fast, type-safe KVC interface for <code><a href="Classes/CoreStoreObject.html">CoreStoreObject</a></code>. The reason a <code><a href="Classes/CoreStoreObject.html">CoreStoreObject</a></code> instance is not passed directly is because the Core Data runtime is not aware of <code><a href="Classes/CoreStoreObject.html">CoreStoreObject</a></code> properties&rsquo; 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 <code><a href="Classes/ListMonitor.html">ListMonitor</a></code> observing.) When accessing the property value from <code>PartialObject&lt;O&gt;</code>, make sure to use <code>PartialObject&lt;O&gt;.persistentValue(for:)</code> instead of <code><a href="Structs/PartialObject.html#/s:9CoreStore13PartialObjectV5value3forqd__AA14ValueContainerO8RequiredCyx_qd__GxXE_tAA23ImportableAttributeTypeRd__lF">PartialObject&lt;O&gt;.value(for:)</a></code>, which would unintentionally execute the same closure again recursively.</p>
<a href="Structs/PartialObject.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">PartialObject</span><span class="o">&lt;</span><span class="kt">O</span><span class="o">&gt;</span> <span class="k">where</span> <span class="kt">O</span> <span class="p">:</span> <span class="kt"><a href="Classes/CoreStoreObject.html">CoreStoreObject</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<section class="footer">
<p>&copy; 2018 <a class="link" href="https://github.com/JohnEstropia" target="_blank" rel="external">John Estropia</a>. All rights reserved. (Last updated: 2018-12-19)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>
</html>