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

1211 lines
72 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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>ImportableUniqueObject Protocol 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/Protocol/ImportableUniqueObject" class="dashAnchor"></a>
<a title="ImportableUniqueObject Protocol 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" />
ImportableUniqueObject Protocol 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>ImportableUniqueObject</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">ImportableUniqueObject</span> <span class="p">:</span> <span class="kt"><a href="../Protocols/ImportableObject.html">ImportableObject</a></span></code></pre>
</div>
</div>
<p><code>NSManagedObject</code> subclasses that conform to the <code>ImportableUniqueObject</code> protocol can be imported from a specified <code>ImportSource</code>. This allows transactions to either update existing objects or create new instances this way:</p>
<pre class="highlight swift"><code><span class="kd">class</span> <span class="kt">Person</span><span class="p">:</span> <span class="kt">NSManagedObject</span><span class="p">,</span> <span class="kt">ImportableObject</span> <span class="p">{</span>
<span class="kd">typealias</span> <span class="kt">ImportSource</span> <span class="o">=</span> <span class="kt">NSDictionary</span>
<span class="kd">typealias</span> <span class="kt">UniqueIDType</span> <span class="o">=</span> <span class="kt">NSString</span>
<span class="c1">// ...</span>
<span class="p">}</span>
<span class="kt">CoreStore</span><span class="o">.</span><span class="nf">perform</span><span class="p">(</span>
<span class="nv">asynchronous</span><span class="p">:</span> <span class="p">{</span> <span class="p">(</span><span class="n">transaction</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span> <span class="k">in</span>
<span class="k">let</span> <span class="nv">json</span><span class="p">:</span> <span class="kt">NSDictionary</span> <span class="o">=</span> <span class="c1">// ...</span>
<span class="k">let</span> <span class="nv">person</span> <span class="o">=</span> <span class="k">try</span> <span class="n">transaction</span><span class="o">.</span><span class="nf">importUniqueObject</span><span class="p">(</span>
<span class="kt">Into</span><span class="o">&lt;</span><span class="kt">Person</span><span class="o">&gt;</span><span class="p">(),</span>
<span class="nv">source</span><span class="p">:</span> <span class="n">json</span>
<span class="p">)</span>
<span class="c1">// ...</span>
<span class="p">},</span>
<span class="nv">completion</span><span class="p">:</span> <span class="p">{</span> <span class="p">(</span><span class="n">result</span><span class="p">)</span> <span class="k">in</span>
<span class="c1">// ...</span>
<span class="p">}</span>
<span class="p">)</span>
</code></pre>
</div>
</section>
<section class="section">
<div class="section-content">
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:9CoreStore22ImportableUniqueObjectP0D6IDTypeQa"></a>
<a name="//apple_ref/swift/Alias/UniqueIDType" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore22ImportableUniqueObjectP0D6IDTypeQa">UniqueIDType</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The data type for the entity&rsquo;s unique ID attribute</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">associatedtype</span> <span class="kt">UniqueIDType</span> <span class="p">:</span> <span class="kt"><a href="../Protocols.html#/s:9CoreStore23ImportableAttributeTypeP">ImportableAttributeType</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:9CoreStore22ImportableUniqueObjectP15uniqueIDKeyPathSSvpZ"></a>
<a name="//apple_ref/swift/Variable/uniqueIDKeyPath" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore22ImportableUniqueObjectP15uniqueIDKeyPathSSvpZ">uniqueIDKeyPath</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The keyPath to the entity&rsquo;s unique ID attribute</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">static</span> <span class="k">var</span> <span class="nv">uniqueIDKeyPath</span><span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:9CoreStore22ImportableUniqueObjectP13uniqueIDValue0D6IDTypeQzvp"></a>
<a name="//apple_ref/swift/Property/uniqueIDValue" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore22ImportableUniqueObjectP13uniqueIDValue0D6IDTypeQzvp">uniqueIDValue</a>
</code>
<span class="declaration-note">
Default implementation
</span>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The object&rsquo;s unique ID value. The default implementation returns the value of the attribute pertained to by <code><a href="../Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP15uniqueIDKeyPathSSvpZ">uniqueIDKeyPath</a></code></p>
<div class="aside aside-important">
<p class="aside-title">Important</p>
It is the developer&rsquo;s responsibility to ensure that the attribute value pertained by <code><a href="../Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP15uniqueIDKeyPathSSvpZ">uniqueIDKeyPath</a></code> is not <code>nil</code> during the call to <code>uniqueIDValue</code>.
</div>
</div>
<h4>Default Implementation</h4>
<div class="default_impl abstract">
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">uniqueIDValue</span><span class="p">:</span> <span class="kt"><a href="../Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP0D6IDTypeQa">UniqueIDType</a></span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:9CoreStore22ImportableUniqueObjectP12shouldInsert4from2inSb12ImportSourceQz_AA19BaseDataTransactionCtFZ"></a>
<a name="//apple_ref/swift/Method/shouldInsert(from:in:)" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore22ImportableUniqueObjectP12shouldInsert4from2inSb12ImportSourceQz_AA19BaseDataTransactionCtFZ">shouldInsert(from:in:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Return <code>true</code> if an object should be created from <code>source</code>. Return <code>false</code> to ignore and skip <code>source</code>. The default implementation returns the value returned by the <code><a href="../Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP12shouldUpdate4from2inSb12ImportSourceQz_AA19BaseDataTransactionCtFZ">shouldUpdate(from:in:)</a></code> implementation.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">static</span> <span class="kd">func</span> <span class="nf">shouldInsert</span><span class="p">(</span><span class="n">from</span> <span class="nv">source</span><span class="p">:</span> <span class="kt">ImportSource</span><span class="p">,</span> <span class="k">in</span> <span class="nv">transaction</span><span class="p">:</span> <span class="kt"><a href="../Classes/BaseDataTransaction.html">BaseDataTransaction</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Bool</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>source</em>
</code>
</td>
<td>
<div>
<p>the object to import from</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>transaction</em>
</code>
</td>
<td>
<div>
<p>the transaction that invoked the import. Use the transaction to fetch or create related objects if needed.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div>
<h4>Return Value</h4>
<p><code>true</code> if an object should be created from <code>source</code>. Return <code>false</code> to ignore.</p>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:9CoreStore22ImportableUniqueObjectP12shouldUpdate4from2inSb12ImportSourceQz_AA19BaseDataTransactionCtFZ"></a>
<a name="//apple_ref/swift/Method/shouldUpdate(from:in:)" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore22ImportableUniqueObjectP12shouldUpdate4from2inSb12ImportSourceQz_AA19BaseDataTransactionCtFZ">shouldUpdate(from:in:)</a>
</code>
<span class="declaration-note">
Default implementation
</span>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Return <code>true</code> if an object should be updated from <code>source</code>. Return <code>false</code> to ignore and skip <code>source</code>. The default implementation returns <code>true</code>.</p>
</div>
<h4>Default Implementation</h4>
<div class="default_impl abstract">
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">static</span> <span class="kd">func</span> <span class="nf">shouldUpdate</span><span class="p">(</span><span class="n">from</span> <span class="nv">source</span><span class="p">:</span> <span class="kt">ImportSource</span><span class="p">,</span> <span class="k">in</span> <span class="nv">transaction</span><span class="p">:</span> <span class="kt"><a href="../Classes/BaseDataTransaction.html">BaseDataTransaction</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Bool</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>source</em>
</code>
</td>
<td>
<div>
<p>the object to import from</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>transaction</em>
</code>
</td>
<td>
<div>
<p>the transaction that invoked the import. Use the transaction to fetch or create related objects if needed.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div>
<h4>Return Value</h4>
<p><code>true</code> if an object should be updated from <code>source</code>. Return <code>false</code> to ignore.</p>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:9CoreStore22ImportableUniqueObjectP8uniqueID4from2in0D6IDTypeQzSg12ImportSourceQz_AA19BaseDataTransactionCtKFZ"></a>
<a name="//apple_ref/swift/Method/uniqueID(from:in:)" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore22ImportableUniqueObjectP8uniqueID4from2in0D6IDTypeQzSg12ImportSourceQz_AA19BaseDataTransactionCtKFZ">uniqueID(from:in:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Return the unique ID as extracted from <code>source</code>. This method is called before <code><a href="../Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP12shouldInsert4from2inSb12ImportSourceQz_AA19BaseDataTransactionCtFZ">shouldInsert(from:in:)</a></code> or <code><a href="../Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP12shouldUpdate4from2inSb12ImportSourceQz_AA19BaseDataTransactionCtFZ">shouldUpdate(from:in:)</a></code>. Return <code>nil</code> to skip importing from <code>source</code>. Note that throwing from this method will cause subsequent imports that are part of the same <code>importUniqueObjects(:sourceArray:)</code> call to be cancelled.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">static</span> <span class="kd">func</span> <span class="nf">uniqueID</span><span class="p">(</span><span class="n">from</span> <span class="nv">source</span><span class="p">:</span> <span class="kt">ImportSource</span><span class="p">,</span> <span class="k">in</span> <span class="nv">transaction</span><span class="p">:</span> <span class="kt"><a href="../Classes/BaseDataTransaction.html">BaseDataTransaction</a></span><span class="p">)</span> <span class="k">throws</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP0D6IDTypeQa">UniqueIDType</a></span><span class="p">?</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>source</em>
</code>
</td>
<td>
<div>
<p>the object to import from</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>transaction</em>
</code>
</td>
<td>
<div>
<p>the transaction that invoked the import. Use the transaction to fetch or create related objects if needed.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div>
<h4>Return Value</h4>
<p>the unique ID as extracted from <code>source</code>, or <code>nil</code> to skip importing from <code>source</code>.</p>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:9CoreStore22ImportableUniqueObjectP9didInsert4from2iny12ImportSourceQz_AA19BaseDataTransactionCtKF"></a>
<a name="//apple_ref/swift/Method/didInsert(from:in:)" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore22ImportableUniqueObjectP9didInsert4from2iny12ImportSourceQz_AA19BaseDataTransactionCtKF">didInsert(from:in:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Implements the actual importing of data from <code>source</code>. This method is called just after the object is created and assigned its unique ID as returned from <code><a href="../Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP8uniqueID4from2in0D6IDTypeQzSg12ImportSourceQz_AA19BaseDataTransactionCtKFZ">uniqueID(from:in:)</a></code>. Implementers should pull values from <code>source</code> and assign them to the receiver&rsquo;s attributes. Note that throwing from this method will cause subsequent imports that are part of the same <code>importUniqueObjects(:sourceArray:)</code> call to be cancelled. The default implementation simply calls <code><a href="../Protocols/ImportableUniqueObject.html#/s:9CoreStore22ImportableUniqueObjectP6update4from2iny12ImportSourceQz_AA19BaseDataTransactionCtKF">update(from:in:)</a></code>.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">didInsert</span><span class="p">(</span><span class="n">from</span> <span class="nv">source</span><span class="p">:</span> <span class="kt">ImportSource</span><span class="p">,</span> <span class="k">in</span> <span class="nv">transaction</span><span class="p">:</span> <span class="kt"><a href="../Classes/BaseDataTransaction.html">BaseDataTransaction</a></span><span class="p">)</span> <span class="k">throws</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>source</em>
</code>
</td>
<td>
<div>
<p>the object to import from</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>transaction</em>
</code>
</td>
<td>
<div>
<p>the transaction that invoked the import. Use the transaction to fetch or create related objects if needed.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:9CoreStore22ImportableUniqueObjectP6update4from2iny12ImportSourceQz_AA19BaseDataTransactionCtKF"></a>
<a name="//apple_ref/swift/Method/update(from:in:)" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore22ImportableUniqueObjectP6update4from2iny12ImportSourceQz_AA19BaseDataTransactionCtKF">update(from:in:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Implements the actual importing of data from <code>source</code>. This method is called just after the existing object is fetched using its unique ID. Implementers should pull values from <code>source</code> and assign them to the receiver&rsquo;s attributes. Note that throwing from this method will cause subsequent imports that are part of the same <code>importUniqueObjects(:sourceArray:)</code> call to be cancelled.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">update</span><span class="p">(</span><span class="n">from</span> <span class="nv">source</span><span class="p">:</span> <span class="kt">ImportSource</span><span class="p">,</span> <span class="k">in</span> <span class="nv">transaction</span><span class="p">:</span> <span class="kt"><a href="../Classes/BaseDataTransaction.html">BaseDataTransaction</a></span><span class="p">)</span> <span class="k">throws</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>source</em>
</code>
</td>
<td>
<div>
<p>the object to import from</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>transaction</em>
</code>
</td>
<td>
<div>
<p>the transaction that invoked the import. Use the transaction to fetch or create related objects if needed.</p>
</div>
</td>
</tr>
</tbody>
</table>
</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>