mirror of
https://github.com/JohnEstropia/CoreStore.git
synced 2026-01-13 23:23:29 +01:00
3010 lines
246 KiB
HTML
3010 lines
246 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<title>Coded Structure 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/Struct/Coded" class="dashAnchor"></a>
|
||
|
||
<a title="Coded Structure Reference"></a>
|
||
|
||
<header class="header">
|
||
<p class="header-col header-col--primary">
|
||
<a class="header-link" href="../../index.html">
|
||
CoreStore 9.1.0 Docs
|
||
</a>
|
||
(91% documented)
|
||
</p>
|
||
|
||
<div class="header-col--secondary">
|
||
<form role="search" action="../../search.json">
|
||
<input type="text" placeholder="Search documentation" data-typeahead>
|
||
</form>
|
||
</div>
|
||
|
||
<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" alt="GitHub"/>
|
||
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" alt=""/>
|
||
Coded Structure 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/BaseDataTransaction.html">BaseDataTransaction</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/DataStack/AsyncNamespace.html">– AsyncNamespace</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Classes/DataStack/ReactiveNamespace.html">– ReactiveNamespace</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Classes/DataStack/AddStoragePublisher.html">– AddStoragePublisher</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/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/ListPublisher.html">ListPublisher</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Classes/ListPublisher/ReactiveNamespace.html">– ReactiveNamespace</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Classes/ListPublisher/SnapshotPublisher.html">– SnapshotPublisher</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/ObjectPublisher.html">ObjectPublisher</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Classes/ObjectPublisher/ReactiveNamespace.html">– ReactiveNamespace</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Classes/ObjectPublisher/SnapshotPublisher.html">– SnapshotPublisher</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%20Variables.html">Global Variables</a>
|
||
<ul class="nav-group-tasks">
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Global%20Variables.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/CoreStoreDefaults.html">CoreStoreDefaults</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/DiffableDataSource.html">DiffableDataSource</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Enums/DiffableDataSource/BaseAdapter.html">– BaseAdapter</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Enums/DiffableDataSource/CollectionViewAdapter.html">– CollectionViewAdapter</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Enums/DiffableDataSource/TableViewAdapter.html">– TableViewAdapter</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Enums/FieldCoders.html">FieldCoders</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Enums/FieldCoders/DefaultNSSecureCoding.html">– DefaultNSSecureCoding</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Enums/FieldCoders/Json.html">– Json</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Enums/FieldCoders/NSCoding.html">– NSCoding</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Enums/FieldCoders/Plist.html">– Plist</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Enums/FieldContainer.html">FieldContainer</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Enums/FieldContainer/Stored.html">– Stored</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Enums/FieldContainer/Coded.html">– Coded</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Enums/FieldContainer/Relationship.html">– Relationship</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Enums/FieldContainer/Virtual.html">– Virtual</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/MigrationProgress.html">MigrationProgress</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.html#/s:9CoreStore21RelationshipContainerO10DeleteRuleO">– DeleteRule</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/ToManyUnordered.html">– ToManyUnordered</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/SelectTerm.html">SelectTerm</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/Array.html">Array</a>
|
||
</li>
|
||
<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.html#/c:objc(cs)NSBundle">Bundle</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.html#/s:SD">Dictionary</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Extensions/DiffableDataSource.html">DiffableDataSource</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Extensions/DiffableDataSource/CollectionViewAdapter.html">– CollectionViewAdapter</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Extensions/DiffableDataSource/DefaultCollectionViewTarget.html">– DefaultCollectionViewTarget</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/EnvironmentValues.html">EnvironmentValues</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/ForEach.html">ForEach</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.html#/c:objc(cs)NSArray">NSArray</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Extensions.html#/c:objc(cs)NSAttributeDescription">NSAttributeDescription</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Extensions/NSAttributeType.html">NSAttributeType</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/NSDeleteRule.html">NSDeleteRule</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Extensions.html#/c:objc(cs)NSDictionary">NSDictionary</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Extensions.html#/c:objc(cs)NSEntityDescription">NSEntityDescription</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Extensions.html#/c:objc(cs)NSError">NSError</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.html#/c:objc(cs)NSManagedObjectModel">NSManagedObjectModel</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Extensions.html#/c:objc(cs)NSMappingModel">NSMappingModel</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/NSOrderedSet.html">NSOrderedSet</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Extensions.html#/c:objc(cs)NSPredicate">NSPredicate</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Extensions.html#/c:objc(cs)NSRelationshipDescription">NSRelationshipDescription</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Extensions/NSSet.html">NSSet</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Extensions.html#/c:objc(cs)NSSortDescriptor">NSSortDescriptor</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/Optional.html">Optional</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/Result.html">Result</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Extensions/Selector.html">Selector</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/Set.html">Set</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:9CoreStore2neoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_G_q0_tAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_r1_lF">!=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_SgG_AHtAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_r1_lF">!=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_SgG_q0_tAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_r1_lF">!=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14FieldContainerO12RelationshipVyx_q_GG_21DestinationObjectTypeQy_SgtAA0abK0CRbzAA0gi5ToOneL0R_r0_lF">!=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14FieldContainerO12RelationshipVyx_q_GG_q0_SgtAA0aB6ObjectCRbzAA0gI9ToOneTypeR_AA0J14RepresentationR0_0jM0Qy0_011DestinationjM0Rt_r1_lF">!=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14FieldContainerO6StoredVyx_q_GG_q_tAA0aB6ObjectCRbzAA0G12StorableTypeR_r0_lF">!=(_:_:)</a>
|
||
</li>
|
||
<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_G_xtAA13DynamicObjectRzAA0H14RepresentationRzSo09NSManagedH0CRb_AL0H4TypeAaJPRczr0_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:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_xSgtAA13DynamicObjectRzAA0H14RepresentationRzSo09NSManagedH0CRb_AN0H4TypeAaLPRczr0_lF">!=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGAD10ExpressionVyx_q_q0_G_q0_tAA13DynamicObjectRzAA0cD5TraitR_AA22QueryableAttributeTypeR0_SLR0_r1_lF"><(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGAD10ExpressionVyx_q_q0_SgG_q0_tAA13DynamicObjectRzAA0cD5TraitR_AA22QueryableAttributeTypeR0_SLR0_r1_lF"><(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14FieldContainerO6StoredVyx_q_GG_q_tAA0aB6ObjectCRbzAA0F12OptionalTypeR_AA0f8StorableK0R_SL7WrappedAaPPRp_r0_lF"><(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14FieldContainerO6StoredVyx_q_GG_q_tAA0aB6ObjectCRbzAA0F12StorableTypeR_SLR_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"><(_:_:)</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"><(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF"><(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF"><(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_G_q0_tAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_SLR0_r1_lF"><=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_SgG_AHtAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_SLR0_r1_lF"><=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14FieldContainerO6StoredVyx_q_GG_q_tAA0aB6ObjectCRbzAA0G12OptionalTypeR_AA0g8StorableL0R_SL7WrappedAaPPRp_r0_lF"><=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14FieldContainerO6StoredVyx_q_GG_q_tAA0aB6ObjectCRbzAA0G12StorableTypeR_SLR_r0_lF"><=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF"><=(_:_:)</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"><=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF"><=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF"><=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_G_q0_tAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_r1_lF">==(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_SgG_AHtAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_r1_lF">==(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_SgG_q0_tAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_r1_lF">==(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14FieldContainerO12RelationshipVyx_q_GG_21DestinationObjectTypeQy_SgtAA0abK0CRbzAA0gi5ToOneL0R_r0_lF">==(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14FieldContainerO12RelationshipVyx_q_GG_q0_SgtAA0aB6ObjectCRbzAA0gI9ToOneTypeR_AA0J14RepresentationR0_0jM0Qy0_011DestinationjM0Rt_r1_lF">==(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14FieldContainerO6StoredVyx_q_GG_q_tAA0aB6ObjectCRbzAA0G12StorableTypeR_r0_lF">==(_:_:)</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_G_xtAA13DynamicObjectRzAA0H14RepresentationRzSo09NSManagedH0CRb_AL0H4TypeAaJPRczr0_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:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_xSgtAA13DynamicObjectRzAA0H14RepresentationRzSo09NSManagedH0CRb_AN0H4TypeAaLPRczr0_lF">==(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGAD10ExpressionVyx_q_q0_G_q0_tAA13DynamicObjectRzAA0cD5TraitR_AA22QueryableAttributeTypeR0_SLR0_r1_lF">>(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGAD10ExpressionVyx_q_q0_SgG_q0_tAA13DynamicObjectRzAA0cD5TraitR_AA22QueryableAttributeTypeR0_SLR0_r1_lF">>(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14FieldContainerO6StoredVyx_q_GG_q_tAA0aB6ObjectCRbzAA0F12OptionalTypeR_AA0f8StorableK0R_SL7WrappedAaPPRp_r0_lF">>(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14FieldContainerO6StoredVyx_q_GG_q_tAA0aB6ObjectCRbzAA0F12StorableTypeR_SLR_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">>(_:_:)</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">>(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">>(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">>(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_G_q0_tAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_SLR0_r1_lF">>=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGAD10ExpressionVyx_q_q0_SgG_AHtAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_SLR0_r1_lF">>=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14FieldContainerO6StoredVyx_q_GG_q_tAA0aB6ObjectCRbzAA0G12OptionalTypeR_AA0g8StorableL0R_SL7WrappedAaPPRp_r0_lF">>=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14FieldContainerO6StoredVyx_q_GG_q_tAA0aB6ObjectCRbzAA0G12StorableTypeR_SLR_r0_lF">>=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">>=(_:_:)</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">>=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">>=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">>=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD12SingleTargetOyx_G20DestinationValueTypeQy0_Gs7KeyPathCyxAA14FieldContainerO12RelationshipVyx_q_GG_ANy0g6ObjectI0Qy_q0_GtAA0abO0CRbzAA0ln5ToOneI0R_AA0jK17StringConvertibleR0_0oI0Qy0_AVRSr1_lF">~(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD12SingleTargetOyx_G20DestinationValueTypeQy0_Gs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_ANyq_q0_GtAA0aB6ObjectCRbzAWRb_0pI0Qy0_Rs_AA0jK17StringConvertibleR0_r1_lF">~(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD12SingleTargetOyx_Gq0_Gs7KeyPathCyxq_G_ALyq_q0_GtSo15NSManagedObjectCRbzAPRb_AA020AllowedObjectiveCKeyH5ValueR0_r1_lF">~(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD12SingleTargetOyx_Gq0_Gs7KeyPathCyxq_SgG_ALyq_q0_GtSo15NSManagedObjectCRbzAQRb_AA020AllowedObjectiveCKeyH5ValueR0_r1_lF">~(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD16CollectionTargetOyx_G20DestinationValueTypeQy0_Gs7KeyPathCyxAA14FieldContainerO12RelationshipVyx_q_GG_ANy0g6ObjectI0Qy_q0_GtAA0abO0CRbzAA0ln5ToOneI0R_AA0p4ManynjK17StringConvertibleR0_0oI0Qy0_AVRSr1_lF">~(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD16CollectionTargetOyx_G20DestinationValueTypeQy0_Gs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_ANyq_q0_GtAA0aB6ObjectCRbzAWRb_0pI0Qy0_Rs_AA0n4ManyljK17StringConvertibleR0_r1_lF">~(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD16CollectionTargetOyx_G20DestinationValueTypeQy1_GAFyx_q0_q_G_s7KeyPathCyq_q1_GtAA0aB6ObjectCRbz0lI0Qy1_RszARRb_AA0cD5TraitR0_AA018ToManyRelationshipjK17StringConvertibleR1_r2_lF">~(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD16CollectionTargetOyx_G20DestinationValueTypeQy1_GAFyx_q0_q_SgG_s7KeyPathCyq_q1_GtAA0aB6ObjectCRbz0lI0Qy1_RszASRb_AA0cD5TraitR0_AA018ToManyRelationshipjK17StringConvertibleR1_r2_lF">~(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD16CollectionTargetOyx_G20DestinationValueTypeQy2_GAFyx_q0_q1_G_s7KeyPathCyq_q2_GtAA0aB6ObjectCRbz0lI0Qy1_RszARRb_ASQy2_Rs_AA0cD5TraitR0_AA018ToManyRelationshipjK17StringConvertibleR1_AaWR2_r3_lF">~(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD16CollectionTargetOyx_Gq0_Gs7KeyPathCyxq_G_ALyq_q0_GtSo15NSManagedObjectCRbzAPRb_AA035AllowedObjectiveCToManyRelationshipgH5ValueR0_r1_lF">~(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD16CollectionTargetOyx_Gq0_Gs7KeyPathCyxq_SgG_ALyq_q0_GtSo15NSManagedObjectCRbzAQRb_AA035AllowedObjectiveCToManyRelationshipgH5ValueR0_r1_lF">~(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD16CollectionTargetOyx_Gq1_GAFyx_q0_q_G_s7KeyPathCyq_q1_GtSo15NSManagedObjectCRbzAPRb_AA0cD5TraitR0_AA035AllowedObjectiveCToManyRelationshipgH5ValueR1_r2_lF">~(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD16CollectionTargetOyx_Gq1_GAFyx_q0_q_SgG_s7KeyPathCyq_q1_GtSo15NSManagedObjectCRbzAQRb_AA0cD5TraitR0_AA035AllowedObjectiveCToManyRelationshipgH5ValueR1_r2_lF">~(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_AD16CollectionTargetOyx_Gq2_GAFyx_q0_q1_G_s7KeyPathCyq_q2_GtSo15NSManagedObjectCRbzAPRb_AA0cD5TraitR0_AA035AllowedObjectiveCToManyRelationshipgH5ValueR1_AA0lm4CKeyhQ0R2_r3_lF">~(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_q0_20DestinationValueTypeQy1_GAFyx_q0_q_G_s7KeyPathCyq_q1_GtAA0aB6ObjectCRbzAORb_0jG0Qy1_Rs_AA0cD5TraitR0_AA0hI17StringConvertibleR1_r2_lF">~(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_q0_20DestinationValueTypeQy1_GAFyx_q0_q_SgG_s7KeyPathCyq_q1_GtAA0aB6ObjectCRbzAPRb_0jG0Qy1_Rs_AA0cD5TraitR0_AA0hI17StringConvertibleR1_r2_lF">~(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_q0_q1_GAFyx_q0_q_G_s7KeyPathCyq_q1_GtSo15NSManagedObjectCRbzAMRb_AA0cD5TraitR0_AA020AllowedObjectiveCKeyF5ValueR1_r2_lF">~(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1toiyAA5WhereV10ExpressionVyx_q0_q1_GAFyx_q0_q_SgG_s7KeyPathCyq_q1_GtSo15NSManagedObjectCRbzANRb_AA0cD5TraitR0_AA020AllowedObjectiveCKeyF5ValueR1_r2_lF">~(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14FieldContainerO12RelationshipVyx_q_GGtAA0aB6ObjectCRbzAA0gI9ToOneTypeR_STR0_7ElementQy0_011DestinationjM0Rt_r1_lF">~=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14FieldContainerO6StoredVyx_q_GGtAA0aB6ObjectCRbzAA0G12StorableTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</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>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq1__AD10ExpressionVyx_q_q0_GtAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_7ElementQy1_Rs0_STR1_r2_lF">~=(_:_:)</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq1__AD10ExpressionVyx_q_q0_SgGtAA13DynamicObjectRzAA0dE5TraitR_AA22QueryableAttributeTypeR0_7ElementQy1_Rs0_STR1_r2_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/AllowedObjectiveCAttributeKeyPathValue.html">AllowedObjectiveCAttributeKeyPathValue</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Protocols/AllowedObjectiveCKeyPathValue.html">AllowedObjectiveCKeyPathValue</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Protocols.html#/s:9CoreStore41AllowedObjectiveCRelationshipKeyPathValueP">AllowedObjectiveCRelationshipKeyPathValue</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Protocols.html#/s:9CoreStore47AllowedObjectiveCToManyRelationshipKeyPathValueP">AllowedObjectiveCToManyRelationshipKeyPathValue</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Protocols.html#/s:9CoreStore37AllowedOptionalObjectiveCKeyPathValueP">AllowedOptionalObjectiveCKeyPathValue</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Protocols/AnyObjectRepresentation.html">AnyObjectRepresentation</a>
|
||
</li>
|
||
<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/AttributeKeyPathStringConvertible.html">AttributeKeyPathStringConvertible</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.html#/s:9CoreStore22DefaultNSSecureCodableP">DefaultNSSecureCodable</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/DiffableDataSourceTarget.html">DiffableDataSourceTarget</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/FieldCoderType.html">FieldCoderType</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Protocols/FieldOptionalType.html">FieldOptionalType</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Protocols/FieldRelationshipType.html">FieldRelationshipType</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Protocols/FieldStorableType.html">FieldStorableType</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.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/KeyPathStringConvertible.html">KeyPathStringConvertible</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/ObjectRepresentation.html">ObjectRepresentation</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/RelationshipKeyPathStringConvertible.html">RelationshipKeyPathStringConvertible</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.html#/s:9CoreStore42ToManyRelationshipKeyPathStringConvertibleP">ToManyRelationshipKeyPathStringConvertible</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Protocols/WhereClauseType.html">WhereClauseType</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Protocols.html#/s:9CoreStore20WhereExpressionTraitP">WhereExpressionTrait</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/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/ListReader.html">ListReader</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Structs/ListSnapshot.html">ListSnapshot</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Structs/ListState.html">ListState</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/ObjectProxy.html">ObjectProxy</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Structs/ObjectReader.html">ObjectReader</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Structs/ObjectSnapshot.html">ObjectSnapshot</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Structs/ObjectState.html">ObjectState</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>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Structs/Where/Expression.html">– Expression</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Structs/Where.html#/s:9CoreStore5WhereV12SingleTargetO">– SingleTarget</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="../../Structs/Where.html#/s:9CoreStore5WhereV16CollectionTargetO">– CollectionTarget</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:9CoreStore15MigrationResulta">MigrationResult</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:9CoreStore11SetupResulta">SetupResult</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 top-matter">
|
||
<h1>Coded</h1>
|
||
<div class="declaration">
|
||
<div class="language">
|
||
|
||
<pre class="highlight swift"><code><span class="kd">@propertyWrapper</span>
|
||
<span class="kd">public</span> <span class="kd">struct</span> <span class="kt">Coded</span><span class="o"><</span><span class="kt">V</span><span class="o">></span> <span class="p">:</span> <span class="kt"><a href="../../Protocols/AttributeKeyPathStringConvertible.html">AttributeKeyPathStringConvertible</a></span><span class="p">,</span> <span class="kt">FieldAttributeProtocol</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<p>The containing type for stored property values. Any type supported by the specified encoder/decoder are allowed.</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="kd">@Field</span><span class="o">.</span><span class="kt">Coded</span><span class="p">(</span><span class="s">"eyeColor"</span><span class="p">,</span> <span class="nv">coder</span><span class="p">:</span> <span class="kt">FieldCoders</span><span class="o">.</span><span class="kt">NSCoding</span><span class="o">.</span><span class="k">self</span><span class="p">)</span>
|
||
<span class="k">var</span> <span class="nv">eyeColor</span><span class="p">:</span> <span class="kt">UIColor</span> <span class="o">=</span> <span class="o">.</span><span class="n">black</span>
|
||
|
||
<span class="kd">@Field</span><span class="o">.</span><span class="kt">Coded</span><span class="p">(</span>
|
||
<span class="s">"bloodType"</span><span class="p">,</span>
|
||
<span class="nv">coder</span><span class="p">:</span> <span class="p">{</span>
|
||
<span class="nv">encode</span><span class="p">:</span> <span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="nf">toData</span><span class="p">()</span> <span class="p">},</span>
|
||
<span class="nv">decode</span><span class="p">:</span> <span class="p">{</span> <span class="kt">BloodType</span><span class="p">(</span><span class="nv">fromData</span><span class="p">:</span> <span class="nv">$0</span><span class="p">)</span> <span class="p">}</span>
|
||
<span class="p">}</span>
|
||
<span class="p">)</span>
|
||
<span class="k">var</span> <span class="nv">bloodType</span><span class="p">:</span> <span class="kt">BloodType</span> <span class="o">=</span> <span class="o">.</span><span class="n">unknown</span>
|
||
<span class="p">}</span>
|
||
</code></pre>
|
||
<div class="aside aside-important">
|
||
<p class="aside-title">Important</p>
|
||
<code>Field</code> properties are required to be used as <code>@propertyWrapper</code>s. Any other declaration not using the <code>@Field.Stored(...) var</code> syntax will be ignored.
|
||
|
||
</div>
|
||
|
||
</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:9CoreStore14FieldContainerO5CodedV12wrappedValue_19versionHashModifier22previousVersionKeyPath5coder12customGetter0P6Setter010affectedByM5PathsAEyx_qd__Gqd__yXA_S2SSgyXAANyXAqd0__mqd__AA11ObjectProxyVyxG_AP0cW0Vyx_qd__GtcSgyAQ_ATqd__tcSgShySSGyXAtc0c6StoredG0Qyd0__Rsd__AA0C9CoderTypeRd0__lufc"></a>
|
||
<a name="//apple_ref/swift/Method/init(wrappedValue:_:versionHashModifier:previousVersionKeyPath:coder:customGetter:customSetter:affectedByKeyPaths:)" class="dashAnchor"></a>
|
||
<a class="token" href="#/s:9CoreStore14FieldContainerO5CodedV12wrappedValue_19versionHashModifier22previousVersionKeyPath5coder12customGetter0P6Setter010affectedByM5PathsAEyx_qd__Gqd__yXA_S2SSgyXAANyXAqd0__mqd__AA11ObjectProxyVyxG_AP0cW0Vyx_qd__GtcSgyAQ_ATqd__tcSgShySSGyXAtc0c6StoredG0Qyd0__Rsd__AA0C9CoderTypeRd0__lufc">init(wrappedValue:<wbr>_:<wbr>versionHashModifier:<wbr>previousVersionKeyPath:<wbr>coder:<wbr>customGetter:<wbr>customSetter:<wbr>affectedByKeyPaths:<wbr>)</a>
|
||
</code>
|
||
</div>
|
||
<div class="height-container">
|
||
<div class="pointer-container"></div>
|
||
<section class="section">
|
||
<div class="pointer"></div>
|
||
<div class="abstract">
|
||
<p>Initializes the metadata for the property.</p>
|
||
<pre class="highlight swift"><code><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="kd">@Field</span><span class="o">.</span><span class="kt">Coded</span><span class="p">(</span><span class="s">"eyeColor"</span><span class="p">,</span> <span class="nv">coder</span><span class="p">:</span> <span class="kt">FieldCoders</span><span class="o">.</span><span class="kt">NSCoding</span><span class="o">.</span><span class="k">self</span><span class="p">)</span>
|
||
<span class="k">var</span> <span class="nv">eyeColor</span><span class="p">:</span> <span class="kt">UIColor</span> <span class="o">=</span> <span class="o">.</span><span class="n">black</span>
|
||
<span class="p">}</span>
|
||
</code></pre>
|
||
<div class="aside aside-important">
|
||
<p class="aside-title">Important</p>
|
||
Any changes in the <code>coder</code> are not reflected in the VersionLock, so make sure that the encoder and decoder logic is compatible for all versions of your persistent store.
|
||
|
||
</div>
|
||
|
||
</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">init</span><span class="o"><</span><span class="kt">Coder</span><span class="p">:</span> <span class="kt"><a href="../../Protocols/FieldCoderType.html">FieldCoderType</a></span><span class="o">></span><span class="p">(</span>
|
||
<span class="n">wrappedValue</span> <span class="nv">initial</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">V</span><span class="p">,</span>
|
||
<span class="n">_</span> <span class="nv">keyPath</span><span class="p">:</span> <span class="kt"><a href="../../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a></span> <span class="o">=</span> <span class="p">{</span> <span class="nf">fatalError</span><span class="p">(</span><span class="s">"'keyPath' argument required (SR-13069 workaround)"</span><span class="p">)</span> <span class="p">}(),</span>
|
||
<span class="nv">versionHashModifier</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">previousVersionKeyPath</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="n">coder</span> <span class="nv">fieldCoderType</span><span class="p">:</span> <span class="kt">Coder</span><span class="o">.</span><span class="k">Type</span> <span class="o">=</span> <span class="p">{</span> <span class="nf">fatalError</span><span class="p">(</span><span class="s">"'coder' argument required (SR-13069 workaround)"</span><span class="p">)</span> <span class="p">}(),</span>
|
||
<span class="nv">customGetter</span><span class="p">:</span> <span class="p">((</span><span class="n">_</span> <span class="nv">object</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">field</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">>.</span><span class="kt">FieldProxy</span><span class="o"><</span><span class="kt">V</span><span class="o">></span><span class="p">)</span> <span class="o">-></span> <span class="kt">V</span><span class="p">)?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">customSetter</span><span class="p">:</span> <span class="p">((</span><span class="n">_</span> <span class="nv">object</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">field</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">>.</span><span class="kt">FieldProxy</span><span class="o"><</span><span class="kt">V</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">newValue</span><span class="p">:</span> <span class="kt">V</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Void</span><span class="p">)?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">affectedByKeyPaths</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">Set</span><span class="o"><</span><span class="kt"><a href="../../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a></span><span class="o">></span> <span class="o">=</span> <span class="p">[]</span>
|
||
<span class="p">)</span> <span class="k">where</span> <span class="kt">Coder</span><span class="o">.</span><span class="kt">FieldStoredValue</span> <span class="o">==</span> <span class="kt">V</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div>
|
||
<h4>Parameters</h4>
|
||
<table class="graybox">
|
||
<tbody>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>initial</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>the initial value for the property that is shared for all instances of this object. Note that this is evaluated during <code><a href="../../Classes/DataStack.html">DataStack</a></code> setup, not during object creation. To assign a value during object creation, use the <code>dynamicInitialValue</code> argument instead.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>keyPath</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>the permanent attribute name for this property.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>versionHashModifier</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>used to mark or denote a property as being a different “version” than another even if all of the values which affect persistence are equal. (Such a difference is important in cases where the properties are unchanged but the format or content of its data are changed.)</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>previousVersionKeyPath</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>used to resolve naming conflicts between models. When creating an entity mapping between entities in two managed object models, a source entity property’s <code>keyPath</code> with a matching destination entity property’s <code>previousVersionKeyPath</code> indicate that a property mapping should be configured to migrate from the source to the destination. If unset, the identifier will be the property’s <code>keyPath</code>.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>coder</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>The <code><a href="../../Protocols/FieldCoderType.html">FieldCoderType</a></code> to be used for encoding and decoding the value</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>customGetter</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>use this closure as an “override” for the default property getter. The closure receives a <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, which acts as a type-safe proxy for the receiver. When accessing the property value from <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, make sure to use <code>field.primitiveValue</code> instead of <code>field.value</code>, which would unintentionally execute the same closure again recursively. Do not make assumptions on the thread/queue that the closure is executed on; accessors may be called from <code>NSError</code> logs for example.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>customSetter</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>use this closure as an “override” for the default property setter. The closure receives a <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></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’ static typing, and so loading those info everytime KVO invokes this accessor method incurs a cumulative 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><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, make sure to use <code>field.primitiveValue</code> instead of <code>field.value</code>, which would unintentionally execute the same closure again recursively.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>affectedByKeyPaths</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>a set of key paths for properties whose values affect the value of the receiver. This is similar to <code>NSManagedObject.keyPathsForValuesAffectingValue(forKey:)</code>.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</li>
|
||
<li class="item">
|
||
<div>
|
||
<code>
|
||
<a name="/s:9CoreStore14FieldContainerO5CodedV_19versionHashModifier22previousVersionKeyPath5coder12customGetter0N6Setter010affectedByK5Paths19dynamicInitialValueAEyx_qd__GSS_SSSgyXAANyXAqd0__mqd__AA11ObjectProxyVyxG_AP0cX0Vyx_qd__GtcSgyAQ_ATqd__tcSgShySSGyXAqd__yctc0c6StoredV0Qyd0__Rsd__AA0C9CoderTypeRd0__lufc"></a>
|
||
<a name="//apple_ref/swift/Method/init(_:versionHashModifier:previousVersionKeyPath:coder:customGetter:customSetter:affectedByKeyPaths:dynamicInitialValue:)" class="dashAnchor"></a>
|
||
<a class="token" href="#/s:9CoreStore14FieldContainerO5CodedV_19versionHashModifier22previousVersionKeyPath5coder12customGetter0N6Setter010affectedByK5Paths19dynamicInitialValueAEyx_qd__GSS_SSSgyXAANyXAqd0__mqd__AA11ObjectProxyVyxG_AP0cX0Vyx_qd__GtcSgyAQ_ATqd__tcSgShySSGyXAqd__yctc0c6StoredV0Qyd0__Rsd__AA0C9CoderTypeRd0__lufc">init(_:<wbr>versionHashModifier:<wbr>previousVersionKeyPath:<wbr>coder:<wbr>customGetter:<wbr>customSetter:<wbr>affectedByKeyPaths:<wbr>dynamicInitialValue:<wbr>)</a>
|
||
</code>
|
||
</div>
|
||
<div class="height-container">
|
||
<div class="pointer-container"></div>
|
||
<section class="section">
|
||
<div class="pointer"></div>
|
||
<div class="abstract">
|
||
<p>Initializes the metadata for the property.</p>
|
||
<pre class="highlight swift"><code><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="kd">@Field</span><span class="o">.</span><span class="kt">Coded</span><span class="p">(</span><span class="s">"eyeColor"</span><span class="p">,</span> <span class="nv">coder</span><span class="p">:</span> <span class="kt">FieldCoders</span><span class="o">.</span><span class="kt">NSCoding</span><span class="o">.</span><span class="k">self</span><span class="p">,</span> <span class="nv">dynamicInitialValue</span><span class="p">:</span> <span class="p">{</span> <span class="kt">UIColor</span><span class="o">.</span><span class="nf">random</span><span class="p">()</span> <span class="p">})</span>
|
||
<span class="k">var</span> <span class="nv">eyeColor</span><span class="p">:</span> <span class="kt">UIColor</span>
|
||
<span class="p">}</span>
|
||
</code></pre>
|
||
<div class="aside aside-important">
|
||
<p class="aside-title">Important</p>
|
||
Any changes in the <code>coder</code> are not reflected in the VersionLock, so make sure that the encoder and decoder logic is compatible for all versions of your persistent store.
|
||
|
||
</div>
|
||
|
||
</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">init</span><span class="o"><</span><span class="kt">Coder</span><span class="p">:</span> <span class="kt"><a href="../../Protocols/FieldCoderType.html">FieldCoderType</a></span><span class="o">></span><span class="p">(</span>
|
||
<span class="n">_</span> <span class="nv">keyPath</span><span class="p">:</span> <span class="kt"><a href="../../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a></span><span class="p">,</span>
|
||
<span class="nv">versionHashModifier</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">previousVersionKeyPath</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="n">coder</span> <span class="nv">fieldCoderType</span><span class="p">:</span> <span class="kt">Coder</span><span class="o">.</span><span class="k">Type</span><span class="p">,</span>
|
||
<span class="nv">customGetter</span><span class="p">:</span> <span class="p">((</span><span class="n">_</span> <span class="nv">object</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">field</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">>.</span><span class="kt">FieldProxy</span><span class="o"><</span><span class="kt">V</span><span class="o">></span><span class="p">)</span> <span class="o">-></span> <span class="kt">V</span><span class="p">)?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">customSetter</span><span class="p">:</span> <span class="p">((</span><span class="n">_</span> <span class="nv">object</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">field</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">>.</span><span class="kt">FieldProxy</span><span class="o"><</span><span class="kt">V</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">newValue</span><span class="p">:</span> <span class="kt">V</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Void</span><span class="p">)?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">affectedByKeyPaths</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">Set</span><span class="o"><</span><span class="kt"><a href="../../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a></span><span class="o">></span> <span class="o">=</span> <span class="p">[],</span>
|
||
<span class="nv">dynamicInitialValue</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">V</span>
|
||
<span class="p">)</span> <span class="k">where</span> <span class="kt">Coder</span><span class="o">.</span><span class="kt">FieldStoredValue</span> <span class="o">==</span> <span class="kt">V</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div>
|
||
<h4>Parameters</h4>
|
||
<table class="graybox">
|
||
<tbody>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>keyPath</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>the permanent attribute name for this property.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>versionHashModifier</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>used to mark or denote a property as being a different “version” than another even if all of the values which affect persistence are equal. (Such a difference is important in cases where the properties are unchanged but the format or content of its data are changed.)</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>previousVersionKeyPath</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>used to resolve naming conflicts between models. When creating an entity mapping between entities in two managed object models, a source entity property’s <code>keyPath</code> with a matching destination entity property’s <code>previousVersionKeyPath</code> indicate that a property mapping should be configured to migrate from the source to the destination. If unset, the identifier will be the property’s <code>keyPath</code>.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>coder</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>The <code><a href="../../Protocols/FieldCoderType.html">FieldCoderType</a></code> to be used for encoding and decoding the value</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>customGetter</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>use this closure as an “override” for the default property getter. The closure receives a <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, which acts as a type-safe proxy for the receiver. When accessing the property value from <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, make sure to use <code>field.primitiveValue</code> instead of <code>field.value</code>, which would unintentionally execute the same closure again recursively. Do not make assumptions on the thread/queue that the closure is executed on; accessors may be called from <code>NSError</code> logs for example.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>customSetter</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>use this closure as an “override” for the default property setter. The closure receives a <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></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’ static typing, and so loading those info everytime KVO invokes this accessor method incurs a cumulative 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><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, make sure to use <code>field.primitiveValue</code> instead of <code>field.value</code>, which would unintentionally execute the same closure again recursively.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>affectedByKeyPaths</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>a set of key paths for properties whose values affect the value of the receiver. This is similar to <code>NSManagedObject.keyPathsForValuesAffectingValue(forKey:)</code>.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>dynamicInitialValue</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>the initial value for the property when the object is first created.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</li>
|
||
<li class="item">
|
||
<div>
|
||
<code>
|
||
<a name="/s:9CoreStore14FieldContainerO5CodedV12wrappedValue_19versionHashModifier22previousVersionKeyPath5coder12customGetter0P6Setter010affectedByM5PathsAEyx_qd__Gqd__yXA_S2SSgyXAANyXA10Foundation4DataVSgqd__c6encode_qd__ARc6decodetqd__AA11ObjectProxyVyxG_AV0C5ProxyVyx_qd__GtcSgyAW_AZqd__tcSgShySSGyXAtcfc"></a>
|
||
<a name="//apple_ref/swift/Method/init(wrappedValue:_:versionHashModifier:previousVersionKeyPath:coder:customGetter:customSetter:affectedByKeyPaths:)" class="dashAnchor"></a>
|
||
<a class="token" href="#/s:9CoreStore14FieldContainerO5CodedV12wrappedValue_19versionHashModifier22previousVersionKeyPath5coder12customGetter0P6Setter010affectedByM5PathsAEyx_qd__Gqd__yXA_S2SSgyXAANyXA10Foundation4DataVSgqd__c6encode_qd__ARc6decodetqd__AA11ObjectProxyVyxG_AV0C5ProxyVyx_qd__GtcSgyAW_AZqd__tcSgShySSGyXAtcfc">init(wrappedValue:<wbr>_:<wbr>versionHashModifier:<wbr>previousVersionKeyPath:<wbr>coder:<wbr>customGetter:<wbr>customSetter:<wbr>affectedByKeyPaths:<wbr>)</a>
|
||
</code>
|
||
</div>
|
||
<div class="height-container">
|
||
<div class="pointer-container"></div>
|
||
<section class="section">
|
||
<div class="pointer"></div>
|
||
<div class="abstract">
|
||
<p>Initializes the metadata for the property.</p>
|
||
<pre class="highlight swift"><code><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="kd">@Field</span><span class="o">.</span><span class="kt">Coded</span><span class="p">(</span>
|
||
<span class="s">"bloodType"</span><span class="p">,</span>
|
||
<span class="nv">coder</span><span class="p">:</span> <span class="p">{</span>
|
||
<span class="nv">encode</span><span class="p">:</span> <span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="nf">toData</span><span class="p">()</span> <span class="p">},</span>
|
||
<span class="nv">decode</span><span class="p">:</span> <span class="p">{</span> <span class="kt">BloodType</span><span class="p">(</span><span class="nv">fromData</span><span class="p">:</span> <span class="nv">$0</span><span class="p">)</span> <span class="p">}</span>
|
||
<span class="p">}</span>
|
||
<span class="p">)</span>
|
||
<span class="k">var</span> <span class="nv">bloodType</span><span class="p">:</span> <span class="kt">BloodType</span> <span class="o">=</span> <span class="o">.</span><span class="n">unknown</span>
|
||
<span class="p">}</span>
|
||
</code></pre>
|
||
<div class="aside aside-important">
|
||
<p class="aside-title">Important</p>
|
||
Any changes in the encoder/decoder are not reflected in the VersionLock, so make sure that the encoder and decoder logic is compatible for all versions of your persistent store.
|
||
|
||
</div>
|
||
|
||
</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="nf">init</span><span class="p">(</span>
|
||
<span class="n">wrappedValue</span> <span class="nv">initial</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">V</span><span class="p">,</span>
|
||
<span class="n">_</span> <span class="nv">keyPath</span><span class="p">:</span> <span class="kt"><a href="../../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a></span> <span class="o">=</span> <span class="p">{</span> <span class="nf">fatalError</span><span class="p">(</span><span class="s">"'keyPath' argument required (SR-13069 workaround)"</span><span class="p">)</span> <span class="p">}(),</span>
|
||
<span class="nv">versionHashModifier</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">previousVersionKeyPath</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">coder</span><span class="p">:</span> <span class="p">(</span><span class="nv">encode</span><span class="p">:</span> <span class="p">(</span><span class="kt">V</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Data</span><span class="p">?,</span> <span class="nv">decode</span><span class="p">:</span> <span class="p">(</span><span class="kt">Data</span><span class="p">?)</span> <span class="o">-></span> <span class="kt">V</span><span class="p">)</span> <span class="o">=</span> <span class="p">{</span> <span class="nf">fatalError</span><span class="p">(</span><span class="s">"'coder' argument required (SR-13069 workaround)"</span><span class="p">)</span> <span class="p">}(),</span>
|
||
<span class="nv">customGetter</span><span class="p">:</span> <span class="p">((</span><span class="n">_</span> <span class="nv">object</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">field</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">>.</span><span class="kt">FieldProxy</span><span class="o"><</span><span class="kt">V</span><span class="o">></span><span class="p">)</span> <span class="o">-></span> <span class="kt">V</span><span class="p">)?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">customSetter</span><span class="p">:</span> <span class="p">((</span><span class="n">_</span> <span class="nv">object</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">field</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">>.</span><span class="kt">FieldProxy</span><span class="o"><</span><span class="kt">V</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">newValue</span><span class="p">:</span> <span class="kt">V</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Void</span><span class="p">)?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">affectedByKeyPaths</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">Set</span><span class="o"><</span><span class="kt"><a href="../../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a></span><span class="o">></span> <span class="o">=</span> <span class="p">[]</span>
|
||
<span class="p">)</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div>
|
||
<h4>Parameters</h4>
|
||
<table class="graybox">
|
||
<tbody>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>initial</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>the initial value for the property that is shared for all instances of this object. Note that this is evaluated during <code><a href="../../Classes/DataStack.html">DataStack</a></code> setup, not during object creation. To assign a value during object creation, use the <code>dynamicInitialValue</code> argument instead.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>keyPath</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>the permanent attribute name for this property.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>versionHashModifier</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>used to mark or denote a property as being a different “version” than another even if all of the values which affect persistence are equal. (Such a difference is important in cases where the properties are unchanged but the format or content of its data are changed.)</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>previousVersionKeyPath</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>used to resolve naming conflicts between models. When creating an entity mapping between entities in two managed object models, a source entity property’s <code>keyPath</code> with a matching destination entity property’s <code>previousVersionKeyPath</code> indicate that a property mapping should be configured to migrate from the source to the destination. If unset, the identifier will be the property’s <code>keyPath</code>.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>coder</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>The closures to be used for encoding and decoding the value</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>customGetter</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>use this closure as an “override” for the default property getter. The closure receives a <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, which acts as a type-safe proxy for the receiver. When accessing the property value from <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, make sure to use <code>field.primitiveValue</code> instead of <code>field.value</code>, which would unintentionally execute the same closure again recursively. Do not make assumptions on the thread/queue that the closure is executed on; accessors may be called from <code>NSError</code> logs for example.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>customSetter</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>use this closure as an “override” for the default property setter. The closure receives a <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></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’ static typing, and so loading those info everytime KVO invokes this accessor method incurs a cumulative 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><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, make sure to use <code>field.primitiveValue</code> instead of <code>field.value</code>, which would unintentionally execute the same closure again recursively.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>affectedByKeyPaths</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>a set of key paths for properties whose values affect the value of the receiver. This is similar to <code>NSManagedObject.keyPathsForValuesAffectingValue(forKey:)</code>.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</li>
|
||
<li class="item">
|
||
<div>
|
||
<code>
|
||
<a name="/s:9CoreStore14FieldContainerO5CodedV_19versionHashModifier22previousVersionKeyPath5coder12customGetter0N6Setter010affectedByK5Paths19dynamicInitialValueAEyx_qd__GSS_SSSgyXAANyXA10Foundation4DataVSgqd__c6encode_qd__ARc6decodetqd__AA11ObjectProxyVyxG_AV0C5ProxyVyx_qd__GtcSgyAW_AZqd__tcSgShySSGyXAqd__yctcfc"></a>
|
||
<a name="//apple_ref/swift/Method/init(_:versionHashModifier:previousVersionKeyPath:coder:customGetter:customSetter:affectedByKeyPaths:dynamicInitialValue:)" class="dashAnchor"></a>
|
||
<a class="token" href="#/s:9CoreStore14FieldContainerO5CodedV_19versionHashModifier22previousVersionKeyPath5coder12customGetter0N6Setter010affectedByK5Paths19dynamicInitialValueAEyx_qd__GSS_SSSgyXAANyXA10Foundation4DataVSgqd__c6encode_qd__ARc6decodetqd__AA11ObjectProxyVyxG_AV0C5ProxyVyx_qd__GtcSgyAW_AZqd__tcSgShySSGyXAqd__yctcfc">init(_:<wbr>versionHashModifier:<wbr>previousVersionKeyPath:<wbr>coder:<wbr>customGetter:<wbr>customSetter:<wbr>affectedByKeyPaths:<wbr>dynamicInitialValue:<wbr>)</a>
|
||
</code>
|
||
</div>
|
||
<div class="height-container">
|
||
<div class="pointer-container"></div>
|
||
<section class="section">
|
||
<div class="pointer"></div>
|
||
<div class="abstract">
|
||
<p>Initializes the metadata for the property.</p>
|
||
<pre class="highlight swift"><code><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="kd">@Field</span><span class="o">.</span><span class="kt">Coded</span><span class="p">(</span>
|
||
<span class="s">"bloodType"</span><span class="p">,</span>
|
||
<span class="nv">coder</span><span class="p">:</span> <span class="p">{</span>
|
||
<span class="nv">encode</span><span class="p">:</span> <span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="nf">toData</span><span class="p">()</span> <span class="p">},</span>
|
||
<span class="nv">decode</span><span class="p">:</span> <span class="p">{</span> <span class="kt">BloodType</span><span class="p">(</span><span class="nv">fromData</span><span class="p">:</span> <span class="nv">$0</span><span class="p">)</span> <span class="p">}</span>
|
||
<span class="p">},</span>
|
||
<span class="nv">dynamicInitialValue</span><span class="p">:</span> <span class="p">{</span> <span class="kt">BloodType</span><span class="o">.</span><span class="nf">random</span><span class="p">()</span> <span class="p">}</span>
|
||
<span class="p">)</span>
|
||
<span class="k">var</span> <span class="nv">bloodType</span><span class="p">:</span> <span class="kt">BloodType</span>
|
||
<span class="p">}</span>
|
||
</code></pre>
|
||
<div class="aside aside-important">
|
||
<p class="aside-title">Important</p>
|
||
Any changes in the encoder/decoder are not reflected in the VersionLock, so make sure that the encoder and decoder logic is compatible for all versions of your persistent store.
|
||
|
||
</div>
|
||
|
||
</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="nf">init</span><span class="p">(</span>
|
||
<span class="n">_</span> <span class="nv">keyPath</span><span class="p">:</span> <span class="kt"><a href="../../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a></span><span class="p">,</span>
|
||
<span class="nv">versionHashModifier</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">previousVersionKeyPath</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">coder</span><span class="p">:</span> <span class="p">(</span><span class="nv">encode</span><span class="p">:</span> <span class="p">(</span><span class="kt">V</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Data</span><span class="p">?,</span> <span class="nv">decode</span><span class="p">:</span> <span class="p">(</span><span class="kt">Data</span><span class="p">?)</span> <span class="o">-></span> <span class="kt">V</span><span class="p">),</span>
|
||
<span class="nv">customGetter</span><span class="p">:</span> <span class="p">((</span><span class="n">_</span> <span class="nv">object</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">field</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">>.</span><span class="kt">FieldProxy</span><span class="o"><</span><span class="kt">V</span><span class="o">></span><span class="p">)</span> <span class="o">-></span> <span class="kt">V</span><span class="p">)?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">customSetter</span><span class="p">:</span> <span class="p">((</span><span class="n">_</span> <span class="nv">object</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">field</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">>.</span><span class="kt">FieldProxy</span><span class="o"><</span><span class="kt">V</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">newValue</span><span class="p">:</span> <span class="kt">V</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Void</span><span class="p">)?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">affectedByKeyPaths</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">Set</span><span class="o"><</span><span class="kt"><a href="../../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a></span><span class="o">></span> <span class="o">=</span> <span class="p">[],</span>
|
||
<span class="nv">dynamicInitialValue</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">V</span>
|
||
<span class="p">)</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div>
|
||
<h4>Parameters</h4>
|
||
<table class="graybox">
|
||
<tbody>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>keyPath</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>the permanent attribute name for this property.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>versionHashModifier</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>used to mark or denote a property as being a different “version” than another even if all of the values which affect persistence are equal. (Such a difference is important in cases where the properties are unchanged but the format or content of its data are changed.)</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>previousVersionKeyPath</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>used to resolve naming conflicts between models. When creating an entity mapping between entities in two managed object models, a source entity property’s <code>keyPath</code> with a matching destination entity property’s <code>previousVersionKeyPath</code> indicate that a property mapping should be configured to migrate from the source to the destination. If unset, the identifier will be the property’s <code>keyPath</code>.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>coder</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>The closures to be used for encoding and decoding the value</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>customGetter</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>use this closure as an “override” for the default property getter. The closure receives a <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, which acts as a type-safe proxy for the receiver. When accessing the property value from <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, make sure to use <code>field.primitiveValue</code> instead of <code>field.value</code>, which would unintentionally execute the same closure again recursively. Do not make assumptions on the thread/queue that the closure is executed on; accessors may be called from <code>NSError</code> logs for example.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>customSetter</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>use this closure as an “override” for the default property setter. The closure receives a <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></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’ static typing, and so loading those info everytime KVO invokes this accessor method incurs a cumulative 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><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, make sure to use <code>field.primitiveValue</code> instead of <code>field.value</code>, which would unintentionally execute the same closure again recursively.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>affectedByKeyPaths</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>a set of key paths for properties whose values affect the value of the receiver. This is similar to <code>NSManagedObject.keyPathsForValuesAffectingValue(forKey:)</code>.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>dynamicInitialValue</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>the initial value for the property when the object is first created.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="task-group">
|
||
<div class="task-name-container">
|
||
<a name="/AnyKeyPathStringConvertible"></a>
|
||
<a name="//apple_ref/swift/Section/AnyKeyPathStringConvertible" class="dashAnchor"></a>
|
||
<div class="section-name-container">
|
||
<a class="section-name-link" href="#/AnyKeyPathStringConvertible"></a>
|
||
<h3 class="section-name"><span>AnyKeyPathStringConvertible</span>
|
||
</h3>
|
||
</div>
|
||
</div>
|
||
<ul class="item-container">
|
||
<li class="item">
|
||
<div>
|
||
<code>
|
||
<a name="/s:9CoreStore27AnyKeyPathStringConvertibleP06cs_keyeF0SSvp"></a>
|
||
<a name="//apple_ref/swift/Property/cs_keyPathString" class="dashAnchor"></a>
|
||
<a class="token" href="#/s:9CoreStore27AnyKeyPathStringConvertibleP06cs_keyeF0SSvp">cs_keyPathString</a>
|
||
</code>
|
||
</div>
|
||
<div class="height-container">
|
||
<div class="pointer-container"></div>
|
||
<section class="section">
|
||
<div class="pointer"></div>
|
||
<div class="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">public</span> <span class="k">var</span> <span class="nv">cs_keyPathString</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>
|
||
</ul>
|
||
</div>
|
||
<div class="task-group">
|
||
<div class="task-name-container">
|
||
<a name="/KeyPathStringConvertible"></a>
|
||
<a name="//apple_ref/swift/Section/KeyPathStringConvertible" class="dashAnchor"></a>
|
||
<div class="section-name-container">
|
||
<a class="section-name-link" href="#/KeyPathStringConvertible"></a>
|
||
<h3 class="section-name"><span>KeyPathStringConvertible</span>
|
||
</h3>
|
||
</div>
|
||
</div>
|
||
<ul class="item-container">
|
||
<li class="item">
|
||
<div>
|
||
<code>
|
||
<a name="/s:9CoreStore24KeyPathStringConvertibleP10ObjectTypeQa"></a>
|
||
<a name="//apple_ref/swift/Alias/ObjectType" class="dashAnchor"></a>
|
||
<a class="token" href="#/s:9CoreStore24KeyPathStringConvertibleP10ObjectTypeQa">ObjectType</a>
|
||
</code>
|
||
</div>
|
||
<div class="height-container">
|
||
<div class="pointer-container"></div>
|
||
<section class="section">
|
||
<div class="pointer"></div>
|
||
<div class="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">public</span> <span class="kd">typealias</span> <span class="kt">ObjectType</span> <span class="o">=</span> <span class="kt">O</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</li>
|
||
<li class="item">
|
||
<div>
|
||
<code>
|
||
<a name="/s:9CoreStore24KeyPathStringConvertibleP20DestinationValueTypeQa"></a>
|
||
<a name="//apple_ref/swift/Alias/DestinationValueType" class="dashAnchor"></a>
|
||
<a class="token" href="#/s:9CoreStore24KeyPathStringConvertibleP20DestinationValueTypeQa">DestinationValueType</a>
|
||
</code>
|
||
</div>
|
||
<div class="height-container">
|
||
<div class="pointer-container"></div>
|
||
<section class="section">
|
||
<div class="pointer"></div>
|
||
<div class="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">public</span> <span class="kd">typealias</span> <span class="kt">DestinationValueType</span> <span class="o">=</span> <span class="kt">V</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="task-group">
|
||
<div class="task-name-container">
|
||
<a name="/AttributeKeyPathStringConvertible"></a>
|
||
<a name="//apple_ref/swift/Section/AttributeKeyPathStringConvertible" class="dashAnchor"></a>
|
||
<div class="section-name-container">
|
||
<a class="section-name-link" href="#/AttributeKeyPathStringConvertible"></a>
|
||
<h3 class="section-name"><span>AttributeKeyPathStringConvertible</span>
|
||
</h3>
|
||
</div>
|
||
</div>
|
||
<ul class="item-container">
|
||
<li class="item">
|
||
<div>
|
||
<code>
|
||
<a name="/s:9CoreStore33AttributeKeyPathStringConvertibleP15ReturnValueTypeQa"></a>
|
||
<a name="//apple_ref/swift/Alias/ReturnValueType" class="dashAnchor"></a>
|
||
<a class="token" href="#/s:9CoreStore33AttributeKeyPathStringConvertibleP15ReturnValueTypeQa">ReturnValueType</a>
|
||
</code>
|
||
</div>
|
||
<div class="height-container">
|
||
<div class="pointer-container"></div>
|
||
<section class="section">
|
||
<div class="pointer"></div>
|
||
<div class="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">public</span> <span class="kd">typealias</span> <span class="kt">ReturnValueType</span> <span class="o">=</span> <span class="kt"><a href="../../Enums/FieldContainer/Coded.html#/s:9CoreStore24KeyPathStringConvertibleP20DestinationValueTypeQa">DestinationValueType</a></span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="task-group">
|
||
<div class="task-name-container">
|
||
<a name="/Available%20where%20%60V%60%3A%20%60FieldOptionalType%60"></a>
|
||
<a name="//apple_ref/swift/Section/Available where `V`: `FieldOptionalType`" class="dashAnchor"></a>
|
||
<div class="section-name-container">
|
||
<a class="section-name-link" href="#/Available%20where%20%60V%60%3A%20%60FieldOptionalType%60"></a>
|
||
<h3 class="section-name"><span>Available where <code>V</code>: <code><a href="../../Protocols/FieldOptionalType.html">FieldOptionalType</a></code></span>
|
||
</h3>
|
||
</div>
|
||
</div>
|
||
<ul class="item-container">
|
||
<li class="item">
|
||
<div>
|
||
<code>
|
||
<a name="/s:9CoreStore14FieldContainerO5CodedVA2A0C12OptionalTypeRd__rlE12wrappedValue_19versionHashModifier22previousVersionKeyPath5coder12customGetter0R6Setter010affectedByO5PathsAEyx_qd__Gqd__yXA_S2SSgyXAAOyXAqd0__mqd__AA11ObjectProxyVyxG_AQ0cY0Vyx_qd__GtcSgyAR_AUqd__tcSgShySSGyXAtcAA0c5CoderG0Rd0__0c6StoredI0Qyd0__7WrappedRtd__lufc"></a>
|
||
<a name="//apple_ref/swift/Method/init(wrappedValue:_:versionHashModifier:previousVersionKeyPath:coder:customGetter:customSetter:affectedByKeyPaths:)" class="dashAnchor"></a>
|
||
<a class="token" href="#/s:9CoreStore14FieldContainerO5CodedVA2A0C12OptionalTypeRd__rlE12wrappedValue_19versionHashModifier22previousVersionKeyPath5coder12customGetter0R6Setter010affectedByO5PathsAEyx_qd__Gqd__yXA_S2SSgyXAAOyXAqd0__mqd__AA11ObjectProxyVyxG_AQ0cY0Vyx_qd__GtcSgyAR_AUqd__tcSgShySSGyXAtcAA0c5CoderG0Rd0__0c6StoredI0Qyd0__7WrappedRtd__lufc">init(wrappedValue:<wbr>_:<wbr>versionHashModifier:<wbr>previousVersionKeyPath:<wbr>coder:<wbr>customGetter:<wbr>customSetter:<wbr>affectedByKeyPaths:<wbr>)</a>
|
||
</code>
|
||
</div>
|
||
<div class="height-container">
|
||
<div class="pointer-container"></div>
|
||
<section class="section">
|
||
<div class="pointer"></div>
|
||
<div class="abstract">
|
||
<p>Initializes the metadata for the property.</p>
|
||
<pre class="highlight swift"><code><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="kd">@Field</span><span class="o">.</span><span class="kt">Coded</span><span class="p">(</span><span class="s">"eyeColor"</span><span class="p">,</span> <span class="nv">coder</span><span class="p">:</span> <span class="kt">FieldCoders</span><span class="o">.</span><span class="kt">NSCoding</span><span class="o">.</span><span class="k">self</span><span class="p">)</span>
|
||
<span class="k">var</span> <span class="nv">eyeColor</span><span class="p">:</span> <span class="kt">UIColor</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span>
|
||
<span class="p">}</span>
|
||
</code></pre>
|
||
<div class="aside aside-important">
|
||
<p class="aside-title">Important</p>
|
||
Any changes in the <code>coder</code> are not reflected in the VersionLock, so make sure that the encoder and decoder logic is compatible for all versions of your persistent store.
|
||
|
||
</div>
|
||
|
||
</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">init</span><span class="o"><</span><span class="kt">Coder</span><span class="p">:</span> <span class="kt"><a href="../../Protocols/FieldCoderType.html">FieldCoderType</a></span><span class="o">></span><span class="p">(</span>
|
||
<span class="n">wrappedValue</span> <span class="nv">initial</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">V</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="n">_</span> <span class="nv">keyPath</span><span class="p">:</span> <span class="kt"><a href="../../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a></span> <span class="o">=</span> <span class="p">{</span> <span class="nf">fatalError</span><span class="p">(</span><span class="s">"'keyPath' argument required (SR-13069 workaround)"</span><span class="p">)</span> <span class="p">}(),</span>
|
||
<span class="nv">versionHashModifier</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">previousVersionKeyPath</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">coder</span><span class="p">:</span> <span class="kt">Coder</span><span class="o">.</span><span class="k">Type</span> <span class="o">=</span> <span class="p">{</span> <span class="nf">fatalError</span><span class="p">(</span><span class="s">"'coder' argument required (SR-13069 workaround)"</span><span class="p">)</span> <span class="p">}(),</span>
|
||
<span class="nv">customGetter</span><span class="p">:</span> <span class="p">((</span><span class="n">_</span> <span class="nv">object</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">field</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">>.</span><span class="kt">FieldProxy</span><span class="o"><</span><span class="kt">V</span><span class="o">></span><span class="p">)</span> <span class="o">-></span> <span class="kt">V</span><span class="p">)?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">customSetter</span><span class="p">:</span> <span class="p">((</span><span class="n">_</span> <span class="nv">object</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">field</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">>.</span><span class="kt">FieldProxy</span><span class="o"><</span><span class="kt">V</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">newValue</span><span class="p">:</span> <span class="kt">V</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Void</span><span class="p">)?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">affectedByKeyPaths</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">Set</span><span class="o"><</span><span class="kt"><a href="../../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a></span><span class="o">></span> <span class="o">=</span> <span class="p">[]</span>
|
||
<span class="p">)</span> <span class="k">where</span> <span class="kt">Coder</span><span class="o">.</span><span class="kt">FieldStoredValue</span> <span class="o">==</span> <span class="kt">V</span><span class="o">.</span><span class="kt">Wrapped</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div>
|
||
<h4>Parameters</h4>
|
||
<table class="graybox">
|
||
<tbody>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>initial</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>the initial value for the property that is shared for all instances of this object. Note that this is evaluated during <code><a href="../../Classes/DataStack.html">DataStack</a></code> setup, not during object creation. To assign a value during object creation, use the <code>dynamicInitialValue</code> argument instead.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>keyPath</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>the permanent attribute name for this property.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>versionHashModifier</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>used to mark or denote a property as being a different “version” than another even if all of the values which affect persistence are equal. (Such a difference is important in cases where the properties are unchanged but the format or content of its data are changed.)</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>previousVersionKeyPath</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>used to resolve naming conflicts between models. When creating an entity mapping between entities in two managed object models, a source entity property’s <code>keyPath</code> with a matching destination entity property’s <code>previousVersionKeyPath</code> indicate that a property mapping should be configured to migrate from the source to the destination. If unset, the identifier will be the property’s <code>keyPath</code>.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>coder</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>The <code><a href="../../Protocols/FieldCoderType.html">FieldCoderType</a></code> to be used for encoding and decoding the value</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>customGetter</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>use this closure as an “override” for the default property getter. The closure receives a <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, which acts as a type-safe proxy for the receiver. When accessing the property value from <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, make sure to use <code>field.primitiveValue</code> instead of <code>field.value</code>, which would unintentionally execute the same closure again recursively. Do not make assumptions on the thread/queue that the closure is executed on; accessors may be called from <code>NSError</code> logs for example.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>customSetter</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>use this closure as an “override” for the default property setter. The closure receives a <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></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’ static typing, and so loading those info everytime KVO invokes this accessor method incurs a cumulative 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><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, make sure to use <code>field.primitiveValue</code> instead of <code>field.value</code>, which would unintentionally execute the same closure again recursively.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>affectedByKeyPaths</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>a set of key paths for properties whose values affect the value of the receiver. This is similar to <code>NSManagedObject.keyPathsForValuesAffectingValue(forKey:)</code>.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</li>
|
||
<li class="item">
|
||
<div>
|
||
<code>
|
||
<a name="/s:9CoreStore14FieldContainerO5CodedVA2A0C12OptionalTypeRd__rlE_19versionHashModifier22previousVersionKeyPath5coder12customGetter0P6Setter010affectedByM5Paths19dynamicInitialValueAEyx_qd__GSS_SSSgyXAAOyXAqd0__mqd__AA11ObjectProxyVyxG_AQ0cZ0Vyx_qd__GtcSgyAR_AUqd__tcSgShySSGyXAqd__yctcAA0c5CoderG0Rd0__0c6StoredX0Qyd0__7WrappedRtd__lufc"></a>
|
||
<a name="//apple_ref/swift/Method/init(_:versionHashModifier:previousVersionKeyPath:coder:customGetter:customSetter:affectedByKeyPaths:dynamicInitialValue:)" class="dashAnchor"></a>
|
||
<a class="token" href="#/s:9CoreStore14FieldContainerO5CodedVA2A0C12OptionalTypeRd__rlE_19versionHashModifier22previousVersionKeyPath5coder12customGetter0P6Setter010affectedByM5Paths19dynamicInitialValueAEyx_qd__GSS_SSSgyXAAOyXAqd0__mqd__AA11ObjectProxyVyxG_AQ0cZ0Vyx_qd__GtcSgyAR_AUqd__tcSgShySSGyXAqd__yctcAA0c5CoderG0Rd0__0c6StoredX0Qyd0__7WrappedRtd__lufc">init(_:<wbr>versionHashModifier:<wbr>previousVersionKeyPath:<wbr>coder:<wbr>customGetter:<wbr>customSetter:<wbr>affectedByKeyPaths:<wbr>dynamicInitialValue:<wbr>)</a>
|
||
</code>
|
||
</div>
|
||
<div class="height-container">
|
||
<div class="pointer-container"></div>
|
||
<section class="section">
|
||
<div class="pointer"></div>
|
||
<div class="abstract">
|
||
<p>Initializes the metadata for the property.</p>
|
||
<pre class="highlight swift"><code><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="kd">@Field</span><span class="o">.</span><span class="kt">Coded</span><span class="p">(</span><span class="s">"eyeColor"</span><span class="p">,</span> <span class="nv">coder</span><span class="p">:</span> <span class="kt">FieldCoders</span><span class="o">.</span><span class="kt">NSCoding</span><span class="o">.</span><span class="k">self</span><span class="p">,</span> <span class="nv">dynamicInitialValue</span><span class="p">:</span> <span class="p">{</span> <span class="kt">UIColor</span><span class="o">.</span><span class="nf">random</span><span class="p">()</span> <span class="p">})</span>
|
||
<span class="k">var</span> <span class="nv">eyeColor</span><span class="p">:</span> <span class="kt">UIColor</span><span class="p">?</span>
|
||
<span class="p">}</span>
|
||
</code></pre>
|
||
<div class="aside aside-important">
|
||
<p class="aside-title">Important</p>
|
||
Any changes in the <code>coder</code> are not reflected in the VersionLock, so make sure that the encoder and decoder logic is compatible for all versions of your persistent store.
|
||
|
||
</div>
|
||
|
||
</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">init</span><span class="o"><</span><span class="kt">Coder</span><span class="p">:</span> <span class="kt"><a href="../../Protocols/FieldCoderType.html">FieldCoderType</a></span><span class="o">></span><span class="p">(</span>
|
||
<span class="n">_</span> <span class="nv">keyPath</span><span class="p">:</span> <span class="kt"><a href="../../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a></span><span class="p">,</span>
|
||
<span class="nv">versionHashModifier</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">previousVersionKeyPath</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">coder</span><span class="p">:</span> <span class="kt">Coder</span><span class="o">.</span><span class="k">Type</span><span class="p">,</span>
|
||
<span class="nv">customGetter</span><span class="p">:</span> <span class="p">((</span><span class="n">_</span> <span class="nv">object</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">field</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">>.</span><span class="kt">FieldProxy</span><span class="o"><</span><span class="kt">V</span><span class="o">></span><span class="p">)</span> <span class="o">-></span> <span class="kt">V</span><span class="p">)?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">customSetter</span><span class="p">:</span> <span class="p">((</span><span class="n">_</span> <span class="nv">object</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">field</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">>.</span><span class="kt">FieldProxy</span><span class="o"><</span><span class="kt">V</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">newValue</span><span class="p">:</span> <span class="kt">V</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Void</span><span class="p">)?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">affectedByKeyPaths</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">Set</span><span class="o"><</span><span class="kt"><a href="../../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a></span><span class="o">></span> <span class="o">=</span> <span class="p">[],</span>
|
||
<span class="nv">dynamicInitialValue</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">V</span>
|
||
<span class="p">)</span> <span class="k">where</span> <span class="kt">Coder</span><span class="o">.</span><span class="kt">FieldStoredValue</span> <span class="o">==</span> <span class="kt">V</span><span class="o">.</span><span class="kt">Wrapped</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div>
|
||
<h4>Parameters</h4>
|
||
<table class="graybox">
|
||
<tbody>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>keyPath</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>the permanent attribute name for this property.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>versionHashModifier</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>used to mark or denote a property as being a different “version” than another even if all of the values which affect persistence are equal. (Such a difference is important in cases where the properties are unchanged but the format or content of its data are changed.)</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>previousVersionKeyPath</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>used to resolve naming conflicts between models. When creating an entity mapping between entities in two managed object models, a source entity property’s <code>keyPath</code> with a matching destination entity property’s <code>previousVersionKeyPath</code> indicate that a property mapping should be configured to migrate from the source to the destination. If unset, the identifier will be the property’s <code>keyPath</code>.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>coder</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>The <code><a href="../../Protocols/FieldCoderType.html">FieldCoderType</a></code> to be used for encoding and decoding the value</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>customGetter</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>use this closure as an “override” for the default property getter. The closure receives a <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, which acts as a type-safe proxy for the receiver. When accessing the property value from <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, make sure to use <code>field.primitiveValue</code> instead of <code>field.value</code>, which would unintentionally execute the same closure again recursively. Do not make assumptions on the thread/queue that the closure is executed on; accessors may be called from <code>NSError</code> logs for example.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>customSetter</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>use this closure as an “override” for the default property setter. The closure receives a <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></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’ static typing, and so loading those info everytime KVO invokes this accessor method incurs a cumulative 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><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, make sure to use <code>field.primitiveValue</code> instead of <code>field.value</code>, which would unintentionally execute the same closure again recursively.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>affectedByKeyPaths</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>a set of key paths for properties whose values affect the value of the receiver. This is similar to <code>NSManagedObject.keyPathsForValuesAffectingValue(forKey:)</code>.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>dynamicInitialValue</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>the initial value for the property when the object is first created.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</li>
|
||
<li class="item">
|
||
<div>
|
||
<code>
|
||
<a name="/s:9CoreStore14FieldContainerO5CodedVA2A0C12OptionalTypeRd__rlE12wrappedValue_19versionHashModifier22previousVersionKeyPath5coder12customGetter0R6Setter010affectedByO5PathsAEyx_qd__Gqd__yXA_S2SSgyXAAOyXA10Foundation4DataVSgqd__c6encode_qd__ASc6decodetqd__AA11ObjectProxyVyxG_AW0C5ProxyVyx_qd__GtcSgyAX_A_qd__tcSgShySSGyXAtcfc"></a>
|
||
<a name="//apple_ref/swift/Method/init(wrappedValue:_:versionHashModifier:previousVersionKeyPath:coder:customGetter:customSetter:affectedByKeyPaths:)" class="dashAnchor"></a>
|
||
<a class="token" href="#/s:9CoreStore14FieldContainerO5CodedVA2A0C12OptionalTypeRd__rlE12wrappedValue_19versionHashModifier22previousVersionKeyPath5coder12customGetter0R6Setter010affectedByO5PathsAEyx_qd__Gqd__yXA_S2SSgyXAAOyXA10Foundation4DataVSgqd__c6encode_qd__ASc6decodetqd__AA11ObjectProxyVyxG_AW0C5ProxyVyx_qd__GtcSgyAX_A_qd__tcSgShySSGyXAtcfc">init(wrappedValue:<wbr>_:<wbr>versionHashModifier:<wbr>previousVersionKeyPath:<wbr>coder:<wbr>customGetter:<wbr>customSetter:<wbr>affectedByKeyPaths:<wbr>)</a>
|
||
</code>
|
||
</div>
|
||
<div class="height-container">
|
||
<div class="pointer-container"></div>
|
||
<section class="section">
|
||
<div class="pointer"></div>
|
||
<div class="abstract">
|
||
<p>Initializes the metadata for the property.</p>
|
||
<pre class="highlight swift"><code><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="kd">@Field</span><span class="o">.</span><span class="kt">Coded</span><span class="p">(</span>
|
||
<span class="s">"bloodType"</span><span class="p">,</span>
|
||
<span class="nv">coder</span><span class="p">:</span> <span class="p">{</span>
|
||
<span class="nv">encode</span><span class="p">:</span> <span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="nf">toData</span><span class="p">()</span> <span class="p">},</span>
|
||
<span class="nv">decode</span><span class="p">:</span> <span class="p">{</span> <span class="kt">BloodType</span><span class="p">(</span><span class="nv">fromData</span><span class="p">:</span> <span class="nv">$0</span><span class="p">)</span> <span class="p">}</span>
|
||
<span class="p">}</span>
|
||
<span class="p">)</span>
|
||
<span class="k">var</span> <span class="nv">bloodType</span><span class="p">:</span> <span class="kt">BloodType</span><span class="p">?</span>
|
||
<span class="p">}</span>
|
||
</code></pre>
|
||
<div class="aside aside-important">
|
||
<p class="aside-title">Important</p>
|
||
Any changes in the encoder/decoder are not reflected in the VersionLock, so make sure that the encoder and decoder logic is compatible for all versions of your persistent store.
|
||
|
||
</div>
|
||
|
||
</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="nf">init</span><span class="p">(</span>
|
||
<span class="n">wrappedValue</span> <span class="nv">initial</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">V</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="n">_</span> <span class="nv">keyPath</span><span class="p">:</span> <span class="kt"><a href="../../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a></span> <span class="o">=</span> <span class="p">{</span> <span class="nf">fatalError</span><span class="p">(</span><span class="s">"'keyPath' argument required (SR-13069 workaround)"</span><span class="p">)</span> <span class="p">}(),</span>
|
||
<span class="nv">versionHashModifier</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">previousVersionKeyPath</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">coder</span><span class="p">:</span> <span class="p">(</span><span class="nv">encode</span><span class="p">:</span> <span class="p">(</span><span class="kt">V</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Data</span><span class="p">?,</span> <span class="nv">decode</span><span class="p">:</span> <span class="p">(</span><span class="kt">Data</span><span class="p">?)</span> <span class="o">-></span> <span class="kt">V</span><span class="p">)</span> <span class="o">=</span> <span class="p">{</span> <span class="nf">fatalError</span><span class="p">(</span><span class="s">"'coder' argument required (SR-13069 workaround)"</span><span class="p">)</span> <span class="p">}(),</span>
|
||
<span class="nv">customGetter</span><span class="p">:</span> <span class="p">((</span><span class="n">_</span> <span class="nv">object</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">field</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">>.</span><span class="kt">FieldProxy</span><span class="o"><</span><span class="kt">V</span><span class="o">></span><span class="p">)</span> <span class="o">-></span> <span class="kt">V</span><span class="p">)?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">customSetter</span><span class="p">:</span> <span class="p">((</span><span class="n">_</span> <span class="nv">object</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">field</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">>.</span><span class="kt">FieldProxy</span><span class="o"><</span><span class="kt">V</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">newValue</span><span class="p">:</span> <span class="kt">V</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Void</span><span class="p">)?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">affectedByKeyPaths</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">Set</span><span class="o"><</span><span class="kt"><a href="../../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a></span><span class="o">></span> <span class="o">=</span> <span class="p">[]</span>
|
||
<span class="p">)</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div>
|
||
<h4>Parameters</h4>
|
||
<table class="graybox">
|
||
<tbody>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>initial</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>the initial value for the property that is shared for all instances of this object. Note that this is evaluated during <code><a href="../../Classes/DataStack.html">DataStack</a></code> setup, not during object creation. To assign a value during object creation, use the <code>dynamicInitialValue</code> argument instead.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>keyPath</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>the permanent attribute name for this property.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>versionHashModifier</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>used to mark or denote a property as being a different “version” than another even if all of the values which affect persistence are equal. (Such a difference is important in cases where the properties are unchanged but the format or content of its data are changed.)</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>previousVersionKeyPath</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>used to resolve naming conflicts between models. When creating an entity mapping between entities in two managed object models, a source entity property’s <code>keyPath</code> with a matching destination entity property’s <code>previousVersionKeyPath</code> indicate that a property mapping should be configured to migrate from the source to the destination. If unset, the identifier will be the property’s <code>keyPath</code>.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>coder</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>The closures to be used for encoding and decoding the value</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>customGetter</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>use this closure as an “override” for the default property getter. The closure receives a <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, which acts as a type-safe proxy for the receiver. When accessing the property value from <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, make sure to use <code>field.primitiveValue</code> instead of <code>field.value</code>, which would unintentionally execute the same closure again recursively. Do not make assumptions on the thread/queue that the closure is executed on; accessors may be called from <code>NSError</code> logs for example.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>customSetter</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>use this closure as an “override” for the default property setter. The closure receives a <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></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’ static typing, and so loading those info everytime KVO invokes this accessor method incurs a cumulative 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><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, make sure to use <code>field.primitiveValue</code> instead of <code>field.value</code>, which would unintentionally execute the same closure again recursively.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>affectedByKeyPaths</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>a set of key paths for properties whose values affect the value of the receiver. This is similar to <code>NSManagedObject.keyPathsForValuesAffectingValue(forKey:)</code>.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</li>
|
||
<li class="item">
|
||
<div>
|
||
<code>
|
||
<a name="/s:9CoreStore14FieldContainerO5CodedVA2A0C12OptionalTypeRd__rlE_19versionHashModifier22previousVersionKeyPath5coder12customGetter0P6Setter010affectedByM5Paths19dynamicInitialValueAEyx_qd__GSS_SSSgyXAAOyXA10Foundation4DataVSgqd__c6encode_qd__ASc6decodetqd__AA11ObjectProxyVyxG_AW0C5ProxyVyx_qd__GtcSgyAX_A_qd__tcSgShySSGyXAqd__yctcfc"></a>
|
||
<a name="//apple_ref/swift/Method/init(_:versionHashModifier:previousVersionKeyPath:coder:customGetter:customSetter:affectedByKeyPaths:dynamicInitialValue:)" class="dashAnchor"></a>
|
||
<a class="token" href="#/s:9CoreStore14FieldContainerO5CodedVA2A0C12OptionalTypeRd__rlE_19versionHashModifier22previousVersionKeyPath5coder12customGetter0P6Setter010affectedByM5Paths19dynamicInitialValueAEyx_qd__GSS_SSSgyXAAOyXA10Foundation4DataVSgqd__c6encode_qd__ASc6decodetqd__AA11ObjectProxyVyxG_AW0C5ProxyVyx_qd__GtcSgyAX_A_qd__tcSgShySSGyXAqd__yctcfc">init(_:<wbr>versionHashModifier:<wbr>previousVersionKeyPath:<wbr>coder:<wbr>customGetter:<wbr>customSetter:<wbr>affectedByKeyPaths:<wbr>dynamicInitialValue:<wbr>)</a>
|
||
</code>
|
||
</div>
|
||
<div class="height-container">
|
||
<div class="pointer-container"></div>
|
||
<section class="section">
|
||
<div class="pointer"></div>
|
||
<div class="abstract">
|
||
<p>Initializes the metadata for the property.</p>
|
||
<pre class="highlight swift"><code><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="kd">@Field</span><span class="o">.</span><span class="kt">Coded</span><span class="p">(</span>
|
||
<span class="s">"bloodType"</span><span class="p">,</span>
|
||
<span class="nv">coder</span><span class="p">:</span> <span class="p">{</span>
|
||
<span class="nv">encode</span><span class="p">:</span> <span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="nf">toData</span><span class="p">()</span> <span class="p">},</span>
|
||
<span class="nv">decode</span><span class="p">:</span> <span class="p">{</span> <span class="kt">BloodType</span><span class="p">(</span><span class="nv">fromData</span><span class="p">:</span> <span class="nv">$0</span><span class="p">)</span> <span class="p">}</span>
|
||
<span class="p">},</span>
|
||
<span class="nv">dynamicInitialValue</span><span class="p">:</span> <span class="p">{</span> <span class="kt">BloodType</span><span class="o">.</span><span class="nf">random</span><span class="p">()</span> <span class="p">}</span>
|
||
<span class="p">)</span>
|
||
<span class="k">var</span> <span class="nv">bloodType</span><span class="p">:</span> <span class="kt">BloodType</span><span class="p">?</span>
|
||
<span class="p">}</span>
|
||
</code></pre>
|
||
<div class="aside aside-important">
|
||
<p class="aside-title">Important</p>
|
||
Any changes in the encoder/decoder are not reflected in the VersionLock, so make sure that the encoder and decoder logic is compatible for all versions of your persistent store.
|
||
|
||
</div>
|
||
|
||
</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="nf">init</span><span class="p">(</span>
|
||
<span class="n">_</span> <span class="nv">keyPath</span><span class="p">:</span> <span class="kt"><a href="../../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a></span><span class="p">,</span>
|
||
<span class="nv">versionHashModifier</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">previousVersionKeyPath</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">coder</span><span class="p">:</span> <span class="p">(</span><span class="nv">encode</span><span class="p">:</span> <span class="p">(</span><span class="kt">V</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Data</span><span class="p">?,</span> <span class="nv">decode</span><span class="p">:</span> <span class="p">(</span><span class="kt">Data</span><span class="p">?)</span> <span class="o">-></span> <span class="kt">V</span><span class="p">),</span>
|
||
<span class="nv">customGetter</span><span class="p">:</span> <span class="p">((</span><span class="n">_</span> <span class="nv">object</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">field</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">>.</span><span class="kt">FieldProxy</span><span class="o"><</span><span class="kt">V</span><span class="o">></span><span class="p">)</span> <span class="o">-></span> <span class="kt">V</span><span class="p">)?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">customSetter</span><span class="p">:</span> <span class="p">((</span><span class="n">_</span> <span class="nv">object</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">field</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">>.</span><span class="kt">FieldProxy</span><span class="o"><</span><span class="kt">V</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">newValue</span><span class="p">:</span> <span class="kt">V</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Void</span><span class="p">)?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">affectedByKeyPaths</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">Set</span><span class="o"><</span><span class="kt"><a href="../../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a></span><span class="o">></span> <span class="o">=</span> <span class="p">[],</span>
|
||
<span class="nv">dynamicInitialValue</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">V</span>
|
||
<span class="p">)</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div>
|
||
<h4>Parameters</h4>
|
||
<table class="graybox">
|
||
<tbody>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>keyPath</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>the permanent attribute name for this property.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>versionHashModifier</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>used to mark or denote a property as being a different “version” than another even if all of the values which affect persistence are equal. (Such a difference is important in cases where the properties are unchanged but the format or content of its data are changed.)</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>previousVersionKeyPath</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>used to resolve naming conflicts between models. When creating an entity mapping between entities in two managed object models, a source entity property’s <code>keyPath</code> with a matching destination entity property’s <code>previousVersionKeyPath</code> indicate that a property mapping should be configured to migrate from the source to the destination. If unset, the identifier will be the property’s <code>keyPath</code>.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>coder</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>The closures to be used for encoding and decoding the value</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>customGetter</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>use this closure as an “override” for the default property getter. The closure receives a <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, which acts as a type-safe proxy for the receiver. When accessing the property value from <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, make sure to use <code>field.primitiveValue</code> instead of <code>field.value</code>, which would unintentionally execute the same closure again recursively. Do not make assumptions on the thread/queue that the closure is executed on; accessors may be called from <code>NSError</code> logs for example.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>customSetter</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>use this closure as an “override” for the default property setter. The closure receives a <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></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’ static typing, and so loading those info everytime KVO invokes this accessor method incurs a cumulative 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><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, make sure to use <code>field.primitiveValue</code> instead of <code>field.value</code>, which would unintentionally execute the same closure again recursively.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>affectedByKeyPaths</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>a set of key paths for properties whose values affect the value of the receiver. This is similar to <code>NSManagedObject.keyPathsForValuesAffectingValue(forKey:)</code>.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>dynamicInitialValue</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>the initial value for the property when the object is first created.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="task-group">
|
||
<div class="task-name-container">
|
||
<a name="/Available%20where%20%60V%60%3A%20%60DefaultNSSecureCodable%60"></a>
|
||
<a name="//apple_ref/swift/Section/Available where `V`: `DefaultNSSecureCodable`" class="dashAnchor"></a>
|
||
<div class="section-name-container">
|
||
<a class="section-name-link" href="#/Available%20where%20%60V%60%3A%20%60DefaultNSSecureCodable%60"></a>
|
||
<h3 class="section-name"><span>Available where <code>V</code>: <code><a href="../../Protocols.html#/s:9CoreStore22DefaultNSSecureCodableP">DefaultNSSecureCodable</a></code></span>
|
||
</h3>
|
||
</div>
|
||
</div>
|
||
<ul class="item-container">
|
||
<li class="item">
|
||
<div>
|
||
<code>
|
||
<a name="/s:9CoreStore14FieldContainerO5CodedVA2A22DefaultNSSecureCodableRd__rlE12wrappedValue_19versionHashModifier22previousVersionKeyPath12customGetter0R6Setter010affectedByP5PathsAEyx_qd__Gqd__yXA_S2SSgyXAANyXAqd__AA11ObjectProxyVyxG_AP0cY0Vyx_qd__GtcSgyAQ_ATqd__tcSgShySSGyXAtcfc"></a>
|
||
<a name="//apple_ref/swift/Method/init(wrappedValue:_:versionHashModifier:previousVersionKeyPath:customGetter:customSetter:affectedByKeyPaths:)" class="dashAnchor"></a>
|
||
<a class="token" href="#/s:9CoreStore14FieldContainerO5CodedVA2A22DefaultNSSecureCodableRd__rlE12wrappedValue_19versionHashModifier22previousVersionKeyPath12customGetter0R6Setter010affectedByP5PathsAEyx_qd__Gqd__yXA_S2SSgyXAANyXAqd__AA11ObjectProxyVyxG_AP0cY0Vyx_qd__GtcSgyAQ_ATqd__tcSgShySSGyXAtcfc">init(wrappedValue:<wbr>_:<wbr>versionHashModifier:<wbr>previousVersionKeyPath:<wbr>customGetter:<wbr>customSetter:<wbr>affectedByKeyPaths:<wbr>)</a>
|
||
</code>
|
||
</div>
|
||
<div class="height-container">
|
||
<div class="pointer-container"></div>
|
||
<section class="section">
|
||
<div class="pointer"></div>
|
||
<div class="abstract">
|
||
<p>Initializes the metadata for the property. This overload is for types supported by Core Data’s default NSSecureCodable implementation: <code>NSArray</code>, <code>NSDictionary</code>, <code>NSSet</code>, <code>NSString</code>, <code>NSNumber</code>, <code>NSDate</code>, <code>NSData</code>, <code>NSURL</code>, <code>NSUUID</code>, and <code>NSNull</code>.</p>
|
||
<pre class="highlight swift"><code><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="kd">@Field</span><span class="o">.</span><span class="kt">Coded</span><span class="p">(</span><span class="s">"customInfo"</span><span class="p">)</span>
|
||
<span class="k">var</span> <span class="nv">customInfo</span><span class="p">:</span> <span class="kt">NSDictionary</span> <span class="o">=</span> <span class="p">[:]</span>
|
||
<span class="p">}</span>
|
||
</code></pre>
|
||
|
||
</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="nf">init</span><span class="p">(</span>
|
||
<span class="n">wrappedValue</span> <span class="nv">initial</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">V</span><span class="p">,</span>
|
||
<span class="n">_</span> <span class="nv">keyPath</span><span class="p">:</span> <span class="kt"><a href="../../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a></span> <span class="o">=</span> <span class="p">{</span> <span class="nf">fatalError</span><span class="p">(</span><span class="s">"'keyPath' argument required (SR-13069 workaround)"</span><span class="p">)</span> <span class="p">}(),</span>
|
||
<span class="nv">versionHashModifier</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">previousVersionKeyPath</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">customGetter</span><span class="p">:</span> <span class="p">((</span><span class="n">_</span> <span class="nv">object</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">field</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">>.</span><span class="kt">FieldProxy</span><span class="o"><</span><span class="kt">V</span><span class="o">></span><span class="p">)</span> <span class="o">-></span> <span class="kt">V</span><span class="p">)?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">customSetter</span><span class="p">:</span> <span class="p">((</span><span class="n">_</span> <span class="nv">object</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">field</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">>.</span><span class="kt">FieldProxy</span><span class="o"><</span><span class="kt">V</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">newValue</span><span class="p">:</span> <span class="kt">V</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Void</span><span class="p">)?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">affectedByKeyPaths</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">Set</span><span class="o"><</span><span class="kt"><a href="../../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a></span><span class="o">></span> <span class="o">=</span> <span class="p">[]</span>
|
||
<span class="p">)</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div>
|
||
<h4>Parameters</h4>
|
||
<table class="graybox">
|
||
<tbody>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>initial</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>the initial value for the property that is shared for all instances of this object. Note that this is evaluated during <code><a href="../../Classes/DataStack.html">DataStack</a></code> setup, not during object creation. To assign a value during object creation, use the <code>dynamicInitialValue</code> argument instead.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>keyPath</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>the permanent attribute name for this property.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>versionHashModifier</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>used to mark or denote a property as being a different “version” than another even if all of the values which affect persistence are equal. (Such a difference is important in cases where the properties are unchanged but the format or content of its data are changed.)</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>previousVersionKeyPath</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>used to resolve naming conflicts between models. When creating an entity mapping between entities in two managed object models, a source entity property’s <code>keyPath</code> with a matching destination entity property’s <code>previousVersionKeyPath</code> indicate that a property mapping should be configured to migrate from the source to the destination. If unset, the identifier will be the property’s <code>keyPath</code>.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>customGetter</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>use this closure as an “override” for the default property getter. The closure receives a <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, which acts as a type-safe proxy for the receiver. When accessing the property value from <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, make sure to use <code>field.primitiveValue</code> instead of <code>field.value</code>, which would unintentionally execute the same closure again recursively. Do not make assumptions on the thread/queue that the closure is executed on; accessors may be called from <code>NSError</code> logs for example.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>customSetter</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>use this closure as an “override” for the default property setter. The closure receives a <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></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’ static typing, and so loading those info everytime KVO invokes this accessor method incurs a cumulative 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><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, make sure to use <code>field.primitiveValue</code> instead of <code>field.value</code>, which would unintentionally execute the same closure again recursively.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>affectedByKeyPaths</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>a set of key paths for properties whose values affect the value of the receiver. This is similar to <code>NSManagedObject.keyPathsForValuesAffectingValue(forKey:)</code>.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</li>
|
||
<li class="item">
|
||
<div>
|
||
<code>
|
||
<a name="/s:9CoreStore14FieldContainerO5CodedVA2A22DefaultNSSecureCodableRd__rlE_19versionHashModifier22previousVersionKeyPath12customGetter0P6Setter010affectedByN5Paths19dynamicInitialValueAEyx_qd__GSS_SSSgyXAANyXAqd__AA11ObjectProxyVyxG_AP0cZ0Vyx_qd__GtcSgyAQ_ATqd__tcSgShySSGyXAqd__yctcfc"></a>
|
||
<a name="//apple_ref/swift/Method/init(_:versionHashModifier:previousVersionKeyPath:customGetter:customSetter:affectedByKeyPaths:dynamicInitialValue:)" class="dashAnchor"></a>
|
||
<a class="token" href="#/s:9CoreStore14FieldContainerO5CodedVA2A22DefaultNSSecureCodableRd__rlE_19versionHashModifier22previousVersionKeyPath12customGetter0P6Setter010affectedByN5Paths19dynamicInitialValueAEyx_qd__GSS_SSSgyXAANyXAqd__AA11ObjectProxyVyxG_AP0cZ0Vyx_qd__GtcSgyAQ_ATqd__tcSgShySSGyXAqd__yctcfc">init(_:<wbr>versionHashModifier:<wbr>previousVersionKeyPath:<wbr>customGetter:<wbr>customSetter:<wbr>affectedByKeyPaths:<wbr>dynamicInitialValue:<wbr>)</a>
|
||
</code>
|
||
</div>
|
||
<div class="height-container">
|
||
<div class="pointer-container"></div>
|
||
<section class="section">
|
||
<div class="pointer"></div>
|
||
<div class="abstract">
|
||
<p>Initializes the metadata for the property. This overload is for types supported by Core Data’s default NSSecureCodable implementation: <code>NSArray</code>, <code>NSDictionary</code>, <code>NSSet</code>, <code>NSString</code>, <code>NSNumber</code>, <code>NSDate</code>, <code>NSData</code>, <code>NSURL</code>, <code>NSUUID</code>, and <code>NSNull</code>.</p>
|
||
<pre class="highlight swift"><code><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="kd">@Field</span><span class="o">.</span><span class="kt">Coded</span><span class="p">(</span><span class="s">"customInfo"</span><span class="p">,</span> <span class="nv">dynamicInitialValue</span><span class="p">:</span> <span class="p">{</span> <span class="p">[</span><span class="s">"id"</span><span class="p">:</span> <span class="kt">UUID</span><span class="p">()]</span> <span class="p">})</span>
|
||
<span class="k">var</span> <span class="nv">customInfo</span><span class="p">:</span> <span class="kt">NSDictionary</span>
|
||
<span class="p">}</span>
|
||
</code></pre>
|
||
|
||
</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="nf">init</span><span class="p">(</span>
|
||
<span class="n">_</span> <span class="nv">keyPath</span><span class="p">:</span> <span class="kt"><a href="../../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a></span><span class="p">,</span>
|
||
<span class="nv">versionHashModifier</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">previousVersionKeyPath</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">customGetter</span><span class="p">:</span> <span class="p">((</span><span class="n">_</span> <span class="nv">object</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">field</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">>.</span><span class="kt">FieldProxy</span><span class="o"><</span><span class="kt">V</span><span class="o">></span><span class="p">)</span> <span class="o">-></span> <span class="kt">V</span><span class="p">)?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">customSetter</span><span class="p">:</span> <span class="p">((</span><span class="n">_</span> <span class="nv">object</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">field</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">>.</span><span class="kt">FieldProxy</span><span class="o"><</span><span class="kt">V</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">newValue</span><span class="p">:</span> <span class="kt">V</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Void</span><span class="p">)?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">affectedByKeyPaths</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">Set</span><span class="o"><</span><span class="kt"><a href="../../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a></span><span class="o">></span> <span class="o">=</span> <span class="p">[],</span>
|
||
<span class="nv">dynamicInitialValue</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">V</span>
|
||
<span class="p">)</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div>
|
||
<h4>Parameters</h4>
|
||
<table class="graybox">
|
||
<tbody>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>keyPath</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>the permanent attribute name for this property.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>versionHashModifier</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>used to mark or denote a property as being a different “version” than another even if all of the values which affect persistence are equal. (Such a difference is important in cases where the properties are unchanged but the format or content of its data are changed.)</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>previousVersionKeyPath</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>used to resolve naming conflicts between models. When creating an entity mapping between entities in two managed object models, a source entity property’s <code>keyPath</code> with a matching destination entity property’s <code>previousVersionKeyPath</code> indicate that a property mapping should be configured to migrate from the source to the destination. If unset, the identifier will be the property’s <code>keyPath</code>.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>customGetter</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>use this closure as an “override” for the default property getter. The closure receives a <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, which acts as a type-safe proxy for the receiver. When accessing the property value from <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, make sure to use <code>field.primitiveValue</code> instead of <code>field.value</code>, which would unintentionally execute the same closure again recursively. Do not make assumptions on the thread/queue that the closure is executed on; accessors may be called from <code>NSError</code> logs for example.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>customSetter</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>use this closure as an “override” for the default property setter. The closure receives a <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></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’ static typing, and so loading those info everytime KVO invokes this accessor method incurs a cumulative 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><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, make sure to use <code>field.primitiveValue</code> instead of <code>field.value</code>, which would unintentionally execute the same closure again recursively.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>affectedByKeyPaths</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>a set of key paths for properties whose values affect the value of the receiver. This is similar to <code>NSManagedObject.keyPathsForValuesAffectingValue(forKey:)</code>.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>dynamicInitialValue</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>the initial value for the property when the object is first created.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="task-group">
|
||
<div class="task-name-container">
|
||
<a name="/Available%20where%20%60V%60%3A%20%60FieldOptionalType%60%2C%20%60V.Wrapped%60%3A%20%60DefaultNSSecureCodable%60"></a>
|
||
<a name="//apple_ref/swift/Section/Available where `V`: `FieldOptionalType`, `V.Wrapped`: `DefaultNSSecureCodable`" class="dashAnchor"></a>
|
||
<div class="section-name-container">
|
||
<a class="section-name-link" href="#/Available%20where%20%60V%60%3A%20%60FieldOptionalType%60%2C%20%60V.Wrapped%60%3A%20%60DefaultNSSecureCodable%60"></a>
|
||
<h3 class="section-name"><span>Available where <code>V</code>: <code><a href="../../Protocols/FieldOptionalType.html">FieldOptionalType</a></code>, <code>V.Wrapped</code>: <code><a href="../../Protocols.html#/s:9CoreStore22DefaultNSSecureCodableP">DefaultNSSecureCodable</a></code></span>
|
||
</h3>
|
||
</div>
|
||
</div>
|
||
<ul class="item-container">
|
||
<li class="item">
|
||
<div>
|
||
<code>
|
||
<a name="/s:9CoreStore14FieldContainerO5CodedVA2A0C12OptionalTypeRd__AA22DefaultNSSecureCodable7WrappedRpd__rlE12wrappedValue_19versionHashModifier22previousVersionKeyPath12customGetter0U6Setter010affectedByS5PathsAEyx_qd__Gqd__yXA_S2SSgyXAAQyXAqd__AA11ObjectProxyVyxG_AS0C5ProxyVyx_qd__GtcSgyAT_AWqd__tcSgShySSGyXAtcfc"></a>
|
||
<a name="//apple_ref/swift/Method/init(wrappedValue:_:versionHashModifier:previousVersionKeyPath:customGetter:customSetter:affectedByKeyPaths:)" class="dashAnchor"></a>
|
||
<a class="token" href="#/s:9CoreStore14FieldContainerO5CodedVA2A0C12OptionalTypeRd__AA22DefaultNSSecureCodable7WrappedRpd__rlE12wrappedValue_19versionHashModifier22previousVersionKeyPath12customGetter0U6Setter010affectedByS5PathsAEyx_qd__Gqd__yXA_S2SSgyXAAQyXAqd__AA11ObjectProxyVyxG_AS0C5ProxyVyx_qd__GtcSgyAT_AWqd__tcSgShySSGyXAtcfc">init(wrappedValue:<wbr>_:<wbr>versionHashModifier:<wbr>previousVersionKeyPath:<wbr>customGetter:<wbr>customSetter:<wbr>affectedByKeyPaths:<wbr>)</a>
|
||
</code>
|
||
</div>
|
||
<div class="height-container">
|
||
<div class="pointer-container"></div>
|
||
<section class="section">
|
||
<div class="pointer"></div>
|
||
<div class="abstract">
|
||
<p>Initializes the metadata for the property. This overload is for types supported by Core Data’s default NSSecureCodable implementation: <code>NSArray</code>, <code>NSDictionary</code>, <code>NSSet</code>, <code>NSString</code>, <code>NSNumber</code>, <code>NSDate</code>, <code>NSData</code>, <code>NSURL</code>, <code>NSUUID</code>, and <code>NSNull</code>.</p>
|
||
<pre class="highlight swift"><code><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="kd">@Field</span><span class="o">.</span><span class="kt">Coded</span><span class="p">(</span><span class="s">"customInfo"</span><span class="p">)</span>
|
||
<span class="k">var</span> <span class="nv">customInfo</span><span class="p">:</span> <span class="kt">NSDictionary</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span>
|
||
<span class="p">}</span>
|
||
</code></pre>
|
||
|
||
</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="nf">init</span><span class="p">(</span>
|
||
<span class="n">wrappedValue</span> <span class="nv">initial</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">V</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="n">_</span> <span class="nv">keyPath</span><span class="p">:</span> <span class="kt"><a href="../../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a></span> <span class="o">=</span> <span class="p">{</span> <span class="nf">fatalError</span><span class="p">(</span><span class="s">"'keyPath' argument required (SR-13069 workaround)"</span><span class="p">)</span> <span class="p">}(),</span>
|
||
<span class="nv">versionHashModifier</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">previousVersionKeyPath</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">customGetter</span><span class="p">:</span> <span class="p">((</span><span class="n">_</span> <span class="nv">object</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">field</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">>.</span><span class="kt">FieldProxy</span><span class="o"><</span><span class="kt">V</span><span class="o">></span><span class="p">)</span> <span class="o">-></span> <span class="kt">V</span><span class="p">)?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">customSetter</span><span class="p">:</span> <span class="p">((</span><span class="n">_</span> <span class="nv">object</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">field</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">>.</span><span class="kt">FieldProxy</span><span class="o"><</span><span class="kt">V</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">newValue</span><span class="p">:</span> <span class="kt">V</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Void</span><span class="p">)?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">affectedByKeyPaths</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">Set</span><span class="o"><</span><span class="kt"><a href="../../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a></span><span class="o">></span> <span class="o">=</span> <span class="p">[]</span>
|
||
<span class="p">)</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div>
|
||
<h4>Parameters</h4>
|
||
<table class="graybox">
|
||
<tbody>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>initial</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>the initial value for the property that is shared for all instances of this object. Note that this is evaluated during <code><a href="../../Classes/DataStack.html">DataStack</a></code> setup, not during object creation. To assign a value during object creation, use the <code>dynamicInitialValue</code> argument instead.<br></p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>keyPath</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>the permanent attribute name for this property.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>versionHashModifier</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>used to mark or denote a property as being a different “version” than another even if all of the values which affect persistence are equal. (Such a difference is important in cases where the properties are unchanged but the format or content of its data are changed.)</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>previousVersionKeyPath</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>used to resolve naming conflicts between models. When creating an entity mapping between entities in two managed object models, a source entity property’s <code>keyPath</code> with a matching destination entity property’s <code>previousVersionKeyPath</code> indicate that a property mapping should be configured to migrate from the source to the destination. If unset, the identifier will be the property’s <code>keyPath</code>.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>customGetter</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>use this closure as an “override” for the default property getter. The closure receives a <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, which acts as a type-safe proxy for the receiver. When accessing the property value from <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, make sure to use <code>field.primitiveValue</code> instead of <code>field.value</code>, which would unintentionally execute the same closure again recursively. Do not make assumptions on the thread/queue that the closure is executed on; accessors may be called from <code>NSError</code> logs for example.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>customSetter</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>use this closure as an “override” for the default property setter. The closure receives a <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></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’ static typing, and so loading those info everytime KVO invokes this accessor method incurs a cumulative 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><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, make sure to use <code>field.primitiveValue</code> instead of <code>field.value</code>, which would unintentionally execute the same closure again recursively.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>affectedByKeyPaths</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>a set of key paths for properties whose values affect the value of the receiver. This is similar to <code>NSManagedObject.keyPathsForValuesAffectingValue(forKey:)</code>.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</li>
|
||
<li class="item">
|
||
<div>
|
||
<code>
|
||
<a name="/s:9CoreStore14FieldContainerO5CodedVA2A0C12OptionalTypeRd__AA22DefaultNSSecureCodable7WrappedRpd__rlE_19versionHashModifier22previousVersionKeyPath12customGetter0S6Setter010affectedByQ5Paths19dynamicInitialValueAEyx_qd__GSS_SSSgyXAAQyXAqd__AA11ObjectProxyVyxG_AS0C5ProxyVyx_qd__GtcSgyAT_AWqd__tcSgShySSGyXAqd__yctcfc"></a>
|
||
<a name="//apple_ref/swift/Method/init(_:versionHashModifier:previousVersionKeyPath:customGetter:customSetter:affectedByKeyPaths:dynamicInitialValue:)" class="dashAnchor"></a>
|
||
<a class="token" href="#/s:9CoreStore14FieldContainerO5CodedVA2A0C12OptionalTypeRd__AA22DefaultNSSecureCodable7WrappedRpd__rlE_19versionHashModifier22previousVersionKeyPath12customGetter0S6Setter010affectedByQ5Paths19dynamicInitialValueAEyx_qd__GSS_SSSgyXAAQyXAqd__AA11ObjectProxyVyxG_AS0C5ProxyVyx_qd__GtcSgyAT_AWqd__tcSgShySSGyXAqd__yctcfc">init(_:<wbr>versionHashModifier:<wbr>previousVersionKeyPath:<wbr>customGetter:<wbr>customSetter:<wbr>affectedByKeyPaths:<wbr>dynamicInitialValue:<wbr>)</a>
|
||
</code>
|
||
</div>
|
||
<div class="height-container">
|
||
<div class="pointer-container"></div>
|
||
<section class="section">
|
||
<div class="pointer"></div>
|
||
<div class="abstract">
|
||
<p>Initializes the metadata for the property. This overload is for types supported by Core Data’s default NSSecureCodable implementation: <code>NSArray</code>, <code>NSDictionary</code>, <code>NSSet</code>, <code>NSString</code>, <code>NSNumber</code>, <code>NSDate</code>, <code>NSData</code>, <code>NSURL</code>, <code>NSUUID</code>, and <code>NSNull</code>.</p>
|
||
<pre class="highlight swift"><code><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="kd">@Field</span><span class="o">.</span><span class="kt">Coded</span><span class="p">(</span><span class="s">"customInfo"</span><span class="p">,</span> <span class="nv">dynamicInitialValue</span><span class="p">:</span> <span class="p">{</span> <span class="p">[</span><span class="s">"id"</span><span class="p">:</span> <span class="kt">UUID</span><span class="p">()]</span> <span class="p">})</span>
|
||
<span class="k">var</span> <span class="nv">customInfo</span><span class="p">:</span> <span class="kt">NSDictionary</span><span class="p">?</span>
|
||
<span class="p">}</span>
|
||
</code></pre>
|
||
|
||
</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="nf">init</span><span class="p">(</span>
|
||
<span class="n">_</span> <span class="nv">keyPath</span><span class="p">:</span> <span class="kt"><a href="../../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a></span><span class="p">,</span>
|
||
<span class="nv">versionHashModifier</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">previousVersionKeyPath</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">customGetter</span><span class="p">:</span> <span class="p">((</span><span class="n">_</span> <span class="nv">object</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">field</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">>.</span><span class="kt">FieldProxy</span><span class="o"><</span><span class="kt">V</span><span class="o">></span><span class="p">)</span> <span class="o">-></span> <span class="kt">V</span><span class="p">)?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">customSetter</span><span class="p">:</span> <span class="p">((</span><span class="n">_</span> <span class="nv">object</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">field</span><span class="p">:</span> <span class="kt"><a href="../../Structs/ObjectProxy.html">ObjectProxy</a></span><span class="o"><</span><span class="kt">O</span><span class="o">>.</span><span class="kt">FieldProxy</span><span class="o"><</span><span class="kt">V</span><span class="o">></span><span class="p">,</span> <span class="n">_</span> <span class="nv">newValue</span><span class="p">:</span> <span class="kt">V</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Void</span><span class="p">)?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
|
||
<span class="nv">affectedByKeyPaths</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">Set</span><span class="o"><</span><span class="kt"><a href="../../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a></span><span class="o">></span> <span class="o">=</span> <span class="p">[],</span>
|
||
<span class="nv">dynamicInitialValue</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">V</span>
|
||
<span class="p">)</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div>
|
||
<h4>Parameters</h4>
|
||
<table class="graybox">
|
||
<tbody>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>keyPath</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>the permanent attribute name for this property.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>versionHashModifier</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>used to mark or denote a property as being a different “version” than another even if all of the values which affect persistence are equal. (Such a difference is important in cases where the properties are unchanged but the format or content of its data are changed.)</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>previousVersionKeyPath</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>used to resolve naming conflicts between models. When creating an entity mapping between entities in two managed object models, a source entity property’s <code>keyPath</code> with a matching destination entity property’s <code>previousVersionKeyPath</code> indicate that a property mapping should be configured to migrate from the source to the destination. If unset, the identifier will be the property’s <code>keyPath</code>.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>customGetter</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>use this closure as an “override” for the default property getter. The closure receives a <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, which acts as a type-safe proxy for the receiver. When accessing the property value from <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, make sure to use <code>field.primitiveValue</code> instead of <code>field.value</code>, which would unintentionally execute the same closure again recursively. Do not make assumptions on the thread/queue that the closure is executed on; accessors may be called from <code>NSError</code> logs for example.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>customSetter</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>use this closure as an “override” for the default property setter. The closure receives a <code><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></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’ static typing, and so loading those info everytime KVO invokes this accessor method incurs a cumulative 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><a href="../../Structs/ObjectProxy.html">ObjectProxy<O></a></code>, make sure to use <code>field.primitiveValue</code> instead of <code>field.value</code>, which would unintentionally execute the same closure again recursively.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>affectedByKeyPaths</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>a set of key paths for properties whose values affect the value of the receiver. This is similar to <code>NSManagedObject.keyPathsForValuesAffectingValue(forKey:)</code>.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>dynamicInitialValue</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>the initial value for the property when the object is first created.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
</article>
|
||
</div>
|
||
<section class="footer">
|
||
<p>© 2023 <a class="link" href="https://github.com/JohnEstropia" target="_blank" rel="external noopener">John Estropia</a>. All rights reserved. (Last updated: 2023-06-08)</p>
|
||
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.14.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
|
||
</section>
|
||
</body>
|
||
</html>
|