Compare commits

..

31 Commits

Author SHA1 Message Date
John Estropia
84f3740ea1 fix unit test warnings 2019-01-18 17:30:54 +09:00
John Estropia
6dc48b6af7 Add docs for new throwing methods 2019-01-17 18:43:10 +09:00
John Estropia
09ce2816bf Merge branch 'develop' into throwables 2019-01-16 17:03:49 +09:00
John Estropia
62e962eebe Merge pull request #301 from ianbytchek/develop
Resolve source entity and managed object attributes by name
2019-01-16 17:01:48 +09:00
John Estropia
682472c1bd fetches, queries, and deletes are now throwable methods 2019-01-15 20:40:15 +09:00
Ian Bytchek
46ab70b839 Update TravisCI base image to Xcode 10
Replace deprecated build matrix configurations with newer alternatives.
2019-01-13 06:24:04 +00:00
Ian Bytchek
ac8304f977 Resolve source entity and managed object attributes by name
Addresses #300 – see it for details. Also improves the use of whitespace consistency across the `CustomSchemaMappingProvider.swift` and uses method names for `cs_resolve…` over `cs_resolved…` for better alignment with [Swift API Design Guidelines](https://swift.org/documentation/api-design-guidelines).
2019-01-13 05:41:34 +00:00
John Estropia
5777831565 WIP: make fetching methods throwable 2019-01-11 19:52:12 +09:00
John Estropia
42d1f41939 Provide more context when failing to search for mapping models #299 2019-01-11 19:48:35 +09:00
John Estropia
8c30ec3a3d minor fixes on Playgrounds and Demo app 2019-01-09 11:59:06 +09:00
John Estropia
237a1b648e Assert on reserved property names 2019-01-09 11:58:37 +09:00
John Estropia
614f1572c2 print PartialObjects 2018-12-26 22:35:28 +08:00
John Estropia
a48f16aa8c add Jazzy docs 2018-12-19 16:27:05 +09:00
John Estropia
cdbadae002 added comments to playground 2018-12-18 18:44:47 +09:00
John Estropia
4a28a39df6 removed long-standing workaround for NSFetchedResultsController bugs since they seem to be fixed 2018-12-18 18:43:36 +09:00
John Estropia
5febf2542d added playgrounds just to show off 2018-12-14 19:28:55 +09:00
John Estropia
c21ab11a41 format header comment 2018-12-14 18:21:41 +09:00
John Estropia
10cd18dbf0 prototype for CoreStoreObject property observers (a.k.a. KVO) 2018-12-14 18:20:42 +09:00
John Estropia
8409a13289 Merge pull request #288 from ruslanskorb/list-monitor-number-of-objects-performance
[ListMonitor] Fix performance of `numberOfObjects()`.
2018-12-06 18:53:06 +09:00
Ruslan Skorb
a9a73fa5c4 [ListMonitor] [numberOfObjects()] Return count of fetchedObjects.
Casting `fetchedObjects` to `NSArray?` has better performance.
https://github.com/JohnEstropia/CoreStore/pull/288
2018-12-06 10:56:30 +02:00
John Estropia
82cae2e11e Merge pull request #292 from eliseo-juan/patch-1
Fix documentation
2018-12-06 10:54:50 +09:00
John Estropia
42caee2418 Merge pull request #287 from ruslanskorb/list-monitor-subscript-performance
[ListMonitor] Fix performance of `subscript(safeSectionIndex:safeItemIndex:)`.
2018-12-06 10:54:12 +09:00
Eliseo Juan Quintanilla
1dea1d0d06 Fix documentation
Changed attribtue to attribute
2018-12-05 10:09:05 +01:00
John Estropia
d344b9d878 minimum deployment version bumped to iOS 10, macOS 10.12, tvOS 10, watchOS 3. Deprecated iCloud Storage 2018-12-05 17:31:16 +09:00
John Estropia
95c1ce52cc Merge branch 'develop' of github.com:JohnEstropia/CoreStore into develop 2018-12-05 16:17:03 +09:00
John Estropia
cc346816d6 Added new error for cases when addStorageAndWait() is used with .allowSynchronousLightweightMigration but migrations are only allowed asynchronously (related to #277) 2018-12-05 16:15:20 +09:00
John Estropia
f14b561c33 Merge pull request #275 from DmitrijMaz/fix_queueing
Fix queue validation for UnsafeDataTransaction
2018-12-05 11:02:47 +09:00
Ruslan Skorb
6f655951aa [ListMonitor] [numberOfObjects()] Calculate the number of objects in all sections by summing the number of objects stored in NSFetchedResultsSectionInfo.
There is a performance problem in Swift when calling `count` method on an array with a large number of fetched objects. It requires casting the array between Objective-C and Swift, that is pretty slow.
2018-11-24 16:24:14 +02:00
Ruslan Skorb
ff8fbae568 [ListMonitor] [subscript(safeSectionIndex:safeItemIndex:)] Use subscript(indexPath:) after the validation of sectionIndex and itemIndex to get an object.
There is a performance problem in Swift when getting an object from the Objective-C array with a large number of objects using subscript. It requires casting the array between Objective-C and Swift, that is pretty slow.
2018-11-24 16:23:36 +02:00
Dmitry Mazurenko
4d4b02d076 Fix queue validation for UnsafeDataTransaction 2018-10-10 16:48:04 +03:00
John Estropia
06c0981ded debug string for CoreStoreObject 2018-09-24 00:49:53 +09:00
431 changed files with 425106 additions and 1945 deletions

1
.gitignore vendored
View File

@@ -7,3 +7,4 @@ CoreStore.xcworkspace/xcuserdata
.DS_Store
DerivedData
*.orig
build

15
.jazzy.yaml Normal file
View File

@@ -0,0 +1,15 @@
author: John Estropia
author_url: https://github.com/JohnEstropia
github_url: https://github.com/JohnEstropia/CoreStore
module: CoreStore
readme: README.md
include: Sources/*
output: docs
theme: fullwidth
clean: true
skip_undocumented: true
xcodebuild_arguments:
- -sdk
- iphonesimulator
- -scheme
- CoreStore iOS

View File

@@ -1,5 +1,5 @@
language: objective-c
osx_image: xcode9
osx_image: xcode10
sudo: false
git:
submodules: false
@@ -10,17 +10,17 @@ env:
- LC_CTYPE=en_US.UTF-8
- LANG=en_US.UTF-8
matrix:
- DESTINATION="OS=11.0,name=iPhone 8" SCHEME="CoreStore iOS" SDK=iphonesimulator11.0 RUN_TESTS="YES" POD_LINT="NO"
- DESTINATION="OS=10.3,name=iPhone 7" SCHEME="CoreStore iOS" SDK=iphonesimulator11.0 RUN_TESTS="YES" POD_LINT="NO"
- DESTINATION="OS=10.1,name=iPhone 7" SCHEME="CoreStore iOS" SDK=iphonesimulator11.0 RUN_TESTS="YES" POD_LINT="NO"
- DESTINATION="OS=9.0,name=iPhone 6 Plus" SCHEME="CoreStore iOS" SDK=iphonesimulator11.0 RUN_TESTS="YES" POD_LINT="NO"
- DESTINATION="arch=x86_64" SCHEME="CoreStore OSX" SDK=macosx10.13 RUN_TESTS="YES" POD_LINT="NO"
- DESTINATION="OS=4.0,name=Apple Watch - 42mm" SCHEME="CoreStore watchOS" SDK=watchsimulator4.0 RUN_TESTS="NO" POD_LINT="NO"
- DESTINATION="OS=3.2,name=Apple Watch - 42mm" SCHEME="CoreStore watchOS" SDK=watchsimulator4.0 RUN_TESTS="NO" POD_LINT="NO"
- DESTINATION="OS=2.2,name=Apple Watch - 42mm" SCHEME="CoreStore watchOS" SDK=watchsimulator4.0 RUN_TESTS="NO" POD_LINT="NO"
- DESTINATION="OS=11.0,name=Apple TV 1080p" SCHEME="CoreStore tvOS" SDK=appletvsimulator11.0 RUN_TESTS="YES" POD_LINT="NO"
- DESTINATION="OS=10.2,name=Apple TV 1080p" SCHEME="CoreStore tvOS" SDK=appletvsimulator11.0 RUN_TESTS="YES" POD_LINT="NO"
- DESTINATION="OS=9.2,name=Apple TV 1080p" SCHEME="CoreStore tvOS" SDK=appletvsimulator11.0 RUN_TESTS="YES" POD_LINT="NO"
- DESTINATION="arch=x86_64" SCHEME="CoreStore OSX" SDK=macosx10.14 RUN_TESTS="YES" POD_LINT="NO"
- DESTINATION="OS=12.0,name=iPhone XS" SCHEME="CoreStore iOS" SDK=iphonesimulator12.0 RUN_TESTS="YES" POD_LINT="NO"
- DESTINATION="OS=11.0.1,name=iPhone 8" SCHEME="CoreStore iOS" SDK=iphonesimulator12.0 RUN_TESTS="YES" POD_LINT="NO"
- DESTINATION="OS=10.3.1,name=iPhone 7" SCHEME="CoreStore iOS" SDK=iphonesimulator12.0 RUN_TESTS="YES" POD_LINT="NO"
- DESTINATION="OS=10.1,name=iPhone 7" SCHEME="CoreStore iOS" SDK=iphonesimulator12.0 RUN_TESTS="YES" POD_LINT="NO"
- DESTINATION="OS=4.0,name=Apple Watch - 42mm" SCHEME="CoreStore watchOS" SDK=watchsimulator5.0 RUN_TESTS="NO" POD_LINT="NO"
- DESTINATION="OS=3.2,name=Apple Watch - 42mm" SCHEME="CoreStore watchOS" SDK=watchsimulator5.0 RUN_TESTS="NO" POD_LINT="NO"
- DESTINATION="OS=2.2,name=Apple Watch - 42mm" SCHEME="CoreStore watchOS" SDK=watchsimulator5.0 RUN_TESTS="NO" POD_LINT="NO"
- DESTINATION="OS=12.0,name=Apple TV 4K" SCHEME="CoreStore tvOS" SDK=appletvsimulator12.0 RUN_TESTS="YES" POD_LINT="NO"
- DESTINATION="OS=11.0,name=Apple TV 4K (at 1080p)" SCHEME="CoreStore tvOS" SDK=appletvsimulator12.0 RUN_TESTS="YES" POD_LINT="NO"
- DESTINATION="OS=10.2,name=Apple TV 1080p" SCHEME="CoreStore tvOS" SDK=appletvsimulator12.0 RUN_TESTS="YES" POD_LINT="NO"
before_install:
- gem install cocoapods --no-rdoc --no-ri --no-document --quiet
- gem install xcpretty --no-rdoc --no-ri --no-document --quiet
@@ -39,8 +39,8 @@ script:
xcodebuild -workspace CoreStore.xcworkspace -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Debug ONLY_ACTIVE_ARCH=NO clean test | xcpretty -c;
xcodebuild -workspace CoreStore.xcworkspace -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Release ONLY_ACTIVE_ARCH=NO clean test | xcpretty -c;
fi
- xcodebuild -workspace "CoreStore.xcworkspace" -scheme "CoreStoreDemo" -sdk "iphonesimulator11.0" -destination "OS=11.0,name=iPhone 8" -configuration Debug ONLY_ACTIVE_ARCH=NO build | xcpretty -c;
- xcodebuild -workspace "CoreStore.xcworkspace" -scheme "CoreStoreDemo" -sdk "iphonesimulator11.0" -destination "OS=11.0,name=iPhone 8" -configuration Release ONLY_ACTIVE_ARCH=NO build | xcpretty -c;
- xcodebuild -workspace "CoreStore.xcworkspace" -scheme "CoreStoreDemo" -sdk "iphonesimulator12.0" -destination "OS=11.0.1,name=iPhone 8" -configuration Debug ONLY_ACTIVE_ARCH=NO build | xcpretty -c;
- xcodebuild -workspace "CoreStore.xcworkspace" -scheme "CoreStoreDemo" -sdk "iphonesimulator12.0" -destination "OS=11.0.1,name=iPhone 8" -configuration Release ONLY_ACTIVE_ARCH=NO build | xcpretty -c;
- if [ $POD_LINT == "YES" ]; then
pod lib lint --quick;
fi

View File

@@ -1,17 +1,18 @@
Pod::Spec.new do |s|
s.name = "CoreStore"
s.version = "5.3.1"
s.version = "5.4.0"
s.swift_version = "4.2"
s.license = "MIT"
s.summary = "Unleashing the real power of Core Data with the elegance and safety of Swift"
s.homepage = "https://github.com/JohnEstropia/CoreStore"
s.documentation_url = "https://JohnEstropia.github.io/CoreStore"
s.summary = "Unleashing the real power of Core Data with the elegance and safety of Swift"
s.author = { "John Rommel Estropia" => "rommel.estropia@gmail.com" }
s.source = { :git => "https://github.com/JohnEstropia/CoreStore.git", :tag => s.version.to_s }
s.ios.deployment_target = "9.0"
s.osx.deployment_target = "10.11"
s.watchos.deployment_target = "2.0"
s.tvos.deployment_target = "9.0"
s.ios.deployment_target = "10.0"
s.osx.deployment_target = "10.12"
s.watchos.deployment_target = "3.0"
s.tvos.deployment_target = "10.0"
s.source_files = "Sources", "Sources/**/*.{swift,h,m}"
s.public_header_files = "Sources/**/*.h"

View File

@@ -659,6 +659,10 @@
B5E84F371AFF85470064E85B /* NSManagedObjectContext+Transaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5E84F331AFF85470064E85B /* NSManagedObjectContext+Transaction.swift */; };
B5E84F391AFF85470064E85B /* NSManagedObjectContext+Querying.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5E84F351AFF85470064E85B /* NSManagedObjectContext+Querying.swift */; };
B5E84F411AFF8CCD0064E85B /* TypeErasedClauses.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5E84F401AFF8CCD0064E85B /* TypeErasedClauses.swift */; };
B5E8A72021C1015300EF006A /* CoreStoreObject+Observing.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5E8A71F21C1015300EF006A /* CoreStoreObject+Observing.swift */; };
B5E8A72121C1015300EF006A /* CoreStoreObject+Observing.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5E8A71F21C1015300EF006A /* CoreStoreObject+Observing.swift */; };
B5E8A72221C1015300EF006A /* CoreStoreObject+Observing.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5E8A71F21C1015300EF006A /* CoreStoreObject+Observing.swift */; };
B5E8A72321C1015300EF006A /* CoreStoreObject+Observing.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5E8A71F21C1015300EF006A /* CoreStoreObject+Observing.swift */; };
B5ECDBDF1CA6BB2B00C7F112 /* CSBaseDataTransaction+Querying.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5ECDBDE1CA6BB2B00C7F112 /* CSBaseDataTransaction+Querying.swift */; };
B5ECDBE11CA6BB2B00C7F112 /* CSBaseDataTransaction+Querying.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5ECDBDE1CA6BB2B00C7F112 /* CSBaseDataTransaction+Querying.swift */; };
B5ECDBE21CA6BB2B00C7F112 /* CSBaseDataTransaction+Querying.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5ECDBDE1CA6BB2B00C7F112 /* CSBaseDataTransaction+Querying.swift */; };
@@ -783,6 +787,7 @@
B5220E071D0C5F8D009BC71E /* ObjectObserverTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ObjectObserverTests.swift; sourceTree = "<group>"; };
B5220E0B1D0D0D19009BC71E /* ImportTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImportTests.swift; sourceTree = "<group>"; };
B5220E0F1D0DA6AB009BC71E /* ListObserverTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ListObserverTests.swift; sourceTree = "<group>"; };
B524E78721CA20AC00BEB794 /* .jazzy.yaml */ = {isa = PBXFileReference; lastKnownFileType = text; path = .jazzy.yaml; sourceTree = SOURCE_ROOT; };
B525576B1CFAF18F00E51965 /* IntoTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IntoTests.swift; sourceTree = "<group>"; };
B525576F1D02561A00E51965 /* SelectTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SelectTests.swift; sourceTree = "<group>"; };
B52557731D02791400E51965 /* WhereTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WhereTests.swift; sourceTree = "<group>"; };
@@ -950,6 +955,8 @@
B5E84F331AFF85470064E85B /* NSManagedObjectContext+Transaction.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSManagedObjectContext+Transaction.swift"; sourceTree = "<group>"; };
B5E84F351AFF85470064E85B /* NSManagedObjectContext+Querying.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSManagedObjectContext+Querying.swift"; sourceTree = "<group>"; };
B5E84F401AFF8CCD0064E85B /* TypeErasedClauses.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TypeErasedClauses.swift; sourceTree = "<group>"; };
B5E8A71F21C1015300EF006A /* CoreStoreObject+Observing.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CoreStoreObject+Observing.swift"; sourceTree = "<group>"; };
B5E8A72621C3B85000EF006A /* Playground.playground */ = {isa = PBXFileReference; lastKnownFileType = file.playground; path = Playground.playground; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.swift; };
B5ECDBDE1CA6BB2B00C7F112 /* CSBaseDataTransaction+Querying.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CSBaseDataTransaction+Querying.swift"; sourceTree = "<group>"; };
B5ECDBE41CA6BEA300C7F112 /* CSClauseTypes.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CSClauseTypes.swift; sourceTree = "<group>"; };
B5ECDBEB1CA6BF2000C7F112 /* CSFrom.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CSFrom.swift; sourceTree = "<group>"; };
@@ -1040,6 +1047,7 @@
2F03A52619C5C6DA005002A5 = {
isa = PBXGroup;
children = (
B5E8A72621C3B85000EF006A /* Playground.playground */,
2F291E3119C6D4D3007AF63F /* Frameworks */,
2F03A53219C5C6DA005002A5 /* Sources */,
2F03A53C19C5C6DA005002A5 /* CoreStoreTests */,
@@ -1082,6 +1090,7 @@
B5BDC91A1C202269008147CD /* Cartfile */,
B5D2D5A91F7558CB00A4DE67 /* .cocoapods.yml */,
B5BDC9271C2024F2008147CD /* .travis.yml */,
B524E78721CA20AC00BEB794 /* .jazzy.yaml */,
B5AD60CD1C90141E00F2B2E8 /* Package.swift */,
);
name = "Supporting Files";
@@ -1493,6 +1502,7 @@
B56007131B3F6C2800A9A8F9 /* SectionBy.swift */,
B5E84F1A1AFF84860064E85B /* DataStack+Observing.swift */,
B5E84F1B1AFF84860064E85B /* CoreStore+Observing.swift */,
B5E8A71F21C1015300EF006A /* CoreStoreObject+Observing.swift */,
B5C976E21C6C9F6A00B1AF90 /* UnsafeDataTransaction+Observing.swift */,
B5E84F1C1AFF84860064E85B /* ObjectMonitor.swift */,
B5E84F1F1AFF84860064E85B /* ObjectObserver.swift */,
@@ -2008,6 +2018,7 @@
B5A991EC1E9DC2CE0091A2E3 /* VersionLock.swift in Sources */,
B5FE4DA71C84FB4400FA6A91 /* InMemoryStore.swift in Sources */,
B52F743D1E9B8724005F3DAC /* DynamicSchema.swift in Sources */,
B5E8A72021C1015300EF006A /* CoreStoreObject+Observing.swift in Sources */,
B56923FF1EB82976007C4DC9 /* CSUnsafeDataModelSchema.swift in Sources */,
B5215CAE1FA4812500139E3A /* SectionMonitorBuilder.swift in Sources */,
B5ECDBEC1CA6BF2000C7F112 /* CSFrom.swift in Sources */,
@@ -2204,6 +2215,7 @@
B5A991ED1E9DC2CE0091A2E3 /* VersionLock.swift in Sources */,
B5ECDBEE1CA6BF2000C7F112 /* CSFrom.swift in Sources */,
B52F743E1E9B8724005F3DAC /* DynamicSchema.swift in Sources */,
B5E8A72121C1015300EF006A /* CoreStoreObject+Observing.swift in Sources */,
B56924001EB82976007C4DC9 /* CSUnsafeDataModelSchema.swift in Sources */,
B5215CAF1FA4812500139E3A /* SectionMonitorBuilder.swift in Sources */,
82BA18D61C4BBD7100A0916E /* NSManagedObjectContext+Transaction.swift in Sources */,
@@ -2400,6 +2412,7 @@
B5A991EF1E9DC2CE0091A2E3 /* VersionLock.swift in Sources */,
B5220E201D130813009BC71E /* CSObjectMonitor.swift in Sources */,
B52F74401E9B8724005F3DAC /* DynamicSchema.swift in Sources */,
B5E8A72321C1015300EF006A /* CoreStoreObject+Observing.swift in Sources */,
B56924021EB82976007C4DC9 /* CSUnsafeDataModelSchema.swift in Sources */,
B5215CB11FA4812500139E3A /* SectionMonitorBuilder.swift in Sources */,
B5220E171D1306DF009BC71E /* UnsafeDataTransaction+Observing.swift in Sources */,
@@ -2596,6 +2609,7 @@
B5A991EE1E9DC2CE0091A2E3 /* VersionLock.swift in Sources */,
B5ECDBEF1CA6BF2000C7F112 /* CSFrom.swift in Sources */,
B52F743F1E9B8724005F3DAC /* DynamicSchema.swift in Sources */,
B5E8A72221C1015300EF006A /* CoreStoreObject+Observing.swift in Sources */,
B56924011EB82976007C4DC9 /* CSUnsafeDataModelSchema.swift in Sources */,
B5215CB01FA4812500139E3A /* SectionMonitorBuilder.swift in Sources */,
B56321B41BD6521C006C9394 /* NSManagedObjectContext+Transaction.swift in Sources */,
@@ -2685,8 +2699,8 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = Sources/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MACOSX_DEPLOYMENT_TARGET = 10.11;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
MACOSX_DEPLOYMENT_TARGET = 10.12;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
OTHER_SWIFT_FLAGS = "-D DEBUG";
@@ -2697,10 +2711,10 @@
SWIFT_SWIFT3_OBJC_INFERENCE = Off;
SWIFT_VERSION = 4.2;
TARGETED_DEVICE_FAMILY = "1,2";
TVOS_DEPLOYMENT_TARGET = 9.0;
TVOS_DEPLOYMENT_TARGET = 10.0;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
WATCHOS_DEPLOYMENT_TARGET = 2.0;
WATCHOS_DEPLOYMENT_TARGET = 3.0;
};
name = Debug;
};
@@ -2749,8 +2763,8 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = Sources/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MACOSX_DEPLOYMENT_TARGET = 10.11;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
MACOSX_DEPLOYMENT_TARGET = 10.12;
MTL_ENABLE_DEBUG_INFO = NO;
PRODUCT_BUNDLE_IDENTIFIER = com.johnestropia.CoreStore;
PRODUCT_NAME = CoreStore;
@@ -2759,11 +2773,11 @@
SWIFT_SWIFT3_OBJC_INFERENCE = Off;
SWIFT_VERSION = 4.2;
TARGETED_DEVICE_FAMILY = "1,2";
TVOS_DEPLOYMENT_TARGET = 9.0;
TVOS_DEPLOYMENT_TARGET = 10.0;
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
WATCHOS_DEPLOYMENT_TARGET = 2.0;
WATCHOS_DEPLOYMENT_TARGET = 3.0;
};
name = Release;
};
@@ -2777,7 +2791,6 @@
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
@@ -2797,7 +2810,6 @@
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
@@ -2942,7 +2954,6 @@
GCC_NO_COMMON_BLOCKS = YES;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
MACOSX_DEPLOYMENT_TARGET = 10.11;
SDKROOT = macosx;
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
@@ -2968,7 +2979,6 @@
GCC_NO_COMMON_BLOCKS = YES;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
MACOSX_DEPLOYMENT_TARGET = 10.11;
SDKROOT = macosx;
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-O";

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict/>
</plist>

View File

@@ -410,7 +410,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -460,7 +460,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SWIFT_SWIFT3_OBJC_INFERENCE = Off;
@@ -474,7 +474,6 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = CoreStoreDemo/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.johnestropia.corestore.demo;
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -488,7 +487,6 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = CoreStoreDemo/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.johnestropia.corestore.demo;
PRODUCT_NAME = "$(TARGET_NAME)";

View File

@@ -20,7 +20,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]? = nil) -> Bool {
application.statusBarStyle = .lightContent
return true
}
}

View File

@@ -1,14 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12121" systemVersion="16G29" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="Ni8-QF-XHB">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14460.31" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="Ni8-QF-XHB">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/>
<capability name="Aspect ratio constraints" minToolsVersion="5.1"/>
<capability name="Constraints to layout margins" minToolsVersion="6.0"/>
<capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14460.20"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<customFonts key="customFonts">
@@ -78,14 +75,14 @@
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Title" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="8b8-lM-Krq">
<rect key="frame" x="15" y="13" width="28.5" height="19"/>
<rect key="frame" x="16" y="13" width="28.5" height="19"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" name="HelveticaNeue-Light" family="Helvetica Neue" pointSize="16"/>
<color key="textColor" red="0.13079629838466644" green="0.184075728058815" blue="0.24594299495220184" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Subtitle" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="hR1-Zb-BOk">
<rect key="frame" x="308" y="13" width="52" height="19"/>
<rect key="frame" x="307" y="13" width="52" height="19"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" name="HelveticaNeue-Light" family="Helvetica Neue" pointSize="16"/>
<color key="textColor" red="0.55686274509803924" green="0.55686274509803924" blue="0.57647058823529407" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
@@ -136,7 +133,7 @@
<autoresizingMask key="autoresizingMask"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="OQf-Bd-Zze">
<rect key="frame" x="295" y="8" width="72" height="27.5"/>
<rect key="frame" x="288" y="11" width="72" height="22"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
<inset key="contentEdgeInsets" minX="7" minY="0.0" maxX="7" maxY="0.0"/>
<state key="normal" title="mutate!"/>
@@ -145,7 +142,7 @@
</connections>
</button>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="VZk-6K-4ut">
<rect key="frame" x="15" y="8" width="270" height="27.5"/>
<rect key="frame" x="22" y="11" width="256" height="22"/>
<fontDescription key="fontDescription" name="HelveticaNeue-Thin" family="Helvetica Neue" pointSize="17"/>
<color key="textColor" red="0.15542715787887573" green="0.2203737199306488" blue="0.2959403395652771" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
@@ -275,18 +272,18 @@
<rect key="frame" x="0.0" y="35" width="375" height="50"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="AXm-KE-45G" id="9te-Wx-hkf">
<rect key="frame" x="0.0" y="0.0" width="342" height="49.5"/>
<rect key="frame" x="0.0" y="0.0" width="341" height="49.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Accounts" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Q3n-Df-v1t">
<rect key="frame" x="15" y="6" width="82" height="24"/>
<rect key="frame" x="16" y="6" width="82" height="24"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" name="HelveticaNeue-Light" family="Helvetica Neue" pointSize="20"/>
<color key="textColor" red="0.13079629838466644" green="0.184075728058815" blue="0.24594299495220184" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Setting up multiple persistent store configurations" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Hbn-cf-Y7m">
<rect key="frame" x="15" y="30" width="263.5" height="13.5"/>
<rect key="frame" x="16" y="30" width="263.5" height="13.5"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="11"/>
<color key="textColor" red="0.13079629838466644" green="0.184075728058815" blue="0.24594299495220184" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
@@ -302,18 +299,18 @@
<rect key="frame" x="0.0" y="85" width="375" height="50"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="fsb-zw-8Ii" id="Upm-AO-Fw3">
<rect key="frame" x="0.0" y="0.0" width="342" height="49.5"/>
<rect key="frame" x="0.0" y="0.0" width="341" height="49.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Colors" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="vpt-cT-gMo">
<rect key="frame" x="15" y="6" width="56" height="24"/>
<rect key="frame" x="16" y="6" width="56" height="24"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" name="HelveticaNeue-Light" family="Helvetica Neue" pointSize="20"/>
<color key="textColor" red="0.13079629838466644" green="0.184075728058815" blue="0.24594299495220184" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Observing list changes and single object changes" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="ou9-TZ-8bf">
<rect key="frame" x="15" y="30" width="260.5" height="13.5"/>
<rect key="frame" x="16" y="30" width="260.5" height="13.5"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="11"/>
<color key="textColor" red="0.13079629838466644" green="0.184075728058815" blue="0.24594299495220184" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
@@ -329,18 +326,18 @@
<rect key="frame" x="0.0" y="135" width="375" height="50"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="ekW-PJ-mbo" id="CYq-mg-PVS">
<rect key="frame" x="0.0" y="0.0" width="342" height="49.5"/>
<rect key="frame" x="0.0" y="0.0" width="341" height="49.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Placemarks" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="UbU-Kd-yrY">
<rect key="frame" x="15" y="6" width="100.5" height="24"/>
<rect key="frame" x="16" y="6" width="100.5" height="24"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" name="HelveticaNeue-Light" family="Helvetica Neue" pointSize="20"/>
<color key="textColor" red="0.13079629838466644" green="0.184075728058815" blue="0.24594299495220184" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Making changes with transactions" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="uP1-Jc-o9v">
<rect key="frame" x="15" y="30" width="179" height="13.5"/>
<rect key="frame" x="16" y="30" width="179" height="13.5"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="11"/>
<color key="textColor" red="0.13079629838466644" green="0.184075728058815" blue="0.24594299495220184" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
@@ -356,18 +353,18 @@
<rect key="frame" x="0.0" y="185" width="375" height="50"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="ph1-8z-C1m" id="nNz-rd-ksg">
<rect key="frame" x="0.0" y="0.0" width="342" height="49.5"/>
<rect key="frame" x="0.0" y="0.0" width="341" height="49.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Time Zones" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="C8Y-0y-lEG">
<rect key="frame" x="15" y="6" width="101.5" height="24"/>
<rect key="frame" x="16" y="6" width="101.5" height="24"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" name="HelveticaNeue-Light" family="Helvetica Neue" pointSize="20"/>
<color key="textColor" red="0.13079629838466644" green="0.184075728058815" blue="0.24594299495220184" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Fetching objects and raw values" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="jZw-qE-0ws">
<rect key="frame" x="15" y="30" width="168.5" height="13.5"/>
<rect key="frame" x="16" y="30" width="168.5" height="13.5"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="11"/>
<color key="textColor" red="0.13079629838466644" green="0.184075728058815" blue="0.24594299495220184" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
@@ -383,18 +380,18 @@
<rect key="frame" x="0.0" y="235" width="375" height="50"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="wyK-rk-3tI" id="fLd-KK-QcW">
<rect key="frame" x="0.0" y="0.0" width="342" height="49.5"/>
<rect key="frame" x="0.0" y="0.0" width="341" height="49.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Logger" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="ZfY-Aq-Ykq">
<rect key="frame" x="15" y="6" width="61" height="24"/>
<rect key="frame" x="16" y="6" width="61" height="24"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" name="HelveticaNeue-Light" family="Helvetica Neue" pointSize="20"/>
<color key="textColor" red="0.13079629838466644" green="0.184075728058815" blue="0.24594299495220184" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Implementing a custom logger" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="QzD-9b-k1j">
<rect key="frame" x="15" y="30" width="159" height="13.5"/>
<rect key="frame" x="16" y="30" width="159" height="13.5"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="11"/>
<color key="textColor" red="0.13079629838466644" green="0.184075728058815" blue="0.24594299495220184" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
@@ -410,18 +407,18 @@
<rect key="frame" x="0.0" y="285" width="375" height="50"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="xTM-Cf-0if" id="DfO-BW-krd">
<rect key="frame" x="0.0" y="0.0" width="342" height="49.5"/>
<rect key="frame" x="0.0" y="0.0" width="341" height="49.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Evolution" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="hSG-mG-YBw">
<rect key="frame" x="15" y="6" width="78.5" height="24"/>
<rect key="frame" x="16" y="6" width="78.5" height="24"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" name="HelveticaNeue-Light" family="Helvetica Neue" pointSize="20"/>
<color key="textColor" red="0.13079629838466644" green="0.184075728058815" blue="0.24594299495220184" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Migrating and de-migrating stores" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="X9P-TQ-LYh">
<rect key="frame" x="15" y="30" width="179.5" height="13.5"/>
<rect key="frame" x="16" y="30" width="179.5" height="13.5"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="11"/>
<color key="textColor" red="0.13079629838466644" green="0.184075728058815" blue="0.24594299495220184" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
@@ -460,7 +457,7 @@
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<view contentMode="scaleToFill" verticalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="NhC-oM-bkd">
<rect key="frame" x="16" y="89.5" width="343" height="50"/>
<rect key="frame" x="16" y="69.5" width="343" height="70"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" relation="greaterThanOrEqual" id="TIX-qi-B34"/>
@@ -512,7 +509,7 @@
</connections>
</slider>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="p4O-tf-dgt">
<rect key="frame" x="16" y="69" width="343" height="20.5"/>
<rect key="frame" x="16" y="49" width="343" height="20.5"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
@@ -623,7 +620,7 @@
<tabBarItem key="tabBarItem" title="Demo" image="second" id="3iQ-I2-4LW"/>
<toolbarItems/>
<navigationBar key="navigationBar" contentMode="scaleToFill" id="00L-5k-Eno">
<rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
<rect key="frame" x="0.0" y="20" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<color key="tintColor" red="0.90744441747665405" green="0.9265514612197876" blue="0.93116652965545654" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<color key="barTintColor" red="0.15542715787887573" green="0.2203737199306488" blue="0.2959403395652771" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
@@ -653,18 +650,18 @@
<rect key="frame" x="0.0" y="22" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="G3X-70-BCD" id="aT8-nz-i5l">
<rect key="frame" x="0.0" y="0.0" width="342" height="43.5"/>
<rect key="frame" x="0.0" y="0.0" width="341" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="uQX-PI-UWF">
<rect key="frame" x="8" y="8" width="27" height="27"/>
<rect key="frame" x="16" y="11" width="22" height="22"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="width" secondItem="uQX-PI-UWF" secondAttribute="height" multiplier="1:1" id="9qA-iN-Neb"/>
</constraints>
</view>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="HJC-5w-lIN">
<rect key="frame" x="45" y="8" width="34.5" height="27"/>
<rect key="frame" x="48" y="11" width="34.5" height="22"/>
<fontDescription key="fontDescription" name="HelveticaNeue" family="Helvetica Neue" pointSize="14"/>
<color key="textColor" red="0.13079629838466644" green="0.184075728058815" blue="0.24594299495220184" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
@@ -713,18 +710,18 @@
<rect key="frame" x="0.0" y="22" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="zSO-3e-OVq" id="cHA-by-n4b">
<rect key="frame" x="0.0" y="0.0" width="342" height="43.5"/>
<rect key="frame" x="0.0" y="0.0" width="341" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="5uq-Yi-XwH">
<rect key="frame" x="8" y="8" width="27" height="27"/>
<rect key="frame" x="16" y="11" width="22" height="22"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="width" secondItem="5uq-Yi-XwH" secondAttribute="height" multiplier="1:1" id="oOe-HC-VyN"/>
</constraints>
</view>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Zyu-PC-WmO">
<rect key="frame" x="45" y="8" width="34.5" height="27"/>
<rect key="frame" x="48" y="11" width="34.5" height="22"/>
<fontDescription key="fontDescription" name="HelveticaNeue" family="Helvetica Neue" pointSize="14"/>
<color key="textColor" red="0.13079629838466644" green="0.184075728058815" blue="0.24594299495220184" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
@@ -767,7 +764,7 @@
<extendedEdge key="edgesForExtendedLayout" bottom="YES"/>
<toolbarItems/>
<navigationBar key="navigationBar" contentMode="scaleToFill" id="6XA-6M-yvZ">
<rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
<rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<color key="tintColor" red="0.68773996829986572" green="0.71417498588562012" blue="0.73246318101882935" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<color key="barTintColor" red="0.13079629838466644" green="0.184075728058815" blue="0.24594299495220184" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
@@ -794,11 +791,11 @@
<viewControllerLayoutGuide type="bottom" id="RZg-hi-T8O"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="k4s-iL-Krh">
<rect key="frame" x="0.0" y="64" width="375" height="603"/>
<rect key="frame" x="0.0" y="0.0" width="375" height="603"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<mapView verifyAmbiguity="ignoreSizes" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" ambiguous="YES" mapType="standard" translatesAutoresizingMaskIntoConstraints="NO" id="V2U-0R-Ts0">
<rect key="frame" x="0.0" y="0.0" width="375" height="558"/>
<mapView verifyAmbiguity="ignoreSizes" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" mapType="standard" translatesAutoresizingMaskIntoConstraints="NO" id="V2U-0R-Ts0">
<rect key="frame" x="0.0" y="0.0" width="375" height="603"/>
<connections>
<outlet property="delegate" destination="jPl-fH-NlD" id="Sjn-YC-haS"/>
</connections>
@@ -888,7 +885,7 @@
<extendedEdge key="edgesForExtendedLayout" bottom="YES"/>
<toolbarItems/>
<navigationBar key="navigationBar" contentMode="scaleToFill" id="wJo-mp-1pS">
<rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
<rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<color key="tintColor" red="0.68773996829986572" green="0.71417498588562012" blue="0.73246318101882935" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<color key="barTintColor" red="0.13079629838466644" green="0.184075728058815" blue="0.24594299495220184" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
@@ -1008,14 +1005,14 @@
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="name" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="RgX-yK-1L2">
<rect key="frame" x="15" y="11" width="48.5" height="24"/>
<rect key="frame" x="16" y="11" width="48.5" height="24"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" name="HelveticaNeue-Light" family="Helvetica Neue" pointSize="20"/>
<color key="textColor" red="0.13079629838466644" green="0.184075728058815" blue="0.24594299495220184" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="offset" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="QZ4-A2-x4h">
<rect key="frame" x="15" y="35" width="31" height="13.5"/>
<rect key="frame" x="16" y="35" width="31" height="13.5"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="11"/>
<color key="textColor" red="0.13079629838466644" green="0.184075728058815" blue="0.24594299495220184" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
@@ -1054,14 +1051,14 @@
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="name" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Syt-QJ-KXg">
<rect key="frame" x="15" y="11" width="48.5" height="24"/>
<rect key="frame" x="16" y="11" width="48.5" height="24"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" name="HelveticaNeue-Light" family="Helvetica Neue" pointSize="20"/>
<color key="textColor" red="0.13079629838466644" green="0.184075728058815" blue="0.24594299495220184" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="offset" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="yHS-dP-IKS">
<rect key="frame" x="15" y="35" width="31" height="13.5"/>
<rect key="frame" x="16" y="35" width="31" height="13.5"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="11"/>
<color key="textColor" red="0.13079629838466644" green="0.184075728058815" blue="0.24594299495220184" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>

View File

@@ -25,7 +25,7 @@ private struct Static {
_ = try? dataStack.perform(
synchronous: { (transaction) in
transaction.deleteAll(From<TimeZone>())
try transaction.deleteAll(From<TimeZone>())
for name in NSTimeZone.knownTimeZoneNames {
@@ -164,17 +164,17 @@ class FetchingAndQueryingDemoViewController: UIViewController, UITableViewDataSo
title: "All Time Zones",
fetch: { () -> [TimeZone] in
return Static.timeZonesStack.fetchAll(
return try! Static.timeZonesStack.fetchAll(
From<TimeZone>()
.orderBy(.ascending(\.name))
)!
)
}
),
(
title: "Time Zones in Asia",
fetch: { () -> [TimeZone] in
return Static.timeZonesStack.fetchAll(
return try! Static.timeZonesStack.fetchAll(
From<TimeZone>()
.where(
format: "%K BEGINSWITH[c] %@",
@@ -182,14 +182,14 @@ class FetchingAndQueryingDemoViewController: UIViewController, UITableViewDataSo
"Asia"
)
.orderBy(.ascending(\.secondsFromGMT))
)!
)
}
),
(
title: "Time Zones in America and Europe",
fetch: { () -> [TimeZone] in
return Static.timeZonesStack.fetchAll(
return try! Static.timeZonesStack.fetchAll(
From<TimeZone>()
.where(
format: "%K BEGINSWITH[c] %@ OR %K BEGINSWITH[c] %@",
@@ -199,14 +199,14 @@ class FetchingAndQueryingDemoViewController: UIViewController, UITableViewDataSo
"Europe"
)
.orderBy(.ascending(\.secondsFromGMT))
)!
)
}
),
(
title: "All Time Zones Except America",
fetch: { () -> [TimeZone] in
return Static.timeZonesStack.fetchAll(
return try! Static.timeZonesStack.fetchAll(
From<TimeZone>()
.where(
format: "%K BEGINSWITH[c] %@",
@@ -214,18 +214,18 @@ class FetchingAndQueryingDemoViewController: UIViewController, UITableViewDataSo
"America"
)
.orderBy(.ascending(\.secondsFromGMT))
)!
)
}
),
(
title: "Time Zones with Summer Time",
fetch: { () -> [TimeZone] in
return Static.timeZonesStack.fetchAll(
return try! Static.timeZonesStack.fetchAll(
From<TimeZone>()
.where(\.hasDaylightSavingTime == true)
.orderBy(.ascending(\.name))
)!
)
}
)
]
@@ -235,28 +235,28 @@ class FetchingAndQueryingDemoViewController: UIViewController, UITableViewDataSo
title: "Number of Time Zones",
query: { () -> Any in
return Static.timeZonesStack.queryValue(
return try! Static.timeZonesStack.queryValue(
From<TimeZone>()
.select(NSNumber.self, .count(\.name))
)! as Any
)!
}
),
(
title: "Abbreviation For Tokyo's Time Zone",
query: { () -> Any in
return Static.timeZonesStack.queryValue(
return try! Static.timeZonesStack.queryValue(
From<TimeZone>()
.select(String.self, .attribute(\.abbreviation))
.where(format: "%K ENDSWITH[c] %@", #keyPath(TimeZone.name), "Tokyo")
)! as Any
)!
}
),
(
title: "All Abbreviations",
query: { () -> Any in
return Static.timeZonesStack.queryAttributes(
return try! Static.timeZonesStack.queryAttributes(
From<TimeZone>()
.select(
NSDictionary.self,
@@ -264,14 +264,14 @@ class FetchingAndQueryingDemoViewController: UIViewController, UITableViewDataSo
.attribute(\.abbreviation)
)
.orderBy(.ascending(\.name))
)!
)
}
),
(
title: "Number of Countries per Time Zone",
query: { () -> Any in
return Static.timeZonesStack.queryAttributes(
return try! Static.timeZonesStack.queryAttributes(
From<TimeZone>()
.select(
NSDictionary.self,
@@ -283,14 +283,14 @@ class FetchingAndQueryingDemoViewController: UIViewController, UITableViewDataSo
.ascending(\.secondsFromGMT),
.ascending(\.name)
)
)!
)
}
),
(
title: "Number of Countries with Summer Time",
query: { () -> Any in
return Static.timeZonesStack.queryAttributes(
return try! Static.timeZonesStack.queryAttributes(
From<TimeZone>()
.select(
NSDictionary.self,
@@ -302,7 +302,7 @@ class FetchingAndQueryingDemoViewController: UIViewController, UITableViewDataSo
.descending(\.hasDaylightSavingTime),
.ascending(\.name)
)
)!
)
}
)
]

View File

@@ -1,5 +1,15 @@
{
"images" : [
{
"idiom" : "iphone",
"size" : "20x20",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "20x20",
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "29x29",
@@ -32,6 +42,36 @@
"filename" : "Icon-60@3x-1.png",
"scale" : "3x"
},
{
"idiom" : "ipad",
"size" : "20x20",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "20x20",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "29x29",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "29x29",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "40x40",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "40x40",
"scale" : "2x"
},
{
"size" : "76x76",
"idiom" : "ipad",
@@ -44,6 +84,21 @@
"filename" : "Icon-76@2x.png",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "83.5x83.5",
"scale" : "2x"
},
{
"idiom" : "ios-marketing",
"size" : "1024x1024",
"scale" : "1x"
},
{
"idiom" : "car",
"size" : "60x60",
"scale" : "2x"
},
{
"size" : "60x60",
"idiom" : "car",

View File

@@ -122,6 +122,11 @@ class ListObserverDemoViewController: UITableViewController, ListSectionObserver
target: self,
action: #selector(self.addBarButtonItemTouched(_:))
),
UIBarButtonItem(
barButtonSystemItem: .refresh,
target: self,
action: #selector(self.shuffleBarButtonItemTouched(_:))
),
filterBarButton
]
self.filterBarButton = filterBarButton
@@ -155,7 +160,7 @@ class ListObserverDemoViewController: UITableViewController, ListSectionObserver
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return ColorsDemo.palettes.numberOfObjectsInSection(section)
return ColorsDemo.palettes.numberOfObjects(in: section)
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
@@ -203,7 +208,7 @@ class ListObserverDemoViewController: UITableViewController, ListSectionObserver
override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
return ColorsDemo.palettes.sectionInfoAtIndex(section).name
return ColorsDemo.palettes.sectionInfo(at: section).name
}
@@ -283,7 +288,7 @@ class ListObserverDemoViewController: UITableViewController, ListSectionObserver
ColorsDemo.stack.perform(
asynchronous: { (transaction) in
transaction.deleteAll(From<Palette>())
try transaction.deleteAll(From<Palette>())
},
completion: { _ in }
)
@@ -305,6 +310,21 @@ class ListObserverDemoViewController: UITableViewController, ListSectionObserver
completion: { _ in }
)
}
@IBAction private dynamic func shuffleBarButtonItemTouched(_ sender: AnyObject?) {
ColorsDemo.stack.perform(
asynchronous: { (transaction) in
for palette in try transaction.fetchAll(From<Palette>()) {
palette.hue .= Palette.randomHue()
palette.colorName .= nil
}
},
completion: { _ in }
)
}
private func setTable(enabled: Bool) {

View File

@@ -50,7 +50,7 @@ class ObjectObserverDemoViewController: UIViewController, ObjectObserver {
required init?(coder aDecoder: NSCoder) {
if let palette = ColorsDemo.stack.fetchOne(From<Palette>().orderBy(.ascending(\.hue))) {
if let palette = try! ColorsDemo.stack.fetchOne(From<Palette>().orderBy(.ascending(\.hue))) {
self.monitor = ColorsDemo.stack.monitorObject(palette)
}
@@ -64,7 +64,7 @@ class ObjectObserverDemoViewController: UIViewController, ObjectObserver {
}
)
let palette = ColorsDemo.stack.fetchOne(From<Palette>().orderBy(.ascending(\.hue)))!
let palette = try! ColorsDemo.stack.fetchOne(From<Palette>().orderBy(.ascending(\.hue)))!
self.monitor = ColorsDemo.stack.monitorObject(palette)
}

View File

@@ -25,6 +25,11 @@ final class Palette: CoreStoreObject {
isTransient: true,
customGetter: Palette.getColorName
)
static func randomHue() -> Int {
return Int(arc4random_uniform(360))
}
private static func getColorName(_ partialObject: PartialObject<Palette>) -> String? {
@@ -71,7 +76,7 @@ extension Palette {
func setInitialValues(in transaction: BaseDataTransaction) {
self.hue .= Int(arc4random_uniform(360))
self.hue .= Palette.randomHue()
self.saturation .= Float(1.0)
self.brightness .= Float(arc4random_uniform(70) + 30) / 100.0
}

View File

@@ -16,11 +16,6 @@ class CustomLoggerViewController: UIViewController, CoreStoreLogger {
// MARK: NSObject
deinit {
CoreStore.logger = DefaultLogger()
}
let dataStack = DataStack()
// MARK: UIViewController
@@ -30,13 +25,14 @@ class CustomLoggerViewController: UIViewController, CoreStoreLogger {
super.viewDidLoad()
try! self.dataStack.addStorageAndWait(SQLiteStore(fileName: "emptyStore.sqlite"))
CoreStore.logger = self
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
CoreStore.logger = self
let alert = UIAlertController(
title: "Logger Demo",
message: "This demo shows how to plug-in any logging framework to CoreStore.\n\nThe view controller implements CoreStoreLogger and appends all logs to the text view.",
@@ -46,6 +42,13 @@ class CustomLoggerViewController: UIViewController, CoreStoreLogger {
self.present(alert, animated: true, completion: nil)
}
override func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(animated)
CoreStore.logger = DefaultLogger()
}
// MARK: CoreStoreLogger
@@ -113,7 +116,7 @@ class CustomLoggerViewController: UIViewController, CoreStoreLogger {
case 2?:
DispatchQueue.global(qos: .background).async {
_ = self.dataStack.fetchOne(From<Place>())
_ = try! self.dataStack.fetchOne(From<Place>())
}
default:

View File

@@ -79,7 +79,7 @@ class MigrationsDemoViewController: UIViewController, ListObserver, UITableViewD
func listMonitorDidChange(_ monitor: ListMonitor<NSManagedObject>) {
if self.lastSelectedIndexPath == nil,
let numberOfObjectsInSection = self.listMonitor?.numberOfObjectsInSection(0),
let numberOfObjectsInSection = self.listMonitor?.numberOfObjects(in: 0),
numberOfObjectsInSection > 0 {
self.tableView?.reloadData()
@@ -100,7 +100,7 @@ class MigrationsDemoViewController: UIViewController, ListObserver, UITableViewD
@objc dynamic func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.listMonitor?.numberOfObjectsInSection(0) ?? 0
return self.listMonitor?.numberOfObjects(in: 0) ?? 0
}
@objc dynamic func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
@@ -286,7 +286,7 @@ class MigrationsDemoViewController: UIViewController, ListObserver, UITableViewD
self.set(dataStack: dataStack, model: model, scrollToSelection: true)
let count = dataStack.queryValue(
let count = try! dataStack.queryValue(
From<NSManagedObject>(model.entityType)
.select(Int.self, .count(#keyPath(OrganismV1.dna))))!
if count > 0 {
@@ -378,7 +378,7 @@ class MigrationsDemoViewController: UIViewController, ListObserver, UITableViewD
if self.lastSelectedIndexPath == nil {
if listMonitor.numberOfObjectsInSection(0) > 0 {
if listMonitor.numberOfObjects(in: 0) > 0 {
self.setSelectedIndexPath(IndexPath(row: 0, section: 0), scrollToSelection: true)
}

View File

@@ -36,7 +36,7 @@ private struct Static {
_ = try? dataStack.perform(
synchronous: { (transaction) in
transaction.deleteAll(From<UserAccount>())
try transaction.deleteAll(From<UserAccount>())
let account1 = transaction.create(Into<MaleAccount>(maleConfiguration))
account1.accountType = "Facebook"
@@ -74,7 +74,7 @@ private struct Static {
_ = try? dataStack.perform(
synchronous: { (transaction) in
transaction.deleteAll(From<UserAccount>())
try transaction.deleteAll(From<UserAccount>())
let account1 = transaction.create(Into<MaleAccount>(maleConfiguration))
account1.accountType = "Twitter"
@@ -99,8 +99,8 @@ private struct Static {
class StackSetupDemoViewController: UITableViewController {
let accounts = [
Static.facebookStack.fetchAll(From(UserAccount.self)) ?? [],
Static.twitterStack.fetchAll(From(UserAccount.self)) ?? []
try! Static.facebookStack.fetchAll(From<UserAccount>()),
try! Static.twitterStack.fetchAll(From<UserAccount>())
]

View File

@@ -26,7 +26,7 @@ private struct Static {
)
)
var place = CoreStore.fetchOne(From<Place>())
var place = try! CoreStore.fetchOne(From<Place>())
if place == nil {
_ = try? CoreStore.perform(
@@ -36,7 +36,7 @@ private struct Static {
place.setInitialValues()
}
)
place = CoreStore.fetchOne(From<Place>())
place = try! CoreStore.fetchOne(From<Place>())
}
return CoreStore.monitorObject(place!)

View File

@@ -36,8 +36,7 @@ class BaseTestCase: XCTestCase {
// MARK: Internal
@nonobjc
@discardableResult
func prepareStack<T>(configurations: [ModelConfiguration] = [nil], _ closure: (_ dataStack: DataStack) -> T) -> T {
func prepareStack(configurations: [ModelConfiguration] = [nil], _ closure: (_ dataStack: DataStack) throws -> Void) {
let stack = DataStack(
xcodeModelName: "Model",
@@ -57,16 +56,16 @@ class BaseTestCase: XCTestCase {
)
)
}
try closure(stack)
}
catch let error as NSError {
XCTFail(error.coreStoreDumpString)
}
return closure(stack)
}
@nonobjc
func expectLogger<T>(_ expectations: [TestLogger.Expectation], closure: () -> T) -> T {
func expectLogger<T>(_ expectations: [TestLogger.Expectation], closure: () throws -> T) rethrows -> T {
CoreStore.logger = TestLogger(self.prepareLoggerExpectations(expectations))
defer {
@@ -74,7 +73,7 @@ class BaseTestCase: XCTestCase {
self.checkExpectationsImmediately()
CoreStore.logger = TestLogger([:])
}
return closure()
return try closure()
}
@nonobjc

View File

@@ -143,6 +143,9 @@ class DynamicModelTests: BaseTestDataTestCase {
let updateDone = self.expectation(description: "update-done")
let fetchDone = self.expectation(description: "fetch-done")
let willSetPriorObserverDone = self.expectation(description: "willSet-observe-prior-done")
let willSetNotPriorObserverDone = self.expectation(description: "willSet-observe-notPrior-done")
let didSetObserverDone = self.expectation(description: "didSet-observe-done")
stack.perform(
asynchronous: { (transaction) in
@@ -160,9 +163,42 @@ class DynamicModelTests: BaseTestDataTestCase {
XCTAssertEqual(dog.species.value, "Swift")
XCTAssertEqual(dog.nickname.value, nil)
XCTAssertEqual(dog.age.value, 1)
let didSetObserver = dog.species.observe(options: [.new, .old]) { (object, change) in
XCTAssertEqual(object, dog)
XCTAssertEqual(change.kind, .setting)
XCTAssertEqual(change.newValue, "Dog")
XCTAssertEqual(change.oldValue, "Swift")
XCTAssertFalse(change.isPrior)
XCTAssertEqual(object.species.value, "Dog")
didSetObserverDone.fulfill()
}
let willSetObserver = dog.species.observe(options: [.new, .old, .prior]) { (object, change) in
XCTAssertEqual(object, dog)
XCTAssertEqual(change.kind, .setting)
XCTAssertEqual(change.oldValue, "Swift")
if change.isPrior {
XCTAssertNil(change.newValue)
XCTAssertEqual(object.species.value, "Swift")
willSetPriorObserverDone.fulfill()
}
else {
XCTAssertEqual(change.newValue, "Dog")
XCTAssertEqual(object.species.value, "Dog")
willSetNotPriorObserverDone.fulfill()
}
}
dog.species .= "Dog"
XCTAssertEqual(dog.species.value, "Dog")
didSetObserver.invalidate()
willSetObserver.invalidate()
dog.nickname .= "Spot"
XCTAssertEqual(dog.nickname.value, "Spot")
@@ -212,51 +248,54 @@ class DynamicModelTests: BaseTestDataTestCase {
let p1 = Where<Animal>({ $0.species == "Sparrow" })
XCTAssertEqual(p1.predicate, NSPredicate(format: "%K == %@", "species", "Sparrow"))
let bird = transaction.fetchOne(From<Animal>(), p1)
let bird = try transaction.fetchOne(From<Animal>(), p1)
XCTAssertNotNil(bird)
XCTAssertEqual(bird!.species.value, "Sparrow")
let p2 = Where<Dog>({ $0.nickname == "Spot" })
XCTAssertEqual(p2.predicate, NSPredicate(format: "%K == %@", "nickname", "Spot"))
let dog = transaction.fetchOne(From<Dog>().where(\.nickname == "Spot"))
let dog = try transaction.fetchOne(From<Dog>().where(\.nickname == "Spot"))
XCTAssertNotNil(dog)
XCTAssertEqual(dog!.nickname.value, "Spot")
XCTAssertEqual(dog!.species.value, "Dog")
let person = transaction.fetchOne(From<Person>())
let person = try transaction.fetchOne(From<Person>())
XCTAssertNotNil(person)
XCTAssertEqual(person!.pets.value.first, dog)
let p3 = Where<Dog>({ $0.age == 10 })
XCTAssertEqual(p3.predicate, NSPredicate(format: "%K == %d", "age", 10))
let totalAge = try transaction.queryValue(From<Dog>().select(Int.self, .sum(\Dog.age)))
XCTAssertEqual(totalAge, 1)
_ = transaction.fetchAll(
_ = try transaction.fetchAll(
From<Dog>()
.where(\Animal.species == "Dog" && \.age == 10)
)
_ = transaction.fetchAll(
_ = try transaction.fetchAll(
From<Dog>()
.where(\.age == 10 && \Animal.species == "Dog")
.orderBy(.ascending({ $0.species }))
)
_ = transaction.fetchAll(
_ = try transaction.fetchAll(
From<Dog>(),
Where<Dog>({ $0.age > 10 && $0.age <= 15 })
)
_ = transaction.fetchAll(
_ = try transaction.fetchAll(
From<Dog>(),
Where<Dog>({ $0.species == "Dog" && $0.age == 10 })
)
_ = transaction.fetchAll(
_ = try transaction.fetchAll(
From<Dog>(),
Where<Dog>({ $0.age == 10 && $0.species == "Dog" })
)
_ = transaction.fetchAll(
_ = try transaction.fetchAll(
From<Dog>(),
Where<Dog>({ $0.age > 10 && $0.age <= 15 })
)
_ = transaction.fetchAll(
_ = try transaction.fetchAll(
From<Dog>(),
(\Dog.age > 10 && \Dog.age <= 15)
)

File diff suppressed because it is too large Load Diff

View File

@@ -75,8 +75,7 @@ final class FromTests: BaseTestCase {
let from = From<TestEntity1>()
let request = CoreStoreFetchRequest()
let storesFound = from.applyToFetchRequest(request, context: dataStack.mainContext)
XCTAssertTrue(storesFound)
try from.applyToFetchRequest(request, context: dataStack.mainContext)
XCTAssertNotNil(request.entity)
XCTAssertNotNil(request.safeAffectedStores)
@@ -90,11 +89,11 @@ final class FromTests: BaseTestCase {
let from = From<TestEntity1>("Config1")
let request = CoreStoreFetchRequest()
let storesFound = self.expectLogger([.logWarning]) {
let storesFound: Void? = try? self.expectLogger([.logError]) {
from.applyToFetchRequest(request, context: dataStack.mainContext)
try from.applyToFetchRequest(request, context: dataStack.mainContext)
}
XCTAssertFalse(storesFound)
XCTAssertNil(storesFound)
XCTAssertNotNil(request.entity)
XCTAssertNotNil(request.safeAffectedStores)
@@ -116,8 +115,8 @@ final class FromTests: BaseTestCase {
let from = From<TestEntity1>()
let request = CoreStoreFetchRequest()
let storesFound = from.applyToFetchRequest(request, context: dataStack.mainContext)
XCTAssertTrue(storesFound)
let storesFound: Void? = try? from.applyToFetchRequest(request, context: dataStack.mainContext)
XCTAssertNotNil(storesFound)
XCTAssertNotNil(request.entity)
XCTAssertNotNil(request.safeAffectedStores)
@@ -131,8 +130,8 @@ final class FromTests: BaseTestCase {
let from = From<TestEntity1>("Config1")
let request = CoreStoreFetchRequest()
let storesFound = from.applyToFetchRequest(request, context: dataStack.mainContext)
XCTAssertTrue(storesFound)
let storesFound: Void? = try? from.applyToFetchRequest(request, context: dataStack.mainContext)
XCTAssertNotNil(storesFound)
XCTAssertNotNil(request.entity)
XCTAssertNotNil(request.safeAffectedStores)
@@ -146,11 +145,11 @@ final class FromTests: BaseTestCase {
let from = From<TestEntity1>("Config2")
let request = CoreStoreFetchRequest()
let storesFound = self.expectLogger([.logWarning]) {
let storesFound: Void? = try? self.expectLogger([.logError]) {
from.applyToFetchRequest(request, context: dataStack.mainContext)
try from.applyToFetchRequest(request, context: dataStack.mainContext)
}
XCTAssertFalse(storesFound)
XCTAssertNil(storesFound)
XCTAssertNotNil(request.entity)
XCTAssertNotNil(request.safeAffectedStores)
@@ -164,11 +163,11 @@ final class FromTests: BaseTestCase {
let from = From<TestEntity2>()
let request = CoreStoreFetchRequest()
let storesFound = self.expectLogger([.logWarning]) {
let storesFound: Void? = try? self.expectLogger([.logError]) {
from.applyToFetchRequest(request, context: dataStack.mainContext)
try from.applyToFetchRequest(request, context: dataStack.mainContext)
}
XCTAssertFalse(storesFound)
XCTAssertNil(storesFound)
XCTAssertNotNil(request.entity)
XCTAssertNotNil(request.safeAffectedStores)
@@ -182,11 +181,11 @@ final class FromTests: BaseTestCase {
let from = From<TestEntity2>("Config1")
let request = CoreStoreFetchRequest()
let storesFound = self.expectLogger([.logWarning]) {
let storesFound: Void? = try? self.expectLogger([.logError]) {
from.applyToFetchRequest(request, context: dataStack.mainContext)
try from.applyToFetchRequest(request, context: dataStack.mainContext)
}
XCTAssertFalse(storesFound)
XCTAssertNil(storesFound)
XCTAssertNotNil(request.entity)
XCTAssertNotNil(request.safeAffectedStores)
@@ -200,11 +199,11 @@ final class FromTests: BaseTestCase {
let from = From<TestEntity2>("Config2")
let request = CoreStoreFetchRequest()
let storesFound = self.expectLogger([.logWarning]) {
let storesFound: Void? = try? self.expectLogger([.logError]) {
from.applyToFetchRequest(request, context: dataStack.mainContext)
try from.applyToFetchRequest(request, context: dataStack.mainContext)
}
XCTAssertFalse(storesFound)
XCTAssertNil(storesFound)
XCTAssertNotNil(request.entity)
XCTAssertNotNil(request.safeAffectedStores)
@@ -226,8 +225,8 @@ final class FromTests: BaseTestCase {
let from = From<TestEntity1>()
let request = CoreStoreFetchRequest()
let storesFound = from.applyToFetchRequest(request, context: dataStack.mainContext)
XCTAssertTrue(storesFound)
let storesFound: Void? = try? from.applyToFetchRequest(request, context: dataStack.mainContext)
XCTAssertNotNil(storesFound)
XCTAssertNotNil(request.entity)
XCTAssertNotNil(request.safeAffectedStores)
@@ -241,8 +240,8 @@ final class FromTests: BaseTestCase {
let from = From<TestEntity1>("Config1")
let request = CoreStoreFetchRequest()
let storesFound = from.applyToFetchRequest(request, context: dataStack.mainContext)
XCTAssertTrue(storesFound)
let storesFound: Void? = try? from.applyToFetchRequest(request, context: dataStack.mainContext)
XCTAssertNotNil(storesFound)
XCTAssertNotNil(request.entity)
XCTAssertNotNil(request.safeAffectedStores)
@@ -256,11 +255,11 @@ final class FromTests: BaseTestCase {
let from = From<TestEntity1>("Config2")
let request = CoreStoreFetchRequest()
let storesFound = self.expectLogger([.logWarning]) {
let storesFound: Void? = try? self.expectLogger([.logError]) {
from.applyToFetchRequest(request, context: dataStack.mainContext)
try from.applyToFetchRequest(request, context: dataStack.mainContext)
}
XCTAssertFalse(storesFound)
XCTAssertNil(storesFound)
XCTAssertNotNil(request.entity)
XCTAssertNotNil(request.safeAffectedStores)
@@ -274,8 +273,8 @@ final class FromTests: BaseTestCase {
let from = From<TestEntity2>()
let request = CoreStoreFetchRequest()
let storesFound = from.applyToFetchRequest(request, context: dataStack.mainContext)
XCTAssertTrue(storesFound)
let storesFound: Void? = try? from.applyToFetchRequest(request, context: dataStack.mainContext)
XCTAssertNotNil(storesFound)
XCTAssertNotNil(request.entity)
XCTAssertNotNil(request.safeAffectedStores)
@@ -289,11 +288,11 @@ final class FromTests: BaseTestCase {
let from = From<TestEntity2>("Config1")
let request = CoreStoreFetchRequest()
let storesFound = self.expectLogger([.logWarning]) {
let storesFound: Void? = try? self.expectLogger([.logError]) {
from.applyToFetchRequest(request, context: dataStack.mainContext)
try from.applyToFetchRequest(request, context: dataStack.mainContext)
}
XCTAssertFalse(storesFound)
XCTAssertNil(storesFound)
XCTAssertNotNil(request.entity)
XCTAssertNotNil(request.safeAffectedStores)
@@ -307,11 +306,11 @@ final class FromTests: BaseTestCase {
let from = From<TestEntity2>("Config2")
let request = CoreStoreFetchRequest()
let storesFound = self.expectLogger([.logWarning]) {
let storesFound: Void? = try? self.expectLogger([.logError]) {
from.applyToFetchRequest(request, context: dataStack.mainContext)
try from.applyToFetchRequest(request, context: dataStack.mainContext)
}
XCTAssertFalse(storesFound)
XCTAssertNil(storesFound)
XCTAssertNotNil(request.entity)
XCTAssertNotNil(request.safeAffectedStores)
@@ -333,8 +332,8 @@ final class FromTests: BaseTestCase {
let from = From<TestEntity1>()
let request = CoreStoreFetchRequest()
let storesFound = from.applyToFetchRequest(request, context: dataStack.mainContext)
XCTAssertTrue(storesFound)
let storesFound: Void? = try? from.applyToFetchRequest(request, context: dataStack.mainContext)
XCTAssertNotNil(storesFound)
XCTAssertNotNil(request.entity)
XCTAssertNotNil(request.safeAffectedStores)
@@ -348,8 +347,8 @@ final class FromTests: BaseTestCase {
let from = From<TestEntity1>("Config1")
let request = CoreStoreFetchRequest()
let storesFound = from.applyToFetchRequest(request, context: dataStack.mainContext)
XCTAssertTrue(storesFound)
let storesFound: Void? = try? from.applyToFetchRequest(request, context: dataStack.mainContext)
XCTAssertNotNil(storesFound)
XCTAssertNotNil(request.entity)
XCTAssertNotNil(request.safeAffectedStores)
@@ -363,11 +362,11 @@ final class FromTests: BaseTestCase {
let from = From<TestEntity1>("Config2")
let request = CoreStoreFetchRequest()
let storesFound = self.expectLogger([.logWarning]) {
let storesFound: Void? = try? self.expectLogger([.logError]) {
from.applyToFetchRequest(request, context: dataStack.mainContext)
try from.applyToFetchRequest(request, context: dataStack.mainContext)
}
XCTAssertFalse(storesFound)
XCTAssertNil(storesFound)
XCTAssertNotNil(request.entity)
XCTAssertNotNil(request.safeAffectedStores)
@@ -381,8 +380,8 @@ final class FromTests: BaseTestCase {
let from = From<TestEntity2>()
let request = CoreStoreFetchRequest()
let storesFound = from.applyToFetchRequest(request, context: dataStack.mainContext)
XCTAssertTrue(storesFound)
let storesFound: Void? = try? from.applyToFetchRequest(request, context: dataStack.mainContext)
XCTAssertNotNil(storesFound)
XCTAssertNotNil(request.entity)
XCTAssertNotNil(request.safeAffectedStores)
@@ -396,11 +395,11 @@ final class FromTests: BaseTestCase {
let from = From<TestEntity2>("Config1")
let request = CoreStoreFetchRequest()
let storesFound = self.expectLogger([.logWarning]) {
let storesFound: Void? = try? self.expectLogger([.logError]) {
from.applyToFetchRequest(request, context: dataStack.mainContext)
try from.applyToFetchRequest(request, context: dataStack.mainContext)
}
XCTAssertFalse(storesFound)
XCTAssertNil(storesFound)
XCTAssertNotNil(request.entity)
XCTAssertNotNil(request.safeAffectedStores)
@@ -414,8 +413,8 @@ final class FromTests: BaseTestCase {
let from = From<TestEntity2>("Config2")
let request = CoreStoreFetchRequest()
let storesFound = from.applyToFetchRequest(request, context: dataStack.mainContext)
XCTAssertTrue(storesFound)
let storesFound: Void? = try? from.applyToFetchRequest(request, context: dataStack.mainContext)
XCTAssertNotNil(storesFound)
XCTAssertNotNil(request.entity)
XCTAssertNotNil(request.safeAffectedStores)

View File

@@ -69,7 +69,7 @@ final class GroupByTests: BaseTestCase {
let groupBy = GroupBy<NSManagedObject>(#keyPath(TestEntity1.testString))
let request = CoreStoreFetchRequest()
_ = From<TestEntity1>().applyToFetchRequest(request, context: dataStack.mainContext)
try From<TestEntity1>().applyToFetchRequest(request, context: dataStack.mainContext)
groupBy.applyToFetchRequest(request)
XCTAssertNotNil(request.propertiesToGroupBy)

View File

@@ -95,7 +95,7 @@ class ImportTests: BaseTestDataTestCase {
]
)
XCTAssertNil(object)
XCTAssertEqual(transaction.fetchCount(From<TestEntity1>()), 0)
XCTAssertEqual(try transaction.fetchCount(From<TestEntity1>()), 0)
}
)
}
@@ -103,7 +103,7 @@ class ImportTests: BaseTestDataTestCase {
XCTFail()
}
XCTAssertEqual(stack.fetchCount(From<TestEntity1>()), 0)
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>()), 0)
}
}
@@ -137,9 +137,9 @@ class ImportTests: BaseTestDataTestCase {
catch _ as TestInsertError {
errorExpectation.fulfill()
XCTAssertEqual(transaction.fetchCount(From<TestEntity1>()), 1)
XCTAssertEqual(try transaction.fetchCount(From<TestEntity1>()), 1)
let object = transaction.fetchOne(From<TestEntity1>())
let object = try transaction.fetchOne(From<TestEntity1>())
XCTAssertNotNil(object)
XCTAssertNil(object?.testEntityID)
XCTAssertNil(object?.testBoolean)
@@ -182,7 +182,7 @@ class ImportTests: BaseTestDataTestCase {
]
)
XCTAssertNotNil(object)
XCTAssertEqual(transaction.fetchCount(From<TestEntity1>()), 1)
XCTAssertEqual(try transaction.fetchCount(From<TestEntity1>()), 1)
XCTAssertNil(object?.testEntityID)
XCTAssertEqual(object?.testBoolean, NSNumber(value: true))
XCTAssertEqual(object?.testNumber, NSNumber(value: 1))
@@ -202,7 +202,7 @@ class ImportTests: BaseTestDataTestCase {
#keyPath(TestEntity1.testDate): self.dateFormatter.date(from: "2000-01-02T00:00:00Z")!
]
)
XCTAssertEqual(transaction.fetchCount(From<TestEntity1>()), 1)
XCTAssertEqual(try transaction.fetchCount(From<TestEntity1>()), 1)
XCTAssertNil(object?.testEntityID)
XCTAssertEqual(object?.testBoolean, NSNumber(value: false))
XCTAssertEqual(object?.testNumber, NSNumber(value: 2))
@@ -254,7 +254,7 @@ class ImportTests: BaseTestDataTestCase {
sourceArray: sourceArray
)
XCTAssertEqual(objects.count, 1)
XCTAssertEqual(transaction.fetchCount(From<TestEntity1>()), 1)
XCTAssertEqual(try transaction.fetchCount(From<TestEntity1>()), 1)
let object = objects[0]
let dictionary = sourceArray[1]
@@ -316,9 +316,9 @@ class ImportTests: BaseTestDataTestCase {
catch _ as TestInsertError {
errorExpectation.fulfill()
XCTAssertEqual(transaction.fetchCount(From<TestEntity1>()), 1)
XCTAssertEqual(try transaction.fetchCount(From<TestEntity1>()), 1)
let object = transaction.fetchOne(From<TestEntity1>())
let object = try transaction.fetchOne(From<TestEntity1>())
XCTAssertNotNil(object)
XCTAssertNil(object?.testEntityID)
XCTAssertNil(object?.testBoolean)
@@ -372,7 +372,7 @@ class ImportTests: BaseTestDataTestCase {
sourceArray: sourceArray
)
XCTAssertEqual(objects.count, sourceArray.count)
XCTAssertEqual(transaction.fetchCount(From<TestEntity1>()), 2)
XCTAssertEqual(try transaction.fetchCount(From<TestEntity1>()), 2)
for i in 0 ..< sourceArray.count {
@@ -424,7 +424,7 @@ class ImportTests: BaseTestDataTestCase {
]
)
XCTAssertNil(object)
XCTAssertEqual(transaction.fetchCount(From<TestEntity1>()), 5)
XCTAssertEqual(try transaction.fetchCount(From<TestEntity1>()), 5)
}
do {
@@ -442,20 +442,19 @@ class ImportTests: BaseTestDataTestCase {
]
)
XCTAssertNil(object)
XCTAssertEqual(transaction.fetchCount(From<TestEntity1>()), 5)
XCTAssertEqual(try transaction.fetchCount(From<TestEntity1>()), 5)
let existingObjects = transaction.fetchAll(From<TestEntity1>(), Where<TestEntity1>(#keyPath(TestEntity1.testEntityID), isEqualTo: 105))
XCTAssertNotNil(existingObjects)
XCTAssertEqual(existingObjects?.count, 1)
let existingObjects = try transaction.fetchAll(From<TestEntity1>(), Where<TestEntity1>(#keyPath(TestEntity1.testEntityID), isEqualTo: 105))
XCTAssertEqual(existingObjects.count, 1)
let existingObject = existingObjects?[0]
XCTAssertEqual(existingObject?.testEntityID, NSNumber(value: 105))
XCTAssertEqual(existingObject?.testBoolean, NSNumber(value: true))
XCTAssertEqual(existingObject?.testNumber, NSNumber(value: 5))
XCTAssertEqual(existingObject?.testDecimal, NSDecimalNumber(string: "5"))
XCTAssertEqual(existingObject?.testString, "nil:TestEntity1:5")
XCTAssertEqual(existingObject?.testData, ("nil:TestEntity1:5" as NSString).data(using: String.Encoding.utf8.rawValue)!)
XCTAssertEqual(existingObject?.testDate, self.dateFormatter.date(from: "2000-01-05T00:00:00Z")!)
let existingObject = existingObjects[0]
XCTAssertEqual(existingObject.testEntityID, NSNumber(value: 105))
XCTAssertEqual(existingObject.testBoolean, NSNumber(value: true))
XCTAssertEqual(existingObject.testNumber, NSNumber(value: 5))
XCTAssertEqual(existingObject.testDecimal, NSDecimalNumber(string: "5"))
XCTAssertEqual(existingObject.testString, "nil:TestEntity1:5")
XCTAssertEqual(existingObject.testData, ("nil:TestEntity1:5" as NSString).data(using: String.Encoding.utf8.rawValue)!)
XCTAssertEqual(existingObject.testDate, self.dateFormatter.date(from: "2000-01-05T00:00:00Z")!)
}
}
)
@@ -504,7 +503,7 @@ class ImportTests: BaseTestDataTestCase {
)
XCTAssertEqual(objects.count, 1)
XCTAssertEqual(transaction.fetchCount(From<TestEntity1>()), 6)
XCTAssertEqual(try transaction.fetchCount(From<TestEntity1>()), 6)
let object = objects[0]
let dictionary = sourceArray[1]
@@ -618,9 +617,9 @@ class ImportTests: BaseTestDataTestCase {
catch _ as TestInsertError {
errorExpectation.fulfill()
XCTAssertEqual(transaction.fetchCount(From<TestEntity1>()), 6)
XCTAssertEqual(try transaction.fetchCount(From<TestEntity1>()), 6)
let object = transaction.fetchOne(From<TestEntity1>(), Where<TestEntity1>(#keyPath(TestEntity1.testEntityID), isEqualTo: 106))
let object = try transaction.fetchOne(From<TestEntity1>(), Where<TestEntity1>(#keyPath(TestEntity1.testEntityID), isEqualTo: 106))
XCTAssertNotNil(object)
XCTAssertEqual(object?.testEntityID, NSNumber(value: 106))
XCTAssertNil(object?.testBoolean)
@@ -657,21 +656,19 @@ class ImportTests: BaseTestDataTestCase {
catch _ as TestUpdateError {
errorExpectation.fulfill()
XCTAssertEqual(transaction.fetchCount(From<TestEntity1>()), 6)
XCTAssertEqual(try transaction.fetchCount(From<TestEntity1>()), 6)
let existingObjects = transaction.fetchAll(From<TestEntity1>(), Where<TestEntity1>(#keyPath(TestEntity1.testEntityID), isEqualTo: 105))
XCTAssertNotNil(existingObjects)
XCTAssertEqual(existingObjects?.count, 1)
let existingObjects = try transaction.fetchAll(From<TestEntity1>(), Where<TestEntity1>(#keyPath(TestEntity1.testEntityID), isEqualTo: 105))
XCTAssertEqual(existingObjects.count, 1)
let existingObject = existingObjects?[0]
XCTAssertNotNil(existingObject)
XCTAssertEqual(existingObject?.testEntityID, NSNumber(value: 105))
XCTAssertEqual(existingObject?.testBoolean, NSNumber(value: true))
XCTAssertEqual(existingObject?.testNumber, NSNumber(value: 5))
XCTAssertEqual(existingObject?.testDecimal, NSDecimalNumber(string: "5"))
XCTAssertEqual(existingObject?.testString, "nil:TestEntity1:5")
XCTAssertEqual(existingObject?.testData, ("nil:TestEntity1:5" as NSString).data(using: String.Encoding.utf8.rawValue)!)
XCTAssertEqual(existingObject?.testDate, self.dateFormatter.date(from: "2000-01-05T00:00:00Z")!)
let existingObject = existingObjects[0]
XCTAssertEqual(existingObject.testEntityID, NSNumber(value: 105))
XCTAssertEqual(existingObject.testBoolean, NSNumber(value: true))
XCTAssertEqual(existingObject.testNumber, NSNumber(value: 5))
XCTAssertEqual(existingObject.testDecimal, NSDecimalNumber(string: "5"))
XCTAssertEqual(existingObject.testString, "nil:TestEntity1:5")
XCTAssertEqual(existingObject.testData, ("nil:TestEntity1:5" as NSString).data(using: String.Encoding.utf8.rawValue)!)
XCTAssertEqual(existingObject.testDate, self.dateFormatter.date(from: "2000-01-05T00:00:00Z")!)
}
self.checkExpectationsImmediately()
}
@@ -710,7 +707,7 @@ class ImportTests: BaseTestDataTestCase {
]
)
XCTAssertNotNil(object)
XCTAssertEqual(transaction.fetchCount(From<TestEntity1>()), 6)
XCTAssertEqual(try transaction.fetchCount(From<TestEntity1>()), 6)
XCTAssertEqual(object?.testEntityID, NSNumber(value: 106))
XCTAssertEqual(object?.testBoolean, NSNumber(value: true))
@@ -735,7 +732,7 @@ class ImportTests: BaseTestDataTestCase {
]
)
XCTAssertNotNil(object)
XCTAssertEqual(transaction.fetchCount(From<TestEntity1>()), 6)
XCTAssertEqual(try transaction.fetchCount(From<TestEntity1>()), 6)
XCTAssertEqual(object?.testEntityID, NSNumber(value: 106))
XCTAssertEqual(object?.testBoolean, NSNumber(value: false))
@@ -745,11 +742,10 @@ class ImportTests: BaseTestDataTestCase {
XCTAssertEqual(object?.testData, ("nil:TestEntity1:7" as NSString).data(using: String.Encoding.utf8.rawValue)!)
XCTAssertEqual(object?.testDate, self.dateFormatter.date(from: "2000-01-07T00:00:00Z")!)
let existingObjects = transaction.fetchAll(From<TestEntity1>(), Where<TestEntity1>(#keyPath(TestEntity1.testEntityID), isEqualTo: 106))
XCTAssertNotNil(existingObjects)
XCTAssertEqual(existingObjects?.count, 1)
let existingObjects = try transaction.fetchAll(From<TestEntity1>(), Where<TestEntity1>(#keyPath(TestEntity1.testEntityID), isEqualTo: 106))
XCTAssertEqual(existingObjects.count, 1)
let existingObject = existingObjects?[0]
let existingObject = existingObjects[0]
XCTAssertEqual(existingObject, object)
}
}
@@ -799,7 +795,7 @@ class ImportTests: BaseTestDataTestCase {
sourceArray: sourceArray
)
XCTAssertEqual(objects.count, 1)
XCTAssertEqual(transaction.fetchCount(From<TestEntity1>()), 6)
XCTAssertEqual(try transaction.fetchCount(From<TestEntity1>()), 6)
let object = objects[0]
let dictionary = sourceArray[1]
@@ -864,10 +860,10 @@ class ImportTests: BaseTestDataTestCase {
catch _ as TestIDError {
errorExpectation.fulfill()
XCTAssertEqual(transaction.fetchCount(From<TestEntity1>()), 5)
XCTAssertEqual(try transaction.fetchCount(From<TestEntity1>()), 5)
XCTAssertNil(transaction.fetchOne(From<TestEntity1>(), Where<TestEntity1>(#keyPath(TestEntity1.testEntityID), isEqualTo: 106)))
XCTAssertNil(transaction.fetchOne(From<TestEntity1>(), Where<TestEntity1>(#keyPath(TestEntity1.testEntityID), isEqualTo: 107)))
XCTAssertNil(try transaction.fetchOne(From<TestEntity1>(), Where<TestEntity1>(#keyPath(TestEntity1.testEntityID), isEqualTo: 106)))
XCTAssertNil(try transaction.fetchOne(From<TestEntity1>(), Where<TestEntity1>(#keyPath(TestEntity1.testEntityID), isEqualTo: 107)))
}
transaction.unsafeContext().reset()
self.checkExpectationsImmediately()
@@ -910,7 +906,7 @@ class ImportTests: BaseTestDataTestCase {
errorExpectation.fulfill()
let object = transaction.fetchOne(From<TestEntity1>(), Where<TestEntity1>(#keyPath(TestEntity1.testEntityID), isEqualTo: 106))
let object = try transaction.fetchOne(From<TestEntity1>(), Where<TestEntity1>(#keyPath(TestEntity1.testEntityID), isEqualTo: 106))
XCTAssertNotNil(object)
XCTAssertEqual(object?.testEntityID, NSNumber(value: 106))
XCTAssertNil(object?.testBoolean)
@@ -951,9 +947,9 @@ class ImportTests: BaseTestDataTestCase {
catch _ as TestUpdateError {
errorExpectation.fulfill()
XCTAssertEqual(transaction.fetchCount(From<TestEntity1>()), 5)
XCTAssertEqual(try transaction.fetchCount(From<TestEntity1>()), 5)
let object = transaction.fetchOne(From<TestEntity1>(), Where<TestEntity1>(#keyPath(TestEntity1.testEntityID), isEqualTo: 105))
let object = try transaction.fetchOne(From<TestEntity1>(), Where<TestEntity1>(#keyPath(TestEntity1.testEntityID), isEqualTo: 105))
XCTAssertNotNil(object)
XCTAssertEqual(object?.testEntityID, NSNumber(value: 105))
XCTAssertEqual(object?.testBoolean, NSNumber(value: true))
@@ -963,11 +959,10 @@ class ImportTests: BaseTestDataTestCase {
XCTAssertEqual(object?.testData, ("nil:TestEntity1:5" as NSString).data(using: String.Encoding.utf8.rawValue)!)
XCTAssertEqual(object?.testDate, self.dateFormatter.date(from: "2000-01-05T00:00:00Z")!)
let existingObjects = transaction.fetchAll(From<TestEntity1>(), Where<TestEntity1>(#keyPath(TestEntity1.testEntityID), isEqualTo: 105))
XCTAssertNotNil(existingObjects)
XCTAssertEqual(existingObjects?.count, 1)
let existingObjects = try transaction.fetchAll(From<TestEntity1>(), Where<TestEntity1>(#keyPath(TestEntity1.testEntityID), isEqualTo: 105))
XCTAssertEqual(existingObjects.count, 1)
let existingObject = existingObjects?[0]
let existingObject = existingObjects[0]
XCTAssertEqual(existingObject, object)
}
transaction.context.reset()
@@ -1018,7 +1013,7 @@ class ImportTests: BaseTestDataTestCase {
sourceArray: sourceArray
)
XCTAssertEqual(objects.count, sourceArray.count)
XCTAssertEqual(transaction.fetchCount(From<TestEntity1>()), 6)
XCTAssertEqual(try transaction.fetchCount(From<TestEntity1>()), 6)
for i in 0 ..< sourceArray.count {
let object = objects[i]
@@ -1032,11 +1027,10 @@ class ImportTests: BaseTestDataTestCase {
XCTAssertEqual(object.testData, dictionary[(#keyPath(TestEntity1.testData))] as? Data)
XCTAssertEqual(object.testDate, dictionary[(#keyPath(TestEntity1.testDate))] as? Date)
}
let existingObjects = transaction.fetchAll(From<TestEntity1>(), Where<TestEntity1>(#keyPath(TestEntity1.testEntityID), isEqualTo: 105))
XCTAssertNotNil(existingObjects)
XCTAssertEqual(existingObjects?.count, 1)
let existingObjects = try transaction.fetchAll(From<TestEntity1>(), Where<TestEntity1>(#keyPath(TestEntity1.testEntityID), isEqualTo: 105))
XCTAssertEqual(existingObjects.count, 1)
let existingObject = existingObjects?[0]
let existingObject = existingObjects[0]
XCTAssertEqual(existingObject, objects[0])
}
)

View File

@@ -76,7 +76,7 @@ class ListObserverTests: BaseTestDataTestCase {
XCTAssertEqual(
((note.userInfo as NSDictionary?) ?? [:]),
[
"sectionInfo": monitor.sectionInfoAtIndex(0),
"sectionInfo": monitor.sectionInfo(at: 0),
"sectionIndex": 0
] as NSDictionary
)
@@ -178,9 +178,9 @@ class ListObserverTests: BaseTestDataTestCase {
XCTAssertTrue(monitor.hasSections())
XCTAssertEqual(monitor.numberOfSections(), 2)
XCTAssertTrue(monitor.hasObjects())
XCTAssertTrue(monitor.hasObjectsInSection(0))
XCTAssertEqual(monitor.numberOfObjectsInSection(0), 2)
XCTAssertEqual(monitor.numberOfObjectsInSection(1), 3)
XCTAssertTrue(monitor.hasObjects(in: 0))
XCTAssertEqual(monitor.numberOfObjects(in: 0), 2)
XCTAssertEqual(monitor.numberOfObjects(in: 1), 3)
var events = 0
@@ -268,7 +268,7 @@ class ListObserverTests: BaseTestDataTestCase {
stack.perform(
asynchronous: { (transaction) -> Bool in
if let object = transaction.fetchOne(
if let object = try transaction.fetchOne(
From<TestEntity1>(),
Where<TestEntity1>(#keyPath(TestEntity1.testEntityID), isEqualTo: 101)) {
@@ -282,7 +282,7 @@ class ListObserverTests: BaseTestDataTestCase {
XCTFail()
}
if let object = transaction.fetchOne(
if let object = try transaction.fetchOne(
From<TestEntity1>(),
Where<TestEntity1>(#keyPath(TestEntity1.testEntityID), isEqualTo: 102)) {
@@ -394,7 +394,7 @@ class ListObserverTests: BaseTestDataTestCase {
stack.perform(
asynchronous: { (transaction) -> Bool in
if let object = transaction.fetchOne(
if let object = try transaction.fetchOne(
From<TestEntity1>(),
Where<TestEntity1>(#keyPath(TestEntity1.testEntityID), isEqualTo: 102)) {
@@ -526,7 +526,7 @@ class ListObserverTests: BaseTestDataTestCase {
stack.perform(
asynchronous: { (transaction) -> Bool in
let count = transaction.deleteAll(
let count = try transaction.deleteAll(
From<TestEntity1>(),
Where<TestEntity1>(#keyPath(TestEntity1.testBoolean), isEqualTo: false)
)

View File

@@ -41,7 +41,7 @@ class ObjectObserverTests: BaseTestDataTestCase {
self.prepareTestDataForStack(stack)
guard let object = stack.fetchOne(
guard let object = try stack.fetchOne(
From<TestEntity1>(),
Where<TestEntity1>(#keyPath(TestEntity1.testEntityID), isEqualTo: 101)) else {
@@ -138,7 +138,7 @@ class ObjectObserverTests: BaseTestDataTestCase {
self.prepareTestDataForStack(stack)
guard let object = stack.fetchOne(
guard let object = try stack.fetchOne(
From<TestEntity1>(),
Where<TestEntity1>(#keyPath(TestEntity1.testEntityID), isEqualTo: 101)) else {

View File

@@ -47,7 +47,7 @@ class QueryTests: BaseTestDataTestCase {
]
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Bool>(#keyPath(TestEntity1.testBoolean)),
queryClauses
@@ -57,7 +57,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int8>(#keyPath(TestEntity1.testNumber)),
queryClauses
@@ -67,7 +67,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int16>(#keyPath(TestEntity1.testNumber)),
queryClauses
@@ -77,7 +77,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int32>(#keyPath(TestEntity1.testNumber)),
queryClauses
@@ -87,7 +87,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int64>(#keyPath(TestEntity1.testNumber)),
queryClauses
@@ -97,7 +97,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int>(#keyPath(TestEntity1.testNumber)),
queryClauses
@@ -107,7 +107,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Double>(#keyPath(TestEntity1.testNumber)),
queryClauses
@@ -117,7 +117,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Float>(#keyPath(TestEntity1.testNumber)),
queryClauses
@@ -127,7 +127,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSNumber>(#keyPath(TestEntity1.testNumber)),
queryClauses
@@ -137,7 +137,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSDecimalNumber>(#keyPath(TestEntity1.testDecimal)),
queryClauses
@@ -147,7 +147,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, String>(#keyPath(TestEntity1.testString)),
queryClauses
@@ -157,7 +157,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSString>(#keyPath(TestEntity1.testString)),
queryClauses
@@ -167,7 +167,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Data>(#keyPath(TestEntity1.testData)),
queryClauses
@@ -177,7 +177,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSData>(#keyPath(TestEntity1.testData)),
queryClauses
@@ -187,7 +187,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Date>(#keyPath(TestEntity1.testDate)),
queryClauses
@@ -197,7 +197,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSDate>(#keyPath(TestEntity1.testDate)),
queryClauses
@@ -207,7 +207,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSManagedObjectID>(#keyPath(TestEntity1.testDate)),
queryClauses
@@ -232,7 +232,7 @@ class QueryTests: BaseTestDataTestCase {
]
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Bool>(.average(#keyPath(TestEntity1.testBoolean))),
queryClauses
@@ -242,7 +242,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int8>(.average(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -252,7 +252,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int16>(.average(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -262,7 +262,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int32>(.average(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -272,7 +272,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int64>(.average(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -282,7 +282,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int>(.average(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -292,7 +292,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Double>(.average(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -302,7 +302,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Float>(.average(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -312,7 +312,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSNumber>(.average(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -322,7 +322,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSDecimalNumber>(.average(#keyPath(TestEntity1.testDecimal))),
queryClauses
@@ -332,7 +332,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, String>(.average(#keyPath(TestEntity1.testString))),
queryClauses
@@ -341,7 +341,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSString>(.average(#keyPath(TestEntity1.testString))),
queryClauses
@@ -350,7 +350,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Data>(.average(#keyPath(TestEntity1.testData))),
queryClauses
@@ -359,7 +359,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSData>(.average(#keyPath(TestEntity1.testData))),
queryClauses
@@ -368,7 +368,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Date>(.average(#keyPath(TestEntity1.testDate))),
queryClauses
@@ -377,7 +377,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSDate>(.average(#keyPath(TestEntity1.testDate))),
queryClauses
@@ -386,7 +386,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSManagedObjectID>(#keyPath(TestEntity1.testEntityID)),
queryClauses
@@ -410,7 +410,7 @@ class QueryTests: BaseTestDataTestCase {
]
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Bool>(.count(#keyPath(TestEntity1.testBoolean))),
queryClauses
@@ -420,7 +420,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int8>(.count(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -430,7 +430,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int16>(.count(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -440,7 +440,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int32>(.count(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -450,7 +450,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int64>(.count(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -460,7 +460,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int>(.count(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -470,7 +470,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Double>(.count(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -480,7 +480,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Float>(.count(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -490,7 +490,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSNumber>(.count(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -500,7 +500,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSDecimalNumber>(.count(#keyPath(TestEntity1.testDecimal))),
queryClauses
@@ -509,7 +509,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, String>(.count(#keyPath(TestEntity1.testString))),
queryClauses
@@ -518,7 +518,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSString>(.count(#keyPath(TestEntity1.testString))),
queryClauses
@@ -527,7 +527,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Data>(.count(#keyPath(TestEntity1.testData))),
queryClauses
@@ -536,7 +536,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSData>(.count(#keyPath(TestEntity1.testData))),
queryClauses
@@ -545,7 +545,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Date>(.count(#keyPath(TestEntity1.testDate))),
queryClauses
@@ -554,7 +554,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSDate>(.count(#keyPath(TestEntity1.testDate))),
queryClauses
@@ -563,7 +563,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSManagedObjectID>(.count(#keyPath(TestEntity1.testEntityID))),
queryClauses
@@ -587,7 +587,7 @@ class QueryTests: BaseTestDataTestCase {
]
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Bool>(.maximum(#keyPath(TestEntity1.testBoolean))),
queryClauses
@@ -597,7 +597,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int8>(.maximum(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -607,7 +607,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int16>(.maximum(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -617,7 +617,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int32>(.maximum(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -627,7 +627,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int64>(.maximum(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -637,7 +637,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int>(.maximum(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -647,7 +647,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Double>(.maximum(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -657,7 +657,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Float>(.maximum(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -667,7 +667,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSNumber>(.maximum(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -677,7 +677,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSDecimalNumber>(.maximum(#keyPath(TestEntity1.testDecimal))),
queryClauses
@@ -687,7 +687,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, String>(.maximum(#keyPath(TestEntity1.testString))),
queryClauses
@@ -697,7 +697,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSString>(.maximum(#keyPath(TestEntity1.testString))),
queryClauses
@@ -707,7 +707,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Data>(.maximum(#keyPath(TestEntity1.testData))),
queryClauses
@@ -717,7 +717,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSData>(.maximum(#keyPath(TestEntity1.testData))),
queryClauses
@@ -727,7 +727,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Date>(.maximum(#keyPath(TestEntity1.testDate))),
queryClauses
@@ -737,7 +737,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSDate>(.maximum(#keyPath(TestEntity1.testDate))),
queryClauses
@@ -747,7 +747,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSManagedObjectID>(.maximum(#keyPath(TestEntity1.testEntityID))),
queryClauses
@@ -771,7 +771,7 @@ class QueryTests: BaseTestDataTestCase {
]
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Bool>(.minimum(#keyPath(TestEntity1.testBoolean))),
queryClauses
@@ -781,7 +781,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int8>(.minimum(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -791,7 +791,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int16>(.minimum(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -801,7 +801,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int32>(.minimum(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -811,7 +811,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int64>(.minimum(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -821,7 +821,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int>(.minimum(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -831,7 +831,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Double>(.minimum(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -841,7 +841,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Float>(.minimum(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -851,7 +851,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSNumber>(.minimum(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -861,7 +861,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSDecimalNumber>(.minimum(#keyPath(TestEntity1.testDecimal))),
queryClauses
@@ -871,7 +871,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, String>(.minimum(#keyPath(TestEntity1.testString))),
queryClauses
@@ -881,7 +881,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSString>(.minimum(#keyPath(TestEntity1.testString))),
queryClauses
@@ -891,7 +891,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Data>(.minimum(#keyPath(TestEntity1.testData))),
queryClauses
@@ -901,7 +901,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSData>(.minimum(#keyPath(TestEntity1.testData))),
queryClauses
@@ -911,7 +911,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Date>(.minimum(#keyPath(TestEntity1.testDate))),
queryClauses
@@ -921,7 +921,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSDate>(.minimum(#keyPath(TestEntity1.testDate))),
queryClauses
@@ -931,7 +931,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSManagedObjectID>(.minimum(#keyPath(TestEntity1.testEntityID))),
queryClauses
@@ -955,7 +955,7 @@ class QueryTests: BaseTestDataTestCase {
]
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Bool>(.sum(#keyPath(TestEntity1.testBoolean))),
queryClauses
@@ -965,7 +965,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int8>(.sum(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -975,7 +975,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int16>(.sum(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -985,7 +985,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int32>(.sum(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -995,7 +995,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int64>(.sum(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -1005,7 +1005,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int>(.sum(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -1015,7 +1015,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Double>(.sum(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -1025,7 +1025,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Float>(.sum(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -1035,7 +1035,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSNumber>(.sum(#keyPath(TestEntity1.testNumber))),
queryClauses
@@ -1045,7 +1045,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSDecimalNumber>(.sum(#keyPath(TestEntity1.testDecimal))),
queryClauses
@@ -1055,7 +1055,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, String>(.sum(#keyPath(TestEntity1.testString))),
queryClauses
@@ -1064,7 +1064,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSString>(.sum(#keyPath(TestEntity1.testString))),
queryClauses
@@ -1073,7 +1073,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Data>(.sum(#keyPath(TestEntity1.testData))),
queryClauses
@@ -1082,7 +1082,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSData>(.sum(#keyPath(TestEntity1.testData))),
queryClauses
@@ -1091,7 +1091,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Date>(.sum(#keyPath(TestEntity1.testDate))),
queryClauses
@@ -1100,7 +1100,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSDate>(.sum(#keyPath(TestEntity1.testDate))),
queryClauses
@@ -1109,7 +1109,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSManagedObjectID>(.sum(#keyPath(TestEntity1.testEntityID))),
queryClauses
@@ -1133,7 +1133,7 @@ class QueryTests: BaseTestDataTestCase {
]
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Bool>(.objectID()),
queryClauses
@@ -1142,7 +1142,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int8>(.objectID()),
queryClauses
@@ -1151,7 +1151,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int16>(.objectID()),
queryClauses
@@ -1160,7 +1160,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int32>(.objectID()),
queryClauses
@@ -1169,7 +1169,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int64>(.objectID()),
queryClauses
@@ -1178,7 +1178,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Int>(.objectID()),
queryClauses
@@ -1187,7 +1187,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Double>(.objectID()),
queryClauses
@@ -1196,7 +1196,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Float>(.objectID()),
queryClauses
@@ -1205,7 +1205,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSNumber>(.objectID()),
queryClauses
@@ -1214,7 +1214,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSDecimalNumber>(.objectID()),
queryClauses
@@ -1223,7 +1223,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, String>(.objectID()),
queryClauses
@@ -1232,7 +1232,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSString>(.objectID()),
queryClauses
@@ -1241,7 +1241,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Data>(.objectID()),
queryClauses
@@ -1250,7 +1250,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSData>(.objectID()),
queryClauses
@@ -1259,7 +1259,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, Date>(.objectID()),
queryClauses
@@ -1268,7 +1268,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSDate>(.objectID()),
queryClauses
@@ -1277,7 +1277,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let value = stack.queryValue(
let value = try stack.queryValue(
from,
Select<TestEntity1, NSManagedObjectID>(.objectID()),
queryClauses
@@ -1302,7 +1302,7 @@ class QueryTests: BaseTestDataTestCase {
]
do {
let values = stack.queryAttributes(
let values = try stack.queryAttributes(
from,
Select<TestEntity1, NSDictionary>(
#keyPath(TestEntity1.testBoolean),
@@ -1353,7 +1353,7 @@ class QueryTests: BaseTestDataTestCase {
let queryClauses: [QueryClause] = []
do {
let values = stack.queryAttributes(
let values = try stack.queryAttributes(
from,
Select<TestEntity1, NSDictionary>(
.sum(#keyPath(TestEntity1.testBoolean)),
@@ -1380,7 +1380,7 @@ class QueryTests: BaseTestDataTestCase {
}
do {
let values = stack.queryAttributes(
let values = try stack.queryAttributes(
from,
Select(
.sum(#keyPath(TestEntity1.testBoolean), as: "testSum"),

View File

@@ -107,8 +107,8 @@ final class StorageInterfaceTests: XCTestCase {
@objc
dynamic func test_ThatFileURLSQLiteStores_ConfigureCorrectly() {
let fileURL = NSURL(fileURLWithPath: NSTemporaryDirectory())
.appendingPathComponent(NSUUID().uuidString, isDirectory: false)!
let fileURL = FileManager.default.temporaryDirectory
.appendingPathComponent(UUID().uuidString, isDirectory: false)
.appendingPathExtension("db")
let mappingProvider = XcodeSchemaMappingProvider(
from: "V1", to: "V2",

View File

@@ -69,9 +69,9 @@ final class TransactionTests: BaseTestCase {
self.checkExpectationsImmediately()
XCTAssertTrue(hasChanges)
XCTAssertEqual(stack.fetchCount(From<TestEntity1>()), 1)
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>()), 1)
let object = stack.fetchOne(From<TestEntity1>())
let object = try stack.fetchOne(From<TestEntity1>())
XCTAssertNotNil(object)
XCTAssertEqual(object?.fetchSource()?.unsafeContext(), stack.mainContext)
XCTAssertEqual(object?.querySource()?.unsafeContext(), stack.mainContext)
@@ -84,14 +84,14 @@ final class TransactionTests: BaseTestCase {
do {
let updateExpectation = self.expectation(description: "update")
let hasChanges: Bool = try! stack.perform(
let hasChanges: Bool = try stack.perform(
synchronous: { (transaction) in
defer {
updateExpectation.fulfill()
}
guard let object = transaction.fetchOne(From<TestEntity1>()) else {
guard let object = try transaction.fetchOne(From<TestEntity1>()) else {
// TODO: convert fetch methods to throwing methods
XCTFail()
try transaction.cancel()
@@ -107,9 +107,9 @@ final class TransactionTests: BaseTestCase {
self.checkExpectationsImmediately()
XCTAssertTrue(hasChanges)
XCTAssertEqual(stack.fetchCount(From<TestEntity1>()), 1)
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>()), 1)
let object = stack.fetchOne(From<TestEntity1>())
let object = try stack.fetchOne(From<TestEntity1>())
XCTAssertNotNil(object)
XCTAssertEqual(object?.testEntityID, NSNumber(value: 1))
XCTAssertEqual(object?.testString, "string1_edit")
@@ -128,7 +128,7 @@ final class TransactionTests: BaseTestCase {
deleteExpectation.fulfill()
}
let object = transaction.fetchOne(From<TestEntity1>())
let object = try transaction.fetchOne(From<TestEntity1>())
transaction.delete(object)
return transaction.hasChanges
}
@@ -141,9 +141,9 @@ final class TransactionTests: BaseTestCase {
}
self.checkExpectationsImmediately()
XCTAssertEqual(stack.fetchCount(From<TestEntity1>()), 0)
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>()), 0)
let object = stack.fetchOne(From<TestEntity1>())
let object = try stack.fetchOne(From<TestEntity1>())
XCTAssertNil(object)
}
}
@@ -184,10 +184,10 @@ final class TransactionTests: BaseTestCase {
}
self.checkExpectationsImmediately()
XCTAssertEqual(stack.fetchCount(From<TestEntity1>("Config1")), 1)
XCTAssertEqual(stack.fetchCount(From<TestEntity1>(nil)), 0)
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>("Config1")), 1)
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>(nil)), 0)
let object = stack.fetchOne(From<TestEntity1>("Config1"))
let object = try stack.fetchOne(From<TestEntity1>("Config1"))
XCTAssertNotNil(object)
XCTAssertEqual(object?.testEntityID, NSNumber(value: 1))
XCTAssertEqual(object?.testString, "string1")
@@ -206,7 +206,7 @@ final class TransactionTests: BaseTestCase {
updateExpectation.fulfill()
}
guard let object = transaction.fetchOne(From<TestEntity1>("Config1")) else {
guard let object = try transaction.fetchOne(From<TestEntity1>("Config1")) else {
XCTFail()
try transaction.cancel()
@@ -226,10 +226,10 @@ final class TransactionTests: BaseTestCase {
}
self.checkExpectationsImmediately()
XCTAssertEqual(stack.fetchCount(From<TestEntity1>("Config1")), 1)
XCTAssertEqual(stack.fetchCount(From<TestEntity1>(nil)), 0)
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>("Config1")), 1)
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>(nil)), 0)
let object = stack.fetchOne(From<TestEntity1>("Config1"))
let object = try stack.fetchOne(From<TestEntity1>("Config1"))
XCTAssertNotNil(object)
XCTAssertEqual(object?.testEntityID, NSNumber(value: 1))
XCTAssertEqual(object?.testString, "string1_edit")
@@ -248,7 +248,7 @@ final class TransactionTests: BaseTestCase {
deleteExpectation.fulfill()
}
let object = transaction.fetchOne(From<TestEntity1>("Config1"))
let object = try transaction.fetchOne(From<TestEntity1>("Config1"))
transaction.delete(object)
return transaction.hasChanges
@@ -262,8 +262,8 @@ final class TransactionTests: BaseTestCase {
}
self.checkExpectationsImmediately()
XCTAssertEqual(stack.fetchCount(From<TestEntity1>("Config1")), 0)
XCTAssertEqual(stack.fetchCount(From<TestEntity1>(nil)), 0)
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>("Config1")), 0)
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>(nil)), 0)
}
}
}
@@ -294,9 +294,9 @@ final class TransactionTests: BaseTestCase {
)
self.checkExpectationsImmediately()
XCTAssertEqual(stack.fetchCount(From<TestEntity1>()), 0)
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>()), 0)
let object = stack.fetchOne(From<TestEntity1>())
let object = try stack.fetchOne(From<TestEntity1>())
XCTAssertNil(object)
}
let testDate = Date()
@@ -329,7 +329,7 @@ final class TransactionTests: BaseTestCase {
updateDiscardExpectation.fulfill()
}
guard let object = transaction.fetchOne(From<TestEntity1>()) else {
guard let object = try transaction.fetchOne(From<TestEntity1>()) else {
XCTFail()
try transaction.cancel()
@@ -343,9 +343,9 @@ final class TransactionTests: BaseTestCase {
)
self.checkExpectationsImmediately()
XCTAssertEqual(stack.fetchCount(From<TestEntity1>()), 1)
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>()), 1)
let object = stack.fetchOne(From<TestEntity1>())
let object = try stack.fetchOne(From<TestEntity1>())
XCTAssertNotNil(object)
XCTAssertEqual(object?.testEntityID, NSNumber(value: 1))
XCTAssertEqual(object?.testString, "string1")
@@ -362,7 +362,7 @@ final class TransactionTests: BaseTestCase {
deleteDiscardExpectation.fulfill()
}
guard let object = transaction.fetchOne(From<TestEntity1>()) else {
guard let object = try transaction.fetchOne(From<TestEntity1>()) else {
XCTFail()
try transaction.cancel()
@@ -374,9 +374,9 @@ final class TransactionTests: BaseTestCase {
)
self.checkExpectationsImmediately()
XCTAssertEqual(stack.fetchCount(From<TestEntity1>()), 1)
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>()), 1)
let object = stack.fetchOne(From<TestEntity1>())
let object = try stack.fetchOne(From<TestEntity1>())
XCTAssertNotNil(object)
XCTAssertEqual(object?.testEntityID, NSNumber(value: 1))
XCTAssertEqual(object?.testString, "string1")
@@ -520,19 +520,26 @@ final class TransactionTests: BaseTestCase {
success: { (hasChanges) in
XCTAssertTrue(hasChanges)
XCTAssertEqual(stack.fetchCount(From<TestEntity1>()), 1)
let object = stack.fetchOne(From<TestEntity1>())
XCTAssertNotNil(object)
XCTAssertEqual(object?.fetchSource()?.unsafeContext(), stack.mainContext)
XCTAssertEqual(object?.querySource()?.unsafeContext(), stack.mainContext)
XCTAssertEqual(object?.testEntityID, NSNumber(value: 1))
XCTAssertEqual(object?.testString, "string1")
XCTAssertEqual(object?.testNumber, 100)
XCTAssertEqual(object?.testDate, testDate)
createExpectation.fulfill()
do {
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>()), 1)
let object = try stack.fetchOne(From<TestEntity1>())
XCTAssertNotNil(object)
XCTAssertEqual(object?.fetchSource()?.unsafeContext(), stack.mainContext)
XCTAssertEqual(object?.querySource()?.unsafeContext(), stack.mainContext)
XCTAssertEqual(object?.testEntityID, NSNumber(value: 1))
XCTAssertEqual(object?.testString, "string1")
XCTAssertEqual(object?.testNumber, 100)
XCTAssertEqual(object?.testDate, testDate)
createExpectation.fulfill()
}
catch {
XCTFail()
}
},
failure: { _ in
@@ -546,7 +553,7 @@ final class TransactionTests: BaseTestCase {
stack.perform(
asynchronous: { (transaction) -> Bool in
guard let object = transaction.fetchOne(From<TestEntity1>()) else {
guard let object = try transaction.fetchOne(From<TestEntity1>()) else {
XCTFail()
try transaction.cancel()
@@ -560,16 +567,23 @@ final class TransactionTests: BaseTestCase {
success: { (hasChanges) in
XCTAssertTrue(hasChanges)
XCTAssertEqual(stack.fetchCount(From<TestEntity1>()), 1)
let object = stack.fetchOne(From<TestEntity1>())
XCTAssertNotNil(object)
XCTAssertEqual(object?.testEntityID, NSNumber(value: 1))
XCTAssertEqual(object?.testString, "string1_edit")
XCTAssertEqual(object?.testNumber, 200)
XCTAssertEqual(object?.testDate, Date.distantFuture)
updateExpectation.fulfill()
do {
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>()), 1)
let object = try stack.fetchOne(From<TestEntity1>())
XCTAssertNotNil(object)
XCTAssertEqual(object?.testEntityID, NSNumber(value: 1))
XCTAssertEqual(object?.testString, "string1_edit")
XCTAssertEqual(object?.testNumber, 200)
XCTAssertEqual(object?.testDate, Date.distantFuture)
updateExpectation.fulfill()
}
catch {
XCTFail()
}
},
failure: { _ in
@@ -583,7 +597,7 @@ final class TransactionTests: BaseTestCase {
stack.perform(
asynchronous: { (transaction) -> Bool in
let object = transaction.fetchOne(From<TestEntity1>())
let object = try transaction.fetchOne(From<TestEntity1>())
transaction.delete(object)
return transaction.hasChanges
@@ -591,12 +605,19 @@ final class TransactionTests: BaseTestCase {
success: { (hasChanges) in
XCTAssertTrue(hasChanges)
XCTAssertEqual(stack.fetchCount(From<TestEntity1>()), 0)
let object = stack.fetchOne(From<TestEntity1>())
XCTAssertNil(object)
deleteExpectation.fulfill()
do {
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>()), 0)
let object = try stack.fetchOne(From<TestEntity1>())
XCTAssertNil(object)
deleteExpectation.fulfill()
}
catch {
XCTFail()
}
},
failure: { _ in
@@ -631,17 +652,24 @@ final class TransactionTests: BaseTestCase {
success: { (hasChanges) in
XCTAssertTrue(hasChanges)
XCTAssertEqual(stack.fetchCount(From<TestEntity1>("Config1")), 1)
XCTAssertEqual(stack.fetchCount(From<TestEntity1>(nil)), 0)
let object = stack.fetchOne(From<TestEntity1>("Config1"))
XCTAssertNotNil(object)
XCTAssertEqual(object?.testEntityID, NSNumber(value: 1))
XCTAssertEqual(object?.testString, "string1")
XCTAssertEqual(object?.testNumber, 100)
XCTAssertEqual(object?.testDate, testDate)
createExpectation.fulfill()
do {
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>("Config1")), 1)
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>(nil)), 0)
let object = try stack.fetchOne(From<TestEntity1>("Config1"))
XCTAssertNotNil(object)
XCTAssertEqual(object?.testEntityID, NSNumber(value: 1))
XCTAssertEqual(object?.testString, "string1")
XCTAssertEqual(object?.testNumber, 100)
XCTAssertEqual(object?.testDate, testDate)
createExpectation.fulfill()
}
catch {
XCTFail()
}
},
failure: { _ in
@@ -655,7 +683,7 @@ final class TransactionTests: BaseTestCase {
stack.perform(
asynchronous: { (transaction) -> Bool in
guard let object = transaction.fetchOne(From<TestEntity1>("Config1")) else {
guard let object = try transaction.fetchOne(From<TestEntity1>("Config1")) else {
XCTFail()
try transaction.cancel()
@@ -669,17 +697,24 @@ final class TransactionTests: BaseTestCase {
success: { (hasChanges) in
XCTAssertTrue(hasChanges)
XCTAssertEqual(stack.fetchCount(From<TestEntity1>("Config1")), 1)
XCTAssertEqual(stack.fetchCount(From<TestEntity1>(nil)), 0)
let object = stack.fetchOne(From<TestEntity1>("Config1"))
XCTAssertNotNil(object)
XCTAssertEqual(object?.testEntityID, NSNumber(value: 1))
XCTAssertEqual(object?.testString, "string1_edit")
XCTAssertEqual(object?.testNumber, 200)
XCTAssertEqual(object?.testDate, Date.distantFuture)
updateExpectation.fulfill()
do {
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>("Config1")), 1)
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>(nil)), 0)
let object = try stack.fetchOne(From<TestEntity1>("Config1"))
XCTAssertNotNil(object)
XCTAssertEqual(object?.testEntityID, NSNumber(value: 1))
XCTAssertEqual(object?.testString, "string1_edit")
XCTAssertEqual(object?.testNumber, 200)
XCTAssertEqual(object?.testDate, Date.distantFuture)
updateExpectation.fulfill()
}
catch {
XCTFail()
}
},
failure: { _ in
@@ -693,7 +728,7 @@ final class TransactionTests: BaseTestCase {
stack.perform(
asynchronous: { (transaction) -> Bool in
let object = transaction.fetchOne(From<TestEntity1>("Config1"))
let object = try transaction.fetchOne(From<TestEntity1>("Config1"))
transaction.delete(object)
return transaction.hasChanges
@@ -701,11 +736,21 @@ final class TransactionTests: BaseTestCase {
success: { (hasChanges) in
XCTAssertTrue(hasChanges)
XCTAssertEqual(stack.fetchCount(From<TestEntity1>("Config1")), 0)
XCTAssertEqual(stack.fetchCount(From<TestEntity1>(nil)), 0)
deleteExpectation.fulfill()
do {
let configCount = try stack.fetchCount(From<TestEntity1>("Config1"))
XCTAssertEqual(configCount, 0)
let defaultCount = try stack.fetchCount(From<TestEntity1>(nil))
XCTAssertEqual(defaultCount, 0)
deleteExpectation.fulfill()
}
catch {
XCTFail()
}
},
failure: { _ in
@@ -754,8 +799,8 @@ final class TransactionTests: BaseTestCase {
stack.perform(
asynchronous: { (transaction) -> Bool in
XCTAssertEqual(transaction.fetchCount(From<TestEntity1>()), 0)
XCTAssertNil(transaction.fetchOne(From<TestEntity1>()))
XCTAssertEqual(try transaction.fetchCount(From<TestEntity1>()), 0)
XCTAssertNil(try transaction.fetchOne(From<TestEntity1>()))
let object = transaction.create(Into<TestEntity1>())
object.testEntityID = NSNumber(value: 1)
@@ -782,7 +827,7 @@ final class TransactionTests: BaseTestCase {
stack.perform(
asynchronous: { (transaction) -> Void in
guard let object = transaction.fetchOne(From<TestEntity1>()) else {
guard let object = try transaction.fetchOne(From<TestEntity1>()) else {
XCTFail()
return
@@ -811,9 +856,9 @@ final class TransactionTests: BaseTestCase {
stack.perform(
asynchronous: { (transaction) -> Void in
XCTAssertEqual(transaction.fetchCount(From<TestEntity1>()), 1)
XCTAssertEqual(try transaction.fetchCount(From<TestEntity1>()), 1)
guard let object = transaction.fetchOne(From<TestEntity1>()) else {
guard let object = try transaction.fetchOne(From<TestEntity1>()) else {
XCTFail()
try transaction.cancel()
@@ -835,15 +880,22 @@ final class TransactionTests: BaseTestCase {
failure: { (error) in
XCTAssertEqual(error, CoreStoreError.userCancelled)
XCTAssertEqual(stack.fetchCount(From<TestEntity1>()), 1)
let object = stack.fetchOne(From<TestEntity1>())
XCTAssertNotNil(object)
XCTAssertEqual(object?.testEntityID, NSNumber(value: 1))
XCTAssertEqual(object?.testString, "string1")
XCTAssertEqual(object?.testNumber, 100)
XCTAssertEqual(object?.testDate, testDate)
deleteDiscardExpectation.fulfill()
do {
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>()), 1)
let object = try stack.fetchOne(From<TestEntity1>())
XCTAssertNotNil(object)
XCTAssertEqual(object?.testEntityID, NSNumber(value: 1))
XCTAssertEqual(object?.testString, "string1")
XCTAssertEqual(object?.testNumber, 100)
XCTAssertEqual(object?.testDate, testDate)
deleteDiscardExpectation.fulfill()
}
catch {
XCTFail()
}
}
)
}
@@ -878,9 +930,9 @@ final class TransactionTests: BaseTestCase {
XCTAssertTrue(transaction.hasChanges)
try transaction.commitAndWait()
XCTAssertEqual(stack.fetchCount(From<TestEntity1>()), 1)
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>()), 1)
let object = stack.fetchOne(From<TestEntity1>())
let object = try stack.fetchOne(From<TestEntity1>())
XCTAssertNotNil(object)
XCTAssertEqual(object?.fetchSource()?.unsafeContext(), stack.mainContext)
XCTAssertEqual(object?.querySource()?.unsafeContext(), stack.mainContext)
@@ -897,7 +949,7 @@ final class TransactionTests: BaseTestCase {
}
do {
guard let object = transaction.fetchOne(From<TestEntity1>()) else {
guard let object = try transaction.fetchOne(From<TestEntity1>()) else {
XCTFail()
return
@@ -911,9 +963,9 @@ final class TransactionTests: BaseTestCase {
XCTAssertTrue(transaction.hasChanges)
try transaction.commitAndWait()
XCTAssertEqual(stack.fetchCount(From<TestEntity1>()), 1)
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>()), 1)
let object = stack.fetchOne(From<TestEntity1>())
let object = try stack.fetchOne(From<TestEntity1>())
XCTAssertNotNil(object)
XCTAssertEqual(object?.testEntityID, NSNumber(value: 1))
XCTAssertEqual(object?.testString, "string1_edit")
@@ -927,7 +979,7 @@ final class TransactionTests: BaseTestCase {
}
do {
let object = transaction.fetchOne(From<TestEntity1>())
let object = try transaction.fetchOne(From<TestEntity1>())
transaction.delete(object)
do {
@@ -935,8 +987,8 @@ final class TransactionTests: BaseTestCase {
XCTAssertTrue(transaction.hasChanges)
try transaction.commitAndWait()
XCTAssertEqual(stack.fetchCount(From<TestEntity1>()), 0)
XCTAssertNil(stack.fetchOne(From<TestEntity1>()))
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>()), 0)
XCTAssertNil(try stack.fetchOne(From<TestEntity1>()))
}
catch {
@@ -967,10 +1019,10 @@ final class TransactionTests: BaseTestCase {
XCTAssertTrue(transaction.hasChanges)
try transaction.commitAndWait()
XCTAssertEqual(stack.fetchCount(From<TestEntity1>("Config1")), 1)
XCTAssertEqual(stack.fetchCount(From<TestEntity1>(nil)), 0)
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>("Config1")), 1)
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>(nil)), 0)
let object = stack.fetchOne(From<TestEntity1>("Config1"))
let object = try stack.fetchOne(From<TestEntity1>("Config1"))
XCTAssertNotNil(object)
XCTAssertEqual(object?.testEntityID, NSNumber(value: 1))
XCTAssertEqual(object?.testString, "string1")
@@ -984,7 +1036,7 @@ final class TransactionTests: BaseTestCase {
}
do {
guard let object = transaction.fetchOne(From<TestEntity1>("Config1")) else {
guard let object = try transaction.fetchOne(From<TestEntity1>("Config1")) else {
XCTFail()
return
@@ -998,10 +1050,10 @@ final class TransactionTests: BaseTestCase {
XCTAssertTrue(transaction.hasChanges)
try transaction.commitAndWait()
XCTAssertEqual(stack.fetchCount(From<TestEntity1>("Config1")), 1)
XCTAssertEqual(stack.fetchCount(From<TestEntity1>(nil)), 0)
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>("Config1")), 1)
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>(nil)), 0)
let object = stack.fetchOne(From<TestEntity1>("Config1"))
let object = try stack.fetchOne(From<TestEntity1>("Config1"))
XCTAssertNotNil(object)
XCTAssertEqual(object?.testEntityID, NSNumber(value: 1))
XCTAssertEqual(object?.testString, "string1_edit")
@@ -1015,7 +1067,7 @@ final class TransactionTests: BaseTestCase {
}
do {
let object = transaction.fetchOne(From<TestEntity1>("Config1"))
let object = try transaction.fetchOne(From<TestEntity1>("Config1"))
transaction.delete(object)
do {
@@ -1023,8 +1075,8 @@ final class TransactionTests: BaseTestCase {
XCTAssertTrue(transaction.hasChanges)
try transaction.commitAndWait()
XCTAssertEqual(stack.fetchCount(From<TestEntity1>("Config1")), 0)
XCTAssertEqual(stack.fetchCount(From<TestEntity1>(nil)), 0)
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>("Config1")), 0)
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>(nil)), 0)
}
catch {
@@ -1050,11 +1102,11 @@ final class TransactionTests: BaseTestCase {
transaction.rollback()
XCTAssertEqual(transaction.fetchCount(From<TestEntity1>()), 0)
XCTAssertNil(transaction.fetchOne(From<TestEntity1>()))
XCTAssertEqual(try transaction.fetchCount(From<TestEntity1>()), 0)
XCTAssertNil(try transaction.fetchOne(From<TestEntity1>()))
XCTAssertEqual(stack.fetchCount(From<TestEntity1>()), 0)
XCTAssertNil(stack.fetchOne(From<TestEntity1>()))
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>()), 0)
XCTAssertNil(try stack.fetchOne(From<TestEntity1>()))
}
let testDate = Date()
@@ -1079,7 +1131,7 @@ final class TransactionTests: BaseTestCase {
do {
guard let object = transaction.fetchOne(From<TestEntity1>()) else {
guard let object = try transaction.fetchOne(From<TestEntity1>()) else {
XCTFail()
return
@@ -1090,8 +1142,8 @@ final class TransactionTests: BaseTestCase {
transaction.rollback()
XCTAssertEqual(transaction.fetchCount(From<TestEntity1>()), 1)
if let object = transaction.fetchOne(From<TestEntity1>()) {
XCTAssertEqual(try transaction.fetchCount(From<TestEntity1>()), 1)
if let object = try transaction.fetchOne(From<TestEntity1>()) {
XCTAssertEqual(object.testEntityID, NSNumber(value: 1))
XCTAssertEqual(object.testString, "string1")
@@ -1103,8 +1155,8 @@ final class TransactionTests: BaseTestCase {
XCTFail()
}
XCTAssertEqual(stack.fetchCount(From<TestEntity1>()), 1)
if let object = stack.fetchOne(From<TestEntity1>()) {
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>()), 1)
if let object = try stack.fetchOne(From<TestEntity1>()) {
XCTAssertEqual(object.testEntityID, NSNumber(value: 1))
XCTAssertEqual(object.testString, "string1")
@@ -1119,7 +1171,7 @@ final class TransactionTests: BaseTestCase {
do {
guard let object = transaction.fetchOne(From<TestEntity1>()) else {
guard let object = try transaction.fetchOne(From<TestEntity1>()) else {
XCTFail()
return
@@ -1128,8 +1180,8 @@ final class TransactionTests: BaseTestCase {
transaction.rollback()
XCTAssertEqual(transaction.fetchCount(From<TestEntity1>()), 1)
if let object = transaction.fetchOne(From<TestEntity1>()) {
XCTAssertEqual(try transaction.fetchCount(From<TestEntity1>()), 1)
if let object = try transaction.fetchOne(From<TestEntity1>()) {
XCTAssertEqual(object.testEntityID, NSNumber(value: 1))
XCTAssertEqual(object.testString, "string1")
@@ -1141,8 +1193,8 @@ final class TransactionTests: BaseTestCase {
XCTFail()
}
XCTAssertEqual(stack.fetchCount(From<TestEntity1>()), 1)
if let object = stack.fetchOne(From<TestEntity1>()) {
XCTAssertEqual(try stack.fetchCount(From<TestEntity1>()), 1)
if let object = try stack.fetchOne(From<TestEntity1>()) {
XCTAssertEqual(object.testEntityID, NSNumber(value: 1))
XCTAssertEqual(object.testString, "string1")

View File

@@ -0,0 +1,53 @@
import UIKit
import CoreStore
/// Model Declaration =====
class Animal: CoreStoreObject {
let species = Value.Required<String>("species", initial: "Swift")
let master = Relationship.ToOne<Person>("master")
let color = Transformable.Optional<UIColor>("color", initial: .orange)
}
class Person: CoreStoreObject {
let name = Value.Optional<String>("name")
let pets = Relationship.ToManyUnordered<Animal>("pets", inverse: { $0.master })
}
/// =======================
/// Stack setup ===========
let dataStack = DataStack(
CoreStoreSchema(
modelVersion: "V1",
entities: [
Entity<Animal>("Animal"),
Entity<Person>("Person")
]
)
)
try dataStack.addStorageAndWait(SQLiteStore(fileName: "data.sqlite"))
/// =======================
/// Transactions ==========
dataStack.perform(synchronous: { transaction in
let animal = transaction.create(Into<Animal>())
animal.species .= "Sparrow"
animal.color .= .yellow
let person = transaction.create(Into<Person>())
person.name .= "John"
person.pets.value.insert(animal)
})
/// =======================
/// Accessing Objects =====
let bird = dataStack.fetchOne(From<Animal>().where(\.species == "Sparrow"))!
bird.species.value
bird.color.value
print(bird)
let owner = bird.master.value!
owner.name.value
owner.pets.count
print(owner)
/// =======================

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<playground version='5.0' target-platform='ios' executeOnSourceChanges='false'>
<timeline fileName='timeline.xctimeline'/>
</playground>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
</Workspace>

View File

@@ -64,7 +64,7 @@ CoreStore was (and is) heavily shaped by real-world needs of developing data-dep
- [Starting migrations](#starting-migrations)
- [Progressive migrations](#progressive-migrations)
- [Forecasting migrations](#forecasting-migrations)
- [Custom migratoins](#custom-migrations)
- [Custom migrations](#custom-migrations)
- [Saving and processing transactions](#saving-and-processing-transactions)
- [Transaction types](#transaction-types)
- [Asynchronous transactions](#asynchronous-transactions)

View File

@@ -151,7 +151,7 @@ public extension BaseDataTransaction {
return nil
}
if let object = self.fetchOne(From(entityType), Where<D>(uniqueIDKeyPath, isEqualTo: uniqueIDValue)) {
if let object = try self.fetchOne(From(entityType), Where<D>(uniqueIDKeyPath, isEqualTo: uniqueIDValue)) {
guard entityType.shouldUpdate(from: source, in: self) else {
@@ -215,7 +215,8 @@ public extension BaseDataTransaction {
importSourceByID = try autoreleasepool { try preProcess(importSourceByID) }
var existingObjectsByID = Dictionary<D.UniqueIDType, D>()
self.fetchAll(From(entityType), Where<D>(entityType.uniqueIDKeyPath, isMemberOf: sortedIDs))?
try self
.fetchAll(From(entityType), Where<D>(entityType.uniqueIDKeyPath, isMemberOf: sortedIDs))
.forEach { existingObjectsByID[$0.uniqueIDValue] = $0 }
var processedObjectIDs = Set<D.UniqueIDType>()

View File

@@ -39,13 +39,13 @@ extension BaseDataTransaction: FetchableSource, QueryableSource {
- returns: the number of `DynamicObject`s deleted
*/
@discardableResult
public func deleteAll<D>(_ from: From<D>, _ deleteClauses: DeleteClause...) -> Int? {
public func deleteAll<D>(_ from: From<D>, _ deleteClauses: DeleteClause...) throws -> Int {
CoreStore.assert(
self.isRunningInAllowedQueue(),
"Attempted to delete from a \(cs_typeName(self)) outside its designated queue."
)
return self.context.deleteAll(from, deleteClauses)
return try self.context.deleteAll(from, deleteClauses)
}
/**
@@ -56,13 +56,13 @@ extension BaseDataTransaction: FetchableSource, QueryableSource {
- returns: the number of `DynamicObject`s deleted
*/
@discardableResult
public func deleteAll<D>(_ from: From<D>, _ deleteClauses: [DeleteClause]) -> Int? {
public func deleteAll<D>(_ from: From<D>, _ deleteClauses: [DeleteClause]) throws -> Int {
CoreStore.assert(
self.isRunningInAllowedQueue(),
"Attempted to delete from a \(cs_typeName(self)) outside its designated queue."
)
return self.context.deleteAll(from, deleteClauses)
return try self.context.deleteAll(from, deleteClauses)
}
/**
@@ -74,14 +74,14 @@ extension BaseDataTransaction: FetchableSource, QueryableSource {
- returns: the number of `DynamicObject`s deleted
*/
@discardableResult
public func deleteAll<B: FetchChainableBuilderType>(_ clauseChain: B) -> Int? {
public func deleteAll<B: FetchChainableBuilderType>(_ clauseChain: B) throws -> Int {
CoreStore.assert(
self.isRunningInAllowedQueue(),
"Attempted to delete from a \(cs_typeName(self)) outside its designated queue."
)
return self.context.deleteAll(clauseChain.from, clauseChain.fetchClauses)
return try self.context.deleteAll(clauseChain.from, clauseChain.fetchClauses)
}
@@ -136,15 +136,16 @@ extension BaseDataTransaction: FetchableSource, QueryableSource {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the first `DynamicObject` instance that satisfies the specified `FetchClause`s
- returns: the first `DynamicObject` instance that satisfies the specified `FetchClause`s, or `nil` if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> D? {
public func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> D? {
CoreStore.assert(
self.isRunningInAllowedQueue(),
"Attempted to fetch from a \(cs_typeName(self)) outside its designated queue."
)
return self.context.fetchOne(from, fetchClauses)
return try self.context.fetchOne(from, fetchClauses)
}
/**
@@ -152,15 +153,16 @@ extension BaseDataTransaction: FetchableSource, QueryableSource {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the first `DynamicObject` instance that satisfies the specified `FetchClause`s
- returns: the first `DynamicObject` instance that satisfies the specified `FetchClause`s, or `nil` if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> D? {
public func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> D? {
CoreStore.assert(
self.isRunningInAllowedQueue(),
"Attempted to fetch from a \(cs_typeName(self)) outside its designated queue."
)
return self.context.fetchOne(from, fetchClauses)
return try self.context.fetchOne(from, fetchClauses)
}
/**
@@ -173,15 +175,16 @@ extension BaseDataTransaction: FetchableSource, QueryableSource {
)
```
- parameter clauseChain: a `FetchChainableBuilderType` built from a chain of clauses
- returns: the first `DynamicObject` instance that satisfies the specified `FetchChainableBuilderType`
- returns: the first `DynamicObject` instance that satisfies the specified `FetchChainableBuilderType`, or `nil` if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchOne<B: FetchChainableBuilderType>(_ clauseChain: B) -> B.ObjectType? {
public func fetchOne<B: FetchChainableBuilderType>(_ clauseChain: B) throws -> B.ObjectType? {
CoreStore.assert(
self.isRunningInAllowedQueue(),
"Attempted to fetch from a \(cs_typeName(self)) outside its designated queue."
)
return self.context.fetchOne(clauseChain)
return try self.context.fetchOne(clauseChain)
}
/**
@@ -189,15 +192,16 @@ extension BaseDataTransaction: FetchableSource, QueryableSource {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: all `DynamicObject` instances that satisfy the specified `FetchClause`s
- returns: all `DynamicObject` instances that satisfy the specified `FetchClause`s, or an empty array if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [D]? {
public func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [D] {
CoreStore.assert(
self.isRunningInAllowedQueue(),
"Attempted to fetch from a \(cs_typeName(self)) outside its designated queue."
)
return self.context.fetchAll(from, fetchClauses)
return try self.context.fetchAll(from, fetchClauses)
}
/**
@@ -205,15 +209,16 @@ extension BaseDataTransaction: FetchableSource, QueryableSource {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: all `DynamicObject` instances that satisfy the specified `FetchClause`s
- returns: all `DynamicObject` instances that satisfy the specified `FetchClause`s, or an empty array if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [D]? {
public func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [D] {
CoreStore.assert(
self.isRunningInAllowedQueue(),
"Attempted to fetch from a \(cs_typeName(self)) outside its designated queue."
)
return self.context.fetchAll(from, fetchClauses)
return try self.context.fetchAll(from, fetchClauses)
}
/**
@@ -226,15 +231,16 @@ extension BaseDataTransaction: FetchableSource, QueryableSource {
)
```
- parameter clauseChain: a `FetchChainableBuilderType` built from a chain of clauses
- returns: all `DynamicObject` instances that satisfy the specified `FetchChainableBuilderType`
- returns: all `DynamicObject` instances that satisfy the specified `FetchChainableBuilderType`, or an empty array if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchAll<B: FetchChainableBuilderType>(_ clauseChain: B) -> [B.ObjectType]? {
public func fetchAll<B: FetchChainableBuilderType>(_ clauseChain: B) throws -> [B.ObjectType] {
CoreStore.assert(
self.isRunningInAllowedQueue(),
"Attempted to fetch from a \(cs_typeName(self)) outside its designated queue."
)
return self.context.fetchAll(clauseChain)
return try self.context.fetchAll(clauseChain)
}
/**
@@ -242,15 +248,16 @@ extension BaseDataTransaction: FetchableSource, QueryableSource {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the number `DynamicObject`s that satisfy the specified `FetchClause`s
- returns: the number of `DynamicObject`s that satisfy the specified `FetchClause`s
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> Int? {
public func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> Int {
CoreStore.assert(
self.isRunningInAllowedQueue(),
"Attempted to fetch from a \(cs_typeName(self)) outside its designated queue."
)
return self.context.fetchCount(from, fetchClauses)
return try self.context.fetchCount(from, fetchClauses)
}
/**
@@ -258,15 +265,16 @@ extension BaseDataTransaction: FetchableSource, QueryableSource {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the number `DynamicObject`s that satisfy the specified `FetchClause`s
- returns: the number of `DynamicObject`s that satisfy the specified `FetchClause`s
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> Int? {
public func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> Int {
CoreStore.assert(
self.isRunningInAllowedQueue(),
"Attempted to fetch from a \(cs_typeName(self)) outside its designated queue."
)
return self.context.fetchCount(from, fetchClauses)
return try self.context.fetchCount(from, fetchClauses)
}
/**
@@ -279,15 +287,16 @@ extension BaseDataTransaction: FetchableSource, QueryableSource {
)
```
- parameter clauseChain: a `FetchChainableBuilderType` built from a chain of clauses
- returns: the number `DynamicObject`s that satisfy the specified `FetchChainableBuilderType`
- returns: the number of `DynamicObject`s that satisfy the specified `FetchChainableBuilderType`
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchCount<B: FetchChainableBuilderType>(_ clauseChain: B) -> Int? {
public func fetchCount<B: FetchChainableBuilderType>(_ clauseChain: B) throws -> Int {
CoreStore.assert(
self.isRunningInAllowedQueue(),
"Attempted to fetch from a \(cs_typeName(self)) outside its designated queue."
)
return self.context.fetchCount(clauseChain)
return try self.context.fetchCount(clauseChain)
}
/**
@@ -295,15 +304,16 @@ extension BaseDataTransaction: FetchableSource, QueryableSource {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the `NSManagedObjectID` for the first `DynamicObject` that satisfies the specified `FetchClause`s
- returns: the `NSManagedObjectID` for the first `DynamicObject` that satisfies the specified `FetchClause`s, or `nil` if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> NSManagedObjectID? {
public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> NSManagedObjectID? {
CoreStore.assert(
self.isRunningInAllowedQueue(),
"Attempted to fetch from a \(cs_typeName(self)) outside its designated queue."
)
return self.context.fetchObjectID(from, fetchClauses)
return try self.context.fetchObjectID(from, fetchClauses)
}
/**
@@ -311,15 +321,16 @@ extension BaseDataTransaction: FetchableSource, QueryableSource {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the `NSManagedObjectID` for the first `DynamicObject` that satisfies the specified `FetchClause`s
- returns: the `NSManagedObjectID` for the first `DynamicObject` that satisfies the specified `FetchClause`s, or `nil` if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> NSManagedObjectID? {
public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> NSManagedObjectID? {
CoreStore.assert(
self.isRunningInAllowedQueue(),
"Attempted to fetch from a \(cs_typeName(self)) outside its designated queue."
)
return self.context.fetchObjectID(from, fetchClauses)
return try self.context.fetchObjectID(from, fetchClauses)
}
/**
@@ -332,15 +343,16 @@ extension BaseDataTransaction: FetchableSource, QueryableSource {
)
```
- parameter clauseChain: a `FetchChainableBuilderType` built from a chain of clauses
- returns: the `NSManagedObjectID` for the first `DynamicObject` that satisfies the specified `FetchChainableBuilderType`
- returns: the `NSManagedObjectID` for the first `DynamicObject` that satisfies the specified `FetchChainableBuilderType`, or `nil` if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchObjectID<B: FetchChainableBuilderType>(_ clauseChain: B) -> NSManagedObjectID? {
public func fetchObjectID<B: FetchChainableBuilderType>(_ clauseChain: B) throws -> NSManagedObjectID? {
CoreStore.assert(
self.isRunningInAllowedQueue(),
"Attempted to fetch from a \(cs_typeName(self)) outside its designated queue."
)
return self.context.fetchObjectID(clauseChain)
return try self.context.fetchObjectID(clauseChain)
}
/**
@@ -348,15 +360,16 @@ extension BaseDataTransaction: FetchableSource, QueryableSource {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the `NSManagedObjectID` for all `DynamicObject`s that satisfy the specified `FetchClause`s
- returns: the `NSManagedObjectID` for all `DynamicObject`s that satisfy the specified `FetchClause`s, or an empty array if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [NSManagedObjectID]? {
public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [NSManagedObjectID] {
CoreStore.assert(
self.isRunningInAllowedQueue(),
"Attempted to fetch from a \(cs_typeName(self)) outside its designated queue."
)
return self.context.fetchObjectIDs(from, fetchClauses)
return try self.context.fetchObjectIDs(from, fetchClauses)
}
/**
@@ -364,15 +377,16 @@ extension BaseDataTransaction: FetchableSource, QueryableSource {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the `NSManagedObjectID` for all `DynamicObject`s that satisfy the specified `FetchClause`s
- returns: the `NSManagedObjectID` for all `DynamicObject`s that satisfy the specified `FetchClause`s, or an empty array if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [NSManagedObjectID]? {
public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [NSManagedObjectID] {
CoreStore.assert(
self.isRunningInAllowedQueue(),
"Attempted to fetch from a \(cs_typeName(self)) outside its designated queue."
)
return self.context.fetchObjectIDs(from, fetchClauses)
return try self.context.fetchObjectIDs(from, fetchClauses)
}
/**
@@ -385,15 +399,16 @@ extension BaseDataTransaction: FetchableSource, QueryableSource {
)
```
- parameter clauseChain: a `FetchChainableBuilderType` built from a chain of clauses
- returns: the `NSManagedObjectID` for all `DynamicObject`s that satisfy the specified `FetchChainableBuilderType`
- returns: the `NSManagedObjectID` for all `DynamicObject`s that satisfy the specified `FetchChainableBuilderType`, or an empty array if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchObjectIDs<B: FetchChainableBuilderType>(_ clauseChain: B) -> [NSManagedObjectID]? {
public func fetchObjectIDs<B: FetchChainableBuilderType>(_ clauseChain: B) throws -> [NSManagedObjectID] {
CoreStore.assert(
self.isRunningInAllowedQueue(),
"Attempted to fetch from a \(cs_typeName(self)) outside its designated queue."
)
return self.context.fetchObjectIDs(clauseChain)
return try self.context.fetchObjectIDs(clauseChain)
}
@@ -407,15 +422,16 @@ extension BaseDataTransaction: FetchableSource, QueryableSource {
- parameter from: a `From` clause indicating the entity type
- parameter selectClause: a `Select<U>` clause indicating the properties to fetch, and with the generic type indicating the return type.
- parameter queryClauses: a series of `QueryClause` instances for the query request. Accepts `Where`, `OrderBy`, `GroupBy`, and `Tweak` clauses.
- returns: the result of the the query. The type of the return value is specified by the generic type of the `Select<U>` parameter.
- returns: the result of the the query, or `nil` if no match was found. The type of the return value is specified by the generic type of the `Select<U>` parameter.
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func queryValue<D, U: QueryableAttributeType>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) -> U? {
public func queryValue<D, U: QueryableAttributeType>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) throws -> U? {
CoreStore.assert(
self.isRunningInAllowedQueue(),
"Attempted to query from a \(cs_typeName(self)) outside its designated queue."
)
return self.context.queryValue(from, selectClause, queryClauses)
return try self.context.queryValue(from, selectClause, queryClauses)
}
/**
@@ -426,15 +442,16 @@ extension BaseDataTransaction: FetchableSource, QueryableSource {
- parameter from: a `From` clause indicating the entity type
- parameter selectClause: a `Select<U>` clause indicating the properties to fetch, and with the generic type indicating the return type.
- parameter queryClauses: a series of `QueryClause` instances for the query request. Accepts `Where`, `OrderBy`, `GroupBy`, and `Tweak` clauses.
- returns: the result of the the query. The type of the return value is specified by the generic type of the `Select<U>` parameter.
- returns: the result of the the query, or `nil` if no match was found. The type of the return value is specified by the generic type of the `Select<U>` parameter.
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func queryValue<D, U: QueryableAttributeType>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) -> U? {
public func queryValue<D, U: QueryableAttributeType>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) throws -> U? {
CoreStore.assert(
self.isRunningInAllowedQueue(),
"Attempted to query from a \(cs_typeName(self)) outside its designated queue."
)
return self.context.queryValue(from, selectClause, queryClauses)
return try self.context.queryValue(from, selectClause, queryClauses)
}
/**
@@ -449,15 +466,16 @@ extension BaseDataTransaction: FetchableSource, QueryableSource {
)
```
- parameter clauseChain: a `QueryChainableBuilderType` indicating the property/aggregate to fetch and the series of queries for the request.
- returns: the result of the the query as specified by the `QueryChainableBuilderType`
- returns: the result of the the query as specified by the `QueryChainableBuilderType`, or `nil` if no match was found.
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func queryValue<B: QueryChainableBuilderType>(_ clauseChain: B) -> B.ResultType? where B.ResultType: QueryableAttributeType {
public func queryValue<B: QueryChainableBuilderType>(_ clauseChain: B) throws -> B.ResultType? where B.ResultType: QueryableAttributeType {
CoreStore.assert(
self.isRunningInAllowedQueue(),
"Attempted to query from a \(cs_typeName(self)) outside its designated queue."
)
return self.context.queryValue(clauseChain.from, clauseChain.select, clauseChain.queryClauses)
return try self.context.queryValue(clauseChain.from, clauseChain.select, clauseChain.queryClauses)
}
/**
@@ -469,14 +487,15 @@ extension BaseDataTransaction: FetchableSource, QueryableSource {
- parameter selectClause: a `Select<U>` clause indicating the properties to fetch, and with the generic type indicating the return type.
- parameter queryClauses: a series of `QueryClause` instances for the query request. Accepts `Where`, `OrderBy`, `GroupBy`, and `Tweak` clauses.
- returns: the result of the the query. The type of the return value is specified by the generic type of the `Select<U>` parameter.
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) -> [[String: Any]]? {
public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) throws -> [[String: Any]] {
CoreStore.assert(
self.isRunningInAllowedQueue(),
"Attempted to query from a \(cs_typeName(self)) outside its designated queue."
)
return self.context.queryAttributes(from, selectClause, queryClauses)
return try self.context.queryAttributes(from, selectClause, queryClauses)
}
/**
@@ -488,14 +507,15 @@ extension BaseDataTransaction: FetchableSource, QueryableSource {
- parameter selectClause: a `Select<U>` clause indicating the properties to fetch, and with the generic type indicating the return type.
- parameter queryClauses: a series of `QueryClause` instances for the query request. Accepts `Where`, `OrderBy`, `GroupBy`, and `Tweak` clauses.
- returns: the result of the the query. The type of the return value is specified by the generic type of the `Select<U>` parameter.
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) -> [[String: Any]]? {
public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) throws -> [[String: Any]] {
CoreStore.assert(
self.isRunningInAllowedQueue(),
"Attempted to query from a \(cs_typeName(self)) outside its designated queue."
)
return self.context.queryAttributes(from, selectClause, queryClauses)
return try self.context.queryAttributes(from, selectClause, queryClauses)
}
/**
@@ -520,14 +540,15 @@ extension BaseDataTransaction: FetchableSource, QueryableSource {
```
- parameter clauseChain: a `QueryChainableBuilderType` indicating the properties to fetch and the series of queries for the request.
- returns: the result of the the query as specified by the `QueryChainableBuilderType`
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func queryAttributes<B: QueryChainableBuilderType>(_ clauseChain: B) -> [[String: Any]]? where B.ResultType == NSDictionary {
public func queryAttributes<B: QueryChainableBuilderType>(_ clauseChain: B) throws -> [[String: Any]] where B.ResultType == NSDictionary {
CoreStore.assert(
self.isRunningInAllowedQueue(),
"Attempted to query from a \(cs_typeName(self)) outside its designated queue."
)
return self.context.queryAttributes(clauseChain.from, clauseChain.select, clauseChain.queryClauses)
return try self.context.queryAttributes(clauseChain.from, clauseChain.select, clauseChain.queryClauses)
}

View File

@@ -223,7 +223,7 @@ public /*abstract*/ class BaseDataTransaction {
public func insertedObjects<D: DynamicObject>(_ entity: D.Type) -> Set<D> {
CoreStore.assert(
self.transactionQueue.cs_isCurrentExecutionContext(),
self.isRunningInAllowedQueue(),
"Attempted to access inserted objects from a \(cs_typeName(self)) outside its designated queue."
)
CoreStore.assert(
@@ -241,7 +241,7 @@ public /*abstract*/ class BaseDataTransaction {
public func insertedObjectIDs() -> Set<NSManagedObjectID> {
CoreStore.assert(
self.transactionQueue.cs_isCurrentExecutionContext(),
self.isRunningInAllowedQueue(),
"Attempted to access inserted object IDs from a \(cs_typeName(self)) outside its designated queue."
)
CoreStore.assert(
@@ -260,7 +260,7 @@ public /*abstract*/ class BaseDataTransaction {
public func insertedObjectIDs<D: DynamicObject>(_ entity: D.Type) -> Set<NSManagedObjectID> {
CoreStore.assert(
self.transactionQueue.cs_isCurrentExecutionContext(),
self.isRunningInAllowedQueue(),
"Attempted to access inserted object IDs from a \(cs_typeName(self)) outside its designated queue."
)
CoreStore.assert(
@@ -279,7 +279,7 @@ public /*abstract*/ class BaseDataTransaction {
public func updatedObjects<D: DynamicObject>(_ entity: D.Type) -> Set<D> {
CoreStore.assert(
self.transactionQueue.cs_isCurrentExecutionContext(),
self.isRunningInAllowedQueue(),
"Attempted to access updated objects from a \(cs_typeName(self)) outside its designated queue."
)
CoreStore.assert(
@@ -297,7 +297,7 @@ public /*abstract*/ class BaseDataTransaction {
public func updatedObjectIDs() -> Set<NSManagedObjectID> {
CoreStore.assert(
self.transactionQueue.cs_isCurrentExecutionContext(),
self.isRunningInAllowedQueue(),
"Attempted to access updated object IDs from a \(cs_typeName(self)) outside its designated queue."
)
CoreStore.assert(
@@ -316,7 +316,7 @@ public /*abstract*/ class BaseDataTransaction {
public func updatedObjectIDs<D: DynamicObject>(_ entity: D.Type) -> Set<NSManagedObjectID> {
CoreStore.assert(
self.transactionQueue.cs_isCurrentExecutionContext(),
self.isRunningInAllowedQueue(),
"Attempted to access updated object IDs from a \(cs_typeName(self)) outside its designated queue."
)
CoreStore.assert(
@@ -335,7 +335,7 @@ public /*abstract*/ class BaseDataTransaction {
public func deletedObjects<D: DynamicObject>(_ entity: D.Type) -> Set<D> {
CoreStore.assert(
self.transactionQueue.cs_isCurrentExecutionContext(),
self.isRunningInAllowedQueue(),
"Attempted to access deleted objects from a \(cs_typeName(self)) outside its designated queue."
)
CoreStore.assert(
@@ -354,7 +354,7 @@ public /*abstract*/ class BaseDataTransaction {
public func deletedObjectIDs() -> Set<NSManagedObjectID> {
CoreStore.assert(
self.transactionQueue.cs_isCurrentExecutionContext(),
self.isRunningInAllowedQueue(),
"Attempted to access deleted object IDs from a \(cs_typeName(self)) outside its designated queue."
)
CoreStore.assert(
@@ -373,7 +373,7 @@ public /*abstract*/ class BaseDataTransaction {
public func deletedObjectIDs<D: DynamicObject>(_ entity: D.Type) -> Set<NSManagedObjectID> {
CoreStore.assert(
self.transactionQueue.cs_isCurrentExecutionContext(),
self.isRunningInAllowedQueue(),
"Attempted to access deleted object IDs from a \(cs_typeName(self)) outside its designated queue."
)
CoreStore.assert(

View File

@@ -93,7 +93,8 @@ public extension CSBaseDataTransaction {
self.swiftTransaction.isRunningInAllowedQueue(),
"Attempted to fetch from a \(cs_typeName(self)) outside its designated queue."
)
return self.swiftTransaction.context.fetchOne(from, fetchClauses)
return (try? self.swiftTransaction.context.fetchOne(from, fetchClauses))?
.flatMap({ $0 })
}
/**
@@ -110,7 +111,8 @@ public extension CSBaseDataTransaction {
self.swiftTransaction.isRunningInAllowedQueue(),
"Attempted to fetch from a \(cs_typeName(self)) outside its designated queue."
)
return self.swiftTransaction.context.fetchAll(from, fetchClauses)
return (try? self.swiftTransaction.context.fetchAll(from, fetchClauses))
.flatMap({ $0 })
}
/**
@@ -127,9 +129,8 @@ public extension CSBaseDataTransaction {
self.swiftTransaction.isRunningInAllowedQueue(),
"Attempted to fetch from a \(cs_typeName(self)) outside its designated queue."
)
return self.swiftTransaction.context
.fetchCount(from, fetchClauses)
.flatMap { NSNumber(value: $0) }
return (try? self.swiftTransaction.context.fetchCount(from, fetchClauses))
.flatMap({ NSNumber(value: $0) })
}
/**
@@ -146,7 +147,8 @@ public extension CSBaseDataTransaction {
self.swiftTransaction.isRunningInAllowedQueue(),
"Attempted to fetch from a \(cs_typeName(self)) outside its designated queue."
)
return self.swiftTransaction.context.fetchObjectID(from, fetchClauses)
return (try? self.swiftTransaction.context.fetchObjectID(from, fetchClauses))
.flatMap({ $0 })
}
/**
@@ -166,7 +168,8 @@ public extension CSBaseDataTransaction {
self.swiftTransaction.isRunningInAllowedQueue(),
"Attempted to query from a \(cs_typeName(self)) outside its designated queue."
)
return self.swiftTransaction.context.queryValue(from, selectClause, queryClauses)
return (try? self.swiftTransaction.context.queryValue(from, selectClause, queryClauses))
.flatMap({ $0 })
}
/**
@@ -186,6 +189,7 @@ public extension CSBaseDataTransaction {
self.swiftTransaction.isRunningInAllowedQueue(),
"Attempted to query from a \(cs_typeName(self)) outside its designated queue."
)
return self.swiftTransaction.context.queryAttributes(from, selectClause, queryClauses)
return (try? self.swiftTransaction.context.queryAttributes(from, selectClause, queryClauses))
.flatMap({ $0 })
}
}

View File

@@ -93,7 +93,8 @@ public extension CSDataStack {
Thread.isMainThread,
"Attempted to fetch from a \(cs_typeName(self)) outside the main thread."
)
return self.bridgeToSwift.mainContext.fetchOne(from, fetchClauses)
return (try? self.bridgeToSwift.mainContext.fetchOne(from, fetchClauses))?
.flatMap({ $0 })
}
/**
@@ -110,7 +111,8 @@ public extension CSDataStack {
Thread.isMainThread,
"Attempted to fetch from a \(cs_typeName(self)) outside the main thread."
)
return self.bridgeToSwift.mainContext.fetchAll(from, fetchClauses)
return (try? self.bridgeToSwift.mainContext.fetchAll(from, fetchClauses))
.flatMap({ $0 })
}
/**
@@ -127,9 +129,8 @@ public extension CSDataStack {
Thread.isMainThread,
"Attempted to fetch from a \(cs_typeName(self)) outside the main thread."
)
return self.bridgeToSwift.mainContext
.fetchCount(from, fetchClauses)
.flatMap { NSNumber(value: $0) }
return (try? self.bridgeToSwift.mainContext.fetchCount(from, fetchClauses))
.flatMap({ NSNumber(value: $0) })
}
/**
@@ -146,7 +147,8 @@ public extension CSDataStack {
Thread.isMainThread,
"Attempted to fetch from a \(cs_typeName(self)) outside the main thread."
)
return self.bridgeToSwift.mainContext.fetchObjectID(from, fetchClauses)
return (try? self.bridgeToSwift.mainContext.fetchObjectID(from, fetchClauses))?
.flatMap({ $0 })
}
/**
@@ -163,7 +165,8 @@ public extension CSDataStack {
Thread.isMainThread,
"Attempted to fetch from a \(cs_typeName(self)) outside the main thread."
)
return self.bridgeToSwift.mainContext.fetchObjectIDs(from, fetchClauses)
return (try? self.bridgeToSwift.mainContext.fetchObjectIDs(from, fetchClauses))
.flatMap({ $0 })
}
/**
@@ -183,7 +186,8 @@ public extension CSDataStack {
Thread.isMainThread,
"Attempted to query from a \(cs_typeName(self)) outside the main thread."
)
return self.bridgeToSwift.mainContext.queryValue(from, selectClause, queryClauses)
return (try? self.bridgeToSwift.mainContext.queryValue(from, selectClause, queryClauses))
.flatMap({ $0 })
}
/**
@@ -203,6 +207,7 @@ public extension CSDataStack {
Thread.isMainThread,
"Attempted to query from a \(cs_typeName(self)) outside the main thread."
)
return self.bridgeToSwift.mainContext.queryAttributes(from, selectClause, queryClauses)
return (try? self.bridgeToSwift.mainContext.queryAttributes(from, selectClause, queryClauses))
.flatMap({ $0 })
}
}

View File

@@ -50,7 +50,7 @@ public final class CSDataStack: NSObject, CoreStoreObjectiveCType {
Initializes a `CSDataStack` from the model with the specified `modelName` in the specified `bundle`.
- parameter xcodeModelName: the name of the (.xcdatamodeld) model file. If not specified, the application name (CFBundleName) will be used if it exists, or "CoreData" if it the bundle name was not set.
- parameter bundle: an optional bundle to load models from. If not specified, the main bundle will be used.
- parameter bundle: an optional bundle to load .xcdatamodeld models from. If not specified, the main bundle will be used.
- parameter versionChain: the version strings that indicate the sequence of model versions to be used as the order for progressive migrations. If not specified, will default to a non-migrating data stack.
*/
@objc

View File

@@ -217,6 +217,17 @@ extension CoreStoreError: CoreStoreSwiftType, _ObjectiveCBridgeableError {
return
}
self = .progressiveMigrationRequired(localStoreURL: localStoreURL)
case .asynchronousMigrationRequired:
guard
let localStoreURL = info["localStoreURL"] as? URL,
case let nsError as NSError = info["NSError"]
else {
self = .unknown
return
}
self = .asynchronousMigrationRequired(localStoreURL: localStoreURL, NSError: nsError)
case .internalError:
guard case let nsError as NSError = info["NSError"] else {
@@ -236,6 +247,14 @@ extension CoreStoreError: CoreStoreSwiftType, _ObjectiveCBridgeableError {
case .userCancelled:
self = .userCancelled
case .persistentStoreNotFound:
guard let entity = info["entity"] as? DynamicObject.Type else {
self = .unknown
return
}
self = .persistentStoreNotFound(entity: entity)
}
}
}

View File

@@ -132,7 +132,7 @@ public final class CSListMonitor: NSObject {
@objc
public func hasObjectsInSection(_ section: Int) -> Bool {
return self.bridgeToSwift.hasObjectsInSection(section)
return self.bridgeToSwift.hasObjects(in: section)
}
/**
@@ -155,7 +155,7 @@ public final class CSListMonitor: NSObject {
@objc
public func objectsInSection(_ section: Int) -> [NSManagedObject] {
return self.bridgeToSwift.objectsInSection(section)
return self.bridgeToSwift.objects(in: section)
}
/**
@@ -167,7 +167,7 @@ public final class CSListMonitor: NSObject {
@objc
public func objectsInSafeSection(safeSectionIndex section: Int) -> [NSManagedObject]? {
return self.bridgeToSwift.objectsInSection(safeSectionIndex: section)
return self.bridgeToSwift.objects(safelyIn: section)
}
/**
@@ -201,7 +201,7 @@ public final class CSListMonitor: NSObject {
@objc
public func numberOfObjectsInSection(_ section: Int) -> Int {
return self.bridgeToSwift.numberOfObjectsInSection(section)
return self.bridgeToSwift.numberOfObjects(in: section)
}
/**
@@ -214,7 +214,7 @@ public final class CSListMonitor: NSObject {
public func numberOfObjectsInSafeSection(safeSectionIndex section: Int) -> NSNumber? {
return self.bridgeToSwift
.numberOfObjectsInSection(safeSectionIndex: section)
.numberOfObjects(safelyIn: section)
.flatMap { NSNumber(value: $0) }
}
@@ -227,7 +227,7 @@ public final class CSListMonitor: NSObject {
@objc
public func sectionInfoAtIndex(_ section: Int) -> NSFetchedResultsSectionInfo {
return self.bridgeToSwift.sectionInfoAtIndex(section)
return self.bridgeToSwift.sectionInfo(at: section)
}
/**
@@ -239,7 +239,7 @@ public final class CSListMonitor: NSObject {
@objc
public func sectionInfoAtSafeSectionIndex(safeSectionIndex section: Int) -> NSFetchedResultsSectionInfo? {
return self.bridgeToSwift.sectionInfoAtIndex(safeSectionIndex: section)
return self.bridgeToSwift.sectionInfo(safelyAt: section)
}
/**
@@ -263,7 +263,7 @@ public final class CSListMonitor: NSObject {
@objc
public func targetSectionForSectionIndexTitle(title: String, index: Int) -> Int {
return self.bridgeToSwift.targetSectionForSectionIndex(title: title, index: index)
return self.bridgeToSwift.targetSection(forSectionIndexTitle: title, at: index)
}
/**
@@ -287,7 +287,7 @@ public final class CSListMonitor: NSObject {
public func indexOf(_ object: NSManagedObject) -> NSNumber? {
return self.bridgeToSwift
.indexOf(object)
.index(of: object)
.flatMap { NSNumber(value: $0) }
}
@@ -300,7 +300,7 @@ public final class CSListMonitor: NSObject {
@objc
public func indexPathOf(_ object: NSManagedObject) -> IndexPath? {
return self.bridgeToSwift.indexPathOf(object)
return self.bridgeToSwift.indexPath(of: object)
}

View File

@@ -137,6 +137,10 @@ extension CoreStoreError: CustomDebugStringConvertible, CoreStoreDebugStringConv
case .progressiveMigrationRequired(let localStoreURL):
firstLine = ".progressiveMigrationRequired"
info.append(("localStoreURL", localStoreURL))
case .asynchronousMigrationRequired(let localStoreURL):
firstLine = ".asynchronousMigrationRequired"
info.append(("localStoreURL", localStoreURL))
case .internalError(let NSError):
firstLine = ".internalError"
@@ -148,6 +152,10 @@ extension CoreStoreError: CustomDebugStringConvertible, CoreStoreDebugStringConv
case .userCancelled:
firstLine = ".userCancelled"
case .persistentStoreNotFound(let entity):
firstLine = ".persistentStoreNotFound"
info.append(("entity", entity))
}
return createFormattedString(
@@ -158,6 +166,30 @@ extension CoreStoreError: CustomDebugStringConvertible, CoreStoreDebugStringConv
}
// MARK: - CoreStoreObject
extension CoreStoreObject: CustomDebugStringConvertible, CoreStoreDebugStringConvertible {
// MARK: CustomDebugStringConvertible
public var debugDescription: String {
return formattedDebugDescription(self)
}
// MARK: CoreStoreDebugStringConvertible
public var coreStoreDumpString: String {
return createFormattedString(
"(", ")",
("rawObject", self.rawObject as Any)
)
}
}
// MARK: - CoreStoreSchema
extension CoreStoreSchema: CustomDebugStringConvertible, CoreStoreDebugStringConvertible {
@@ -296,6 +328,7 @@ extension GroupBy: CustomDebugStringConvertible, CoreStoreDebugStringConvertible
// MARK: - ICloudStore
@available(*, deprecated, message: "Please see the release notes and Core Data documentation.")
extension ICloudStore: CustomDebugStringConvertible, CoreStoreDebugStringConvertible {
// MARK: CustomDebugStringConvertible
@@ -658,6 +691,30 @@ extension OrderBy: CustomDebugStringConvertible, CoreStoreDebugStringConvertible
}
// MARK: - PartialObject
extension PartialObject: CustomDebugStringConvertible, CoreStoreDebugStringConvertible {
// MARK: CustomDebugStringConvertible
public var debugDescription: String {
return formattedDebugDescription(self)
}
// MARK: CoreStoreDebugStringConvertible
public var coreStoreDumpString: String {
return createFormattedString(
"(", ")",
("rawObject", self.rawObject as Any)
)
}
}
// MARK: - SaveResult
@available(*, deprecated, message: "Use the new DataStack.perform(asynchronous:...) and DataStack.perform(synchronous:...) family of APIs")

View File

@@ -113,7 +113,7 @@ public extension CoreStore {
```
CoreStore.monitorList(
{ (monitor) in
createAsynchronously: { (monitor) in
self.monitor = monitor
},
From<MyPersonEntity>()
@@ -123,7 +123,6 @@ public extension CoreStore {
```
- parameter createAsynchronously: the closure that receives the created `ListMonitor` instance
- parameter clauseChain: a `FetchChainableBuilderType` built from a chain of clauses
- returns: a `ListMonitor` for a list of `DynamicObject`s that satisfy the specified `FetchChainableBuilderType`
*/
public static func monitorList<B: FetchChainableBuilderType>(createAsynchronously: @escaping (ListMonitor<B.ObjectType>) -> Void, _ clauseChain: B) {
@@ -212,7 +211,7 @@ public extension CoreStore {
Asynchronously creates a `ListMonitor` for a sectioned list of `DynamicObject`s that satisfy the specified `SectionMonitorBuilderType` built from a chain of clauses.
```
CoreStore.monitorSectionedList(
{ (monitor) in
createAsynchronously: { (monitor) in
self.monitor = monitor
},
From<MyPersonEntity>()
@@ -221,8 +220,8 @@ public extension CoreStore {
.orderBy(.ascending(\.age))
)
```
- parameter createAsynchronously: the closure that receives the created `ListMonitor` instance
- parameter clauseChain: a `SectionMonitorBuilderType` built from a chain of clauses
- returns: a `ListMonitor` for a list of `DynamicObject`s that satisfy the specified `SectionMonitorBuilderType`
*/
public static func monitorSectionedList<B: SectionMonitorBuilderType>(createAsynchronously: @escaping (ListMonitor<B.ObjectType>) -> Void, _ clauseChain: B) {

View File

@@ -80,11 +80,12 @@ public extension CoreStore {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the first `DynamicObject` instance that satisfies the specified `FetchClause`s
- returns: the first `DynamicObject` instance that satisfies the specified `FetchClause`s, or `nil` if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public static func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> D? {
public static func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> D? {
return self.defaultStack.fetchOne(from, fetchClauses)
return try self.defaultStack.fetchOne(from, fetchClauses)
}
/**
@@ -92,11 +93,12 @@ public extension CoreStore {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the first `DynamicObject` instance that satisfies the specified `FetchClause`s
- returns: the first `DynamicObject` instance that satisfies the specified `FetchClause`s, or `nil` if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public static func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> D? {
public static func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> D? {
return self.defaultStack.fetchOne(from, fetchClauses)
return try self.defaultStack.fetchOne(from, fetchClauses)
}
/**
@@ -109,11 +111,12 @@ public extension CoreStore {
)
```
- parameter clauseChain: a `FetchChainableBuilderType` built from a chain of clauses
- returns: the first `DynamicObject` instance that satisfies the specified `FetchChainableBuilderType`
- returns: the first `DynamicObject` instance that satisfies the specified `FetchChainableBuilderType`, or `nil` if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public static func fetchOne<B: FetchChainableBuilderType>(_ clauseChain: B) -> B.ObjectType? {
public static func fetchOne<B: FetchChainableBuilderType>(_ clauseChain: B) throws -> B.ObjectType? {
return self.defaultStack.fetchOne(clauseChain)
return try self.defaultStack.fetchOne(clauseChain)
}
/**
@@ -121,11 +124,12 @@ public extension CoreStore {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: all `DynamicObject` instances that satisfy the specified `FetchClause`s
- returns: all `DynamicObject` instances that satisfy the specified `FetchClause`s, or an empty array if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public static func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [D]? {
public static func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [D] {
return self.defaultStack.fetchAll(from, fetchClauses)
return try self.defaultStack.fetchAll(from, fetchClauses)
}
/**
@@ -133,11 +137,12 @@ public extension CoreStore {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: all `DynamicObject` instances that satisfy the specified `FetchClause`s
- returns: all `DynamicObject` instances that satisfy the specified `FetchClause`s, or an empty array if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public static func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [D]? {
public static func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [D] {
return self.defaultStack.fetchAll(from, fetchClauses)
return try self.defaultStack.fetchAll(from, fetchClauses)
}
/**
@@ -150,11 +155,12 @@ public extension CoreStore {
)
```
- parameter clauseChain: a `FetchChainableBuilderType` built from a chain of clauses
- returns: all `DynamicObject` instances that satisfy the specified `FetchChainableBuilderType`
- returns: all `DynamicObject` instances that satisfy the specified `FetchChainableBuilderType`, or an empty array if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public static func fetchAll<B: FetchChainableBuilderType>(_ clauseChain: B) -> [B.ObjectType]? {
public static func fetchAll<B: FetchChainableBuilderType>(_ clauseChain: B) throws -> [B.ObjectType] {
return self.defaultStack.fetchAll(clauseChain)
return try self.defaultStack.fetchAll(clauseChain)
}
/**
@@ -162,11 +168,12 @@ public extension CoreStore {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the number `DynamicObject`s that satisfy the specified `FetchClause`s
- returns: the number of `DynamicObject`s that satisfy the specified `FetchClause`s
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public static func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> Int? {
public static func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> Int {
return self.defaultStack.fetchCount(from, fetchClauses)
return try self.defaultStack.fetchCount(from, fetchClauses)
}
/**
@@ -174,11 +181,12 @@ public extension CoreStore {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the number `DynamicObject`s that satisfy the specified `FetchClause`s
- returns: the number of `DynamicObject`s that satisfy the specified `FetchClause`s
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public static func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> Int? {
public static func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> Int {
return self.defaultStack.fetchCount(from, fetchClauses)
return try self.defaultStack.fetchCount(from, fetchClauses)
}
/**
@@ -191,11 +199,12 @@ public extension CoreStore {
)
```
- parameter clauseChain: a `FetchChainableBuilderType` built from a chain of clauses
- returns: the number `DynamicObject`s that satisfy the specified `FetchChainableBuilderType`
- returns: the number of `DynamicObject`s that satisfy the specified `FetchChainableBuilderType`
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public static func fetchCount<B: FetchChainableBuilderType>(_ clauseChain: B) -> Int? {
public static func fetchCount<B: FetchChainableBuilderType>(_ clauseChain: B) throws -> Int {
return self.defaultStack.fetchCount(clauseChain)
return try self.defaultStack.fetchCount(clauseChain)
}
/**
@@ -203,11 +212,12 @@ public extension CoreStore {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the `NSManagedObjectID` for the first `DynamicObject` that satisfies the specified `FetchClause`s
- returns: the `NSManagedObjectID` for the first `DynamicObject` that satisfies the specified `FetchClause`s, or `nil` if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public static func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> NSManagedObjectID? {
public static func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> NSManagedObjectID? {
return self.defaultStack.fetchObjectID(from, fetchClauses)
return try self.defaultStack.fetchObjectID(from, fetchClauses)
}
/**
@@ -215,11 +225,12 @@ public extension CoreStore {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the `NSManagedObjectID` for the first `DynamicObject` that satisfies the specified `FetchClause`s
- returns: the `NSManagedObjectID` for the first `DynamicObject` that satisfies the specified `FetchClause`s, or `nil` if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public static func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> NSManagedObjectID? {
public static func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> NSManagedObjectID? {
return self.defaultStack.fetchObjectID(from, fetchClauses)
return try self.defaultStack.fetchObjectID(from, fetchClauses)
}
/**
@@ -232,11 +243,12 @@ public extension CoreStore {
)
```
- parameter clauseChain: a `FetchChainableBuilderType` built from a chain of clauses
- returns: the `NSManagedObjectID` for the first `DynamicObject` that satisfies the specified `FetchChainableBuilderType`
- returns: the `NSManagedObjectID` for the first `DynamicObject` that satisfies the specified `FetchChainableBuilderType`, or `nil` if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public static func fetchObjectID<B: FetchChainableBuilderType>(_ clauseChain: B) -> NSManagedObjectID? {
public static func fetchObjectID<B: FetchChainableBuilderType>(_ clauseChain: B) throws -> NSManagedObjectID? {
return self.defaultStack.fetchObjectID(clauseChain)
return try self.defaultStack.fetchObjectID(clauseChain)
}
/**
@@ -244,11 +256,12 @@ public extension CoreStore {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the `NSManagedObjectID` for all `DynamicObject`s that satisfy the specified `FetchClause`s
- returns: the `NSManagedObjectID` for all `DynamicObject`s that satisfy the specified `FetchClause`s, or an empty array if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public static func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [NSManagedObjectID]? {
public static func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [NSManagedObjectID] {
return self.defaultStack.fetchObjectIDs(from, fetchClauses)
return try self.defaultStack.fetchObjectIDs(from, fetchClauses)
}
/**
@@ -256,11 +269,12 @@ public extension CoreStore {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the `NSManagedObjectID` for all `DynamicObject`s that satisfy the specified `FetchClause`s
- returns: the `NSManagedObjectID` for all `DynamicObject`s that satisfy the specified `FetchClause`s, or an empty array if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public static func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [NSManagedObjectID]? {
public static func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [NSManagedObjectID] {
return self.defaultStack.fetchObjectIDs(from, fetchClauses)
return try self.defaultStack.fetchObjectIDs(from, fetchClauses)
}
/**
@@ -273,11 +287,12 @@ public extension CoreStore {
)
```
- parameter clauseChain: a `FetchChainableBuilderType` built from a chain of clauses
- returns: the `NSManagedObjectID` for all `DynamicObject`s that satisfy the specified `FetchChainableBuilderType`
- returns: the `NSManagedObjectID` for all `DynamicObject`s that satisfy the specified `FetchChainableBuilderType`, or an empty array if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public static func fetchObjectIDs<B: FetchChainableBuilderType>(_ clauseChain: B) -> [NSManagedObjectID]? {
public static func fetchObjectIDs<B: FetchChainableBuilderType>(_ clauseChain: B) throws -> [NSManagedObjectID] {
return self.defaultStack.fetchObjectIDs(clauseChain)
return try self.defaultStack.fetchObjectIDs(clauseChain)
}
/**
@@ -288,11 +303,12 @@ public extension CoreStore {
- parameter from: a `From` clause indicating the entity type
- parameter selectClause: a `Select<U>` clause indicating the properties to fetch, and with the generic type indicating the return type.
- parameter queryClauses: a series of `QueryClause` instances for the query request. Accepts `Where`, `OrderBy`, `GroupBy`, and `Tweak` clauses.
- returns: the result of the the query. The type of the return value is specified by the generic type of the `Select<U>` parameter.
- returns: the result of the the query, or `nil` if no match was found. The type of the return value is specified by the generic type of the `Select<U>` parameter.
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public static func queryValue<D, U: QueryableAttributeType>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) -> U? {
public static func queryValue<D, U: QueryableAttributeType>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) throws -> U? {
return self.defaultStack.queryValue(from, selectClause, queryClauses)
return try self.defaultStack.queryValue(from, selectClause, queryClauses)
}
/**
@@ -303,11 +319,12 @@ public extension CoreStore {
- parameter from: a `From` clause indicating the entity type
- parameter selectClause: a `Select<U>` clause indicating the properties to fetch, and with the generic type indicating the return type.
- parameter queryClauses: a series of `QueryClause` instances for the query request. Accepts `Where`, `OrderBy`, `GroupBy`, and `Tweak` clauses.
- returns: the result of the the query. The type of the return value is specified by the generic type of the `Select<U>` parameter.
- returns: the result of the the query, or `nil` if no match was found. The type of the return value is specified by the generic type of the `Select<U>` parameter.
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public static func queryValue<D, U: QueryableAttributeType>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) -> U? {
public static func queryValue<D, U: QueryableAttributeType>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) throws -> U? {
return self.defaultStack.queryValue(from, selectClause, queryClauses)
return try self.defaultStack.queryValue(from, selectClause, queryClauses)
}
/**
@@ -322,26 +339,12 @@ public extension CoreStore {
)
```
- parameter clauseChain: a `QueryChainableBuilderType` indicating the property/aggregate to fetch and the series of queries for the request.
- returns: the result of the the query as specified by the `QueryChainableBuilderType`
- returns: the result of the the query as specified by the `QueryChainableBuilderType`, or `nil` if no match was found.
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public static func queryValue<B: QueryChainableBuilderType>(_ clauseChain: B) -> B.ResultType? where B.ResultType: QueryableAttributeType {
public static func queryValue<B: QueryChainableBuilderType>(_ clauseChain: B) throws -> B.ResultType? where B.ResultType: QueryableAttributeType {
return self.defaultStack.queryValue(clauseChain)
}
/**
Using the `defaultStack`, queries a dictionary of attribtue values as specified by the `QueryClause`s. Requires at least a `Select` clause, and optional `Where`, `OrderBy`, `GroupBy`, and `Tweak` clauses.
A "query" differs from a "fetch" in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.
- parameter from: a `From` clause indicating the entity type
- parameter selectClause: a `Select<U>` clause indicating the properties to fetch, and with the generic type indicating the return type.
- parameter queryClauses: a series of `QueryClause` instances for the query request. Accepts `Where`, `OrderBy`, `GroupBy`, and `Tweak` clauses.
- returns: the result of the the query. The type of the return value is specified by the generic type of the `Select<U>` parameter.
*/
public static func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) -> [[String: Any]]? {
return self.defaultStack.queryAttributes(from, selectClause, queryClauses)
return try self.defaultStack.queryValue(clauseChain)
}
/**
@@ -353,10 +356,27 @@ public extension CoreStore {
- parameter selectClause: a `Select<U>` clause indicating the properties to fetch, and with the generic type indicating the return type.
- parameter queryClauses: a series of `QueryClause` instances for the query request. Accepts `Where`, `OrderBy`, `GroupBy`, and `Tweak` clauses.
- returns: the result of the the query. The type of the return value is specified by the generic type of the `Select<U>` parameter.
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public static func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) -> [[String: Any]]? {
public static func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) throws -> [[String: Any]] {
return self.defaultStack.queryAttributes(from, selectClause, queryClauses)
return try self.defaultStack.queryAttributes(from, selectClause, queryClauses)
}
/**
Using the `defaultStack`, queries a dictionary of attribute values as specified by the `QueryClause`s. Requires at least a `Select` clause, and optional `Where`, `OrderBy`, `GroupBy`, and `Tweak` clauses.
A "query" differs from a "fetch" in that it only retrieves values already stored in the persistent store. As such, values from unsaved transactions or contexts will not be incorporated in the query result.
- parameter from: a `From` clause indicating the entity type
- parameter selectClause: a `Select<U>` clause indicating the properties to fetch, and with the generic type indicating the return type.
- parameter queryClauses: a series of `QueryClause` instances for the query request. Accepts `Where`, `OrderBy`, `GroupBy`, and `Tweak` clauses.
- returns: the result of the the query. The type of the return value is specified by the generic type of the `Select<U>` parameter.
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public static func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) throws -> [[String: Any]] {
return try self.defaultStack.queryAttributes(from, selectClause, queryClauses)
}
/**
@@ -381,9 +401,10 @@ public extension CoreStore {
```
- parameter clauseChain: a `QueryChainableBuilderType` indicating the properties to fetch and the series of queries for the request.
- returns: the result of the the query as specified by the `QueryChainableBuilderType`
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public static func queryAttributes<B: QueryChainableBuilderType>(_ clauseChain: B) -> [[String: Any]]? where B.ResultType == NSDictionary {
public static func queryAttributes<B: QueryChainableBuilderType>(_ clauseChain: B) throws -> [[String: Any]] where B.ResultType == NSDictionary {
return self.defaultStack.queryAttributes(clauseChain)
return try self.defaultStack.queryAttributes(clauseChain)
}
}

View File

@@ -53,6 +53,11 @@ public enum CoreStoreError: Error, CustomNSError, Hashable {
Progressive migrations are disabled for a store, but an `NSMappingModel` could not be found for a specific source and destination model versions.
*/
case progressiveMigrationRequired(localStoreURL: URL)
/**
The `LocalStorage` was configured with `.allowSynchronousLightweightMigration`, but the model can only be migrated asynchronously.
*/
case asynchronousMigrationRequired(localStoreURL: URL, NSError: NSError)
/**
An internal SDK call failed with the specified `NSError`.
@@ -68,6 +73,11 @@ public enum CoreStoreError: Error, CustomNSError, Hashable {
The transaction was cancelled by the user.
*/
case userCancelled
/**
Attempted to perform a fetch but could not find any related persistent store.
*/
case persistentStoreNotFound(entity: DynamicObject.Type)
// MARK: CustomNSError
@@ -92,6 +102,9 @@ public enum CoreStoreError: Error, CustomNSError, Hashable {
case .progressiveMigrationRequired:
return CoreStoreErrorCode.progressiveMigrationRequired.rawValue
case .asynchronousMigrationRequired:
return CoreStoreErrorCode.asynchronousMigrationRequired.rawValue
case .internalError:
return CoreStoreErrorCode.internalError.rawValue
@@ -101,6 +114,9 @@ public enum CoreStoreError: Error, CustomNSError, Hashable {
case .userCancelled:
return CoreStoreErrorCode.userCancelled.rawValue
case .persistentStoreNotFound:
return CoreStoreErrorCode.persistentStoreNotFound.rawValue
}
}
@@ -127,6 +143,12 @@ public enum CoreStoreError: Error, CustomNSError, Hashable {
return [
"localStoreURL": localStoreURL
]
case .asynchronousMigrationRequired(let localStoreURL, let nsError):
return [
"localStoreURL": localStoreURL,
"NSError": nsError
]
case .internalError(let nsError):
return [
@@ -140,6 +162,11 @@ public enum CoreStoreError: Error, CustomNSError, Hashable {
case .userCancelled:
return [:]
case .persistentStoreNotFound(let entity):
return [
"entity": entity
]
}
}
@@ -161,6 +188,10 @@ public enum CoreStoreError: Error, CustomNSError, Hashable {
case (.progressiveMigrationRequired(let url1), .progressiveMigrationRequired(let url2)):
return url1 == url2
case (.asynchronousMigrationRequired(let url1, let NSError1), .asynchronousMigrationRequired(let url2, let NSError2)):
return url1 == url2
&& NSError1.isEqual(NSError2)
case (.internalError(let NSError1), .internalError(let NSError2)):
return NSError1.isEqual(NSError2)
@@ -177,6 +208,9 @@ public enum CoreStoreError: Error, CustomNSError, Hashable {
case (.userCancelled, .userCancelled):
return true
case (.persistentStoreNotFound(let entity1), .persistentStoreNotFound(let entity2)):
return entity1 == entity2
default:
return false
@@ -205,12 +239,19 @@ public enum CoreStoreError: Error, CustomNSError, Hashable {
case .progressiveMigrationRequired(let localStoreURL):
hasher.combine(localStoreURL)
case .asynchronousMigrationRequired(let localStoreURL, let nsError):
hasher.combine(localStoreURL)
hasher.combine(nsError)
case .internalError(let nsError):
hasher.combine(nsError)
case .userError(let error):
hasher.combine(error as NSError)
case .persistentStoreNotFound(let entity):
hasher.combine(ObjectIdentifier(entity))
case .userCancelled:
break
}
@@ -261,6 +302,11 @@ public enum CoreStoreErrorCode: Int {
Progressive migrations are disabled for a store, but an `NSMappingModel` could not be found for a specific source and destination model versions.
*/
case progressiveMigrationRequired
/**
The `LocalStorage` was configured with `.allowSynchronousLightweightMigration`, but the model can only be migrated asynchronously.
*/
case asynchronousMigrationRequired
/**
An internal SDK call failed with the specified "NSError" userInfo key.
@@ -276,6 +322,11 @@ public enum CoreStoreErrorCode: Int {
The transaction was cancelled by the user.
*/
case userCancelled
/**
Attempted to perform a fetch but could not find any related persistent store.
*/
case persistentStoreNotFound
}

View File

@@ -49,7 +49,7 @@ internal final class CoreStoreFetchedResultsController: NSFetchedResultsControll
@nonobjc
internal init<D>(context: NSManagedObjectContext, fetchRequest: NSFetchRequest<NSManagedObject>, from: From<D>, sectionBy: SectionBy<D>? = nil, applyFetchClauses: @escaping (_ fetchRequest: NSFetchRequest<NSManagedObject>) -> Void) {
_ = from.applyToFetchRequest(
_ = try? from.applyToFetchRequest(
fetchRequest,
context: context,
applyAffectedStores: false
@@ -58,7 +58,7 @@ internal final class CoreStoreFetchedResultsController: NSFetchedResultsControll
self.reapplyAffectedStores = { fetchRequest, context in
return from.applyAffectedStoresForFetchedRequest(fetchRequest, context: context)
try from.applyAffectedStoresForFetchedRequest(fetchRequest, context: context)
}
super.init(
@@ -71,14 +71,8 @@ internal final class CoreStoreFetchedResultsController: NSFetchedResultsControll
@nonobjc
internal func performFetchFromSpecifiedStores() throws {
if !self.reapplyAffectedStores(self.fetchRequest, self.managedObjectContext) {
CoreStore.log(
.warning,
message: "Attempted to perform a fetch on an \(cs_typeName(self)) but could not find any persistent store for the entity \(cs_typeName(self.fetchRequest.entityName))"
)
}
try self.reapplyAffectedStores(self.fetchRequest, self.managedObjectContext)
try self.performFetch()
}
@@ -97,5 +91,5 @@ internal final class CoreStoreFetchedResultsController: NSFetchedResultsControll
// MARK: Private
@nonobjc
private let reapplyAffectedStores: (_ fetchRequest: NSFetchRequest<NSManagedObject>, _ context: NSManagedObjectContext) -> Bool
private let reapplyAffectedStores: (_ fetchRequest: NSFetchRequest<NSManagedObject>, _ context: NSManagedObjectContext) throws -> Void
}

View File

@@ -0,0 +1,591 @@
//
// CoreStoreObject+Observing.swift
// CoreStore
//
// Copyright © 2018 John Rommel Estropia
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
import Foundation
import CoreData
// MARK: CoreStoreObjectKeyValueObservation
/**
Observation token for `CoreStoreObject` properties. Make sure to retain this instance to keep observing notifications.
`invalidate()` will be called automatically when an `CoreStoreObjectKeyValueObservation` is deinited.
*/
public protocol CoreStoreObjectKeyValueObservation: class {
/**
`invalidate()` will be called automatically when an `CoreStoreObjectKeyValueObservation` is deinited.
*/
func invalidate()
}
// MARK: - ValueContainer.Required
extension ValueContainer.Required {
/**
Observes changes in the receiver value. When the returned `CoreStoreObjectKeyValueObservation` is deinited or invalidated, it will stop observing.
- parameter options: The flags indicating which values to include in the change dictionary.
- parameter: changeHandler: The closure called when the value is updated.
*/
public func observe(options: NSKeyValueObservingOptions = [], changeHandler: @escaping (O, CoreStoreObjectValueDiff<V>) -> Void) -> CoreStoreObjectKeyValueObservation {
return self.observe(with: options, changeHandler: changeHandler)
}
}
// MARK: - ValueContainer.Optional
extension ValueContainer.Optional {
/**
Observes changes in the receiver value. When the returned `CoreStoreObjectKeyValueObservation` is deinited or invalidated, it will stop observing.
- parameter options: The flags indicating which values to include in the change dictionary.
- parameter: changeHandler: The closure called when the value is updated.
*/
public func observe(options: NSKeyValueObservingOptions = [], changeHandler: @escaping (O, CoreStoreObjectValueDiff<V>) -> Void) -> CoreStoreObjectKeyValueObservation {
return self.observe(with: options, changeHandler: changeHandler)
}
}
// MARK: - TransformableContainer.Required
extension TransformableContainer.Required {
/**
Observes changes in the receiver value. When the returned `CoreStoreObjectKeyValueObservation` is deinited or invalidated, it will stop observing.
- parameter options: The flags indicating which values to include in the change dictionary.
- parameter: changeHandler: The closure called when the value is updated.
*/
public func observe(options: NSKeyValueObservingOptions = [], changeHandler: @escaping (O, CoreStoreObjectTransformableDiff<V>) -> Void) -> CoreStoreObjectKeyValueObservation {
return self.observe(with: options, changeHandler: changeHandler)
}
}
// MARK: - TransformableContainer.Optional
extension TransformableContainer.Optional {
/**
Observes changes in the receiver value. When the returned `CoreStoreObjectKeyValueObservation` is deinited or invalidated, it will stop observing.
- parameter options: The flags indicating which values to include in the change dictionary.
- parameter: changeHandler: The closure called when the value is updated.
*/
public func observe(options: NSKeyValueObservingOptions = [], changeHandler: @escaping (O, CoreStoreObjectTransformableDiff<V>) -> Void) -> CoreStoreObjectKeyValueObservation {
return self.observe(with: options, changeHandler: changeHandler)
}
}
// MARK: - RelationshipContainer.ToOne
extension RelationshipContainer.ToOne {
/**
Observes changes in the receiver value. When the returned `CoreStoreObjectKeyValueObservation` is deinited or invalidated, it will stop observing.
- parameter options: The flags indicating which values to include in the change dictionary.
- parameter: changeHandler: The closure called when the value is updated.
*/
public func observe(options: NSKeyValueObservingOptions = [], changeHandler: @escaping (O, CoreStoreObjectObjectDiff<D>) -> Void) -> CoreStoreObjectKeyValueObservation {
let result = _CoreStoreObjectKeyValueObservation(
object: self.rawObject!,
keyPath: self.keyPath,
callback: { (object, kind, newValue, oldValue, _, isPrior) in
let notification = CoreStoreObjectObjectDiff<D>(
kind: kind,
newNativeValue: newValue as! CoreStoreManagedObject?,
oldNativeValue: oldValue as! CoreStoreManagedObject?,
isPrior: isPrior
)
changeHandler(
O.cs_fromRaw(object: object),
notification
)
}
)
result.start(options)
return result
}
}
// MARK: - RelationshipContainer.ToManyUnordered
extension RelationshipContainer.ToManyUnordered {
/**
Observes changes in the receiver value. When the returned `CoreStoreObjectKeyValueObservation` is deinited or invalidated, it will stop observing.
- parameter options: The flags indicating which values to include in the change dictionary.
- parameter: changeHandler: The closure called when the value is updated.
*/
public func observe(options: NSKeyValueObservingOptions = [], changeHandler: @escaping (O, CoreStoreObjectUnorderedDiff<D>) -> Void) -> CoreStoreObjectKeyValueObservation {
let result = _CoreStoreObjectKeyValueObservation(
object: self.rawObject!,
keyPath: self.keyPath,
callback: { (object, kind, newValue, oldValue, _, isPrior) in
let notification = CoreStoreObjectUnorderedDiff<D>(
kind: kind,
newNativeValue: newValue as! NSOrderedSet?,
oldNativeValue: oldValue as! NSOrderedSet?,
isPrior: isPrior
)
changeHandler(
O.cs_fromRaw(object: object),
notification
)
}
)
result.start(options)
return result
}
}
// MARK: - RelationshipContainer.ToManyOrdered
extension RelationshipContainer.ToManyOrdered {
/**
Observes changes in the receiver value. When the returned `CoreStoreObjectKeyValueObservation` is deinited or invalidated, it will stop observing.
- parameter options: The flags indicating which values to include in the change dictionary.
- parameter: changeHandler: The closure called when the value is updated.
*/
public func observe(options: NSKeyValueObservingOptions = [], changeHandler: @escaping (O, CoreStoreObjectOrderedDiff<D>) -> Void) -> CoreStoreObjectKeyValueObservation {
let result = _CoreStoreObjectKeyValueObservation(
object: self.rawObject!,
keyPath: self.keyPath,
callback: { (object, kind, newValue, oldValue, indexes, isPrior) in
let notification = CoreStoreObjectOrderedDiff<D>(
kind: kind,
newNativeValue: newValue as! NSArray?,
oldNativeValue: oldValue as! NSArray?,
indexes: indexes ?? IndexSet(),
isPrior: isPrior
)
changeHandler(
O.cs_fromRaw(object: object),
notification
)
}
)
result.start(options)
return result
}
}
// MARK: - CoreStoreObjectValueDiff
/**
The object containing the changeset for an observed `ValueContainer.Required` and `ValueContainer.Optional` property.
*/
public final class CoreStoreObjectValueDiff<V: ImportableAttributeType> {
/**
Indicates the kind of change. See the comments for `NSObject.observeValue(forKeyPath:of:change:context:)` for more information.
*/
public let kind: NSKeyValueChange
/**
`newValue` and `oldValue` will only be non-nil if `.new`/`.old` is passed to `observe()`. `newValue` will be `nil` if `isPrior` is `true`.
*/
public private(set) lazy var newValue: V? = self.newNativeValue.flatMap(V.cs_fromQueryableNativeType)
/**
`newValue` and `oldValue` will only be non-nil if `.new`/`.old` is passed to `observe()`.
*/
public private(set) lazy var oldValue: V? = self.oldNativeValue.flatMap(V.cs_fromQueryableNativeType)
/**
'isPrior' will be `true` if this change observation is being sent before the change happens, due to `.prior` being passed to `observe()`
*/
public let isPrior: Bool
// MARK: FilePrivate
fileprivate init(kind: NSKeyValueChange, newNativeValue: V.QueryableNativeType?, oldNativeValue: V.QueryableNativeType?, isPrior: Bool) {
self.kind = kind
self.newNativeValue = newNativeValue
self.oldNativeValue = oldNativeValue
self.isPrior = isPrior
}
// MARK: Private
private let newNativeValue: V.QueryableNativeType?
private let oldNativeValue: V.QueryableNativeType?
}
// MARK: - CoreStoreObjectValueDiff
/**
The object containing the changeset for an observed `TransformableContainer.Required` or `TransformableContainer.Optional` property.
*/
public final class CoreStoreObjectTransformableDiff<V: NSCoding & NSCopying> {
/**
Indicates the kind of change. See the comments for `NSObject.observeValue(forKeyPath:of:change:context:)` for more information.
*/
public let kind: NSKeyValueChange
/**
`newValue` and `oldValue` will only be non-nil if `.new`/`.old` is passed to `observe()`. In general, get the most up to date value by accessing it directly on the observed object instead.
*/
public let newValue: V?
/**
`newValue` and `oldValue` will only be non-nil if `.new`/`.old` is passed to `observe()`. In general, get the most up to date value by accessing it directly on the observed object instead.
*/
public let oldValue: V?
/**
'isPrior' will be `true` if this change observation is being sent before the change happens, due to `.prior` being passed to `observe()`
*/
public let isPrior: Bool
// MARK: FilePrivate
fileprivate init(kind: NSKeyValueChange, newValue: V?, oldValue: V?, isPrior: Bool) {
self.kind = kind
self.newValue = newValue
self.oldValue = oldValue
self.isPrior = isPrior
}
}
// MARK: - CoreStoreObjectObjectDiff
/**
The object containing the changeset for an observed `RelationshipContainer.ToOne` property.
*/
public final class CoreStoreObjectObjectDiff<D: CoreStoreObject> {
/**
Indicates the kind of change. See the comments for `NSObject.observeValue(forKeyPath:of:change:context:)` for more information.
*/
public let kind: NSKeyValueChange
/**
`newValue` and `oldValue` will only be non-nil if `.new`/`.old` is passed to `observe()`. In general, get the most up to date value by accessing it directly on the observed object instead.
*/
public private(set) lazy var newValue: D? = self.newNativeValue.flatMap(D.cs_fromRaw(object:))
/**
`newValue` and `oldValue` will only be non-nil if `.new`/`.old` is passed to `observe()`. In general, get the most up to date value by accessing it directly on the observed object instead.
*/
public private(set) lazy var oldValue: D? = self.oldNativeValue.flatMap(D.cs_fromRaw(object:))
/**
'isPrior' will be `true` if this change observation is being sent before the change happens, due to `.prior` being passed to `observe()`
*/
public let isPrior: Bool
// MARK: FilePrivate
fileprivate init(kind: NSKeyValueChange, newNativeValue: CoreStoreManagedObject?, oldNativeValue: CoreStoreManagedObject?, isPrior: Bool) {
self.kind = kind
self.newNativeValue = newNativeValue
self.oldNativeValue = oldNativeValue
self.isPrior = isPrior
}
// MARK: Private
private let newNativeValue: CoreStoreManagedObject?
private let oldNativeValue: CoreStoreManagedObject?
}
// MARK: - CoreStoreObjectUnorderedDiff
/**
The object containing the changeset for an observed `RelationshipContainer.ToManyUnordered` property.
*/
public final class CoreStoreObjectUnorderedDiff<D: CoreStoreObject> {
/**
Indicates the kind of change. See the comments for `NSObject.observeValue(forKeyPath:of:change:context:)` for more information.
*/
public let kind: NSKeyValueChange
/**
`newValue` and `oldValue` will only be non-nil if `.new`/`.old` is passed to `observe()`. In general, get the most up to date value by accessing it directly on the observed object instead.
*/
public private(set) lazy var newValue: Set<D> = Set(self.newNativeValue.map({ D.cs_fromRaw(object: $0 as! NSManagedObject) }))
/**
`newValue` and `oldValue` will only be non-nil if `.new`/`.old` is passed to `observe()`. In general, get the most up to date value by accessing it directly on the observed object instead.
*/
public private(set) lazy var oldValue: Set<D> = Set(self.oldNativeValue.map({ D.cs_fromRaw(object: $0 as! NSManagedObject) }))
/**
'isPrior' will be `true` if this change observation is being sent before the change happens, due to `.prior` being passed to `observe()`
*/
public let isPrior: Bool
// MARK: FilePrivate
fileprivate init(kind: NSKeyValueChange, newNativeValue: NSOrderedSet?, oldNativeValue: NSOrderedSet?, isPrior: Bool) {
self.kind = kind
self.newNativeValue = newNativeValue ?? []
self.oldNativeValue = oldNativeValue ?? []
self.isPrior = isPrior
}
// MARK: Private
private let newNativeValue: NSOrderedSet
private let oldNativeValue: NSOrderedSet
}
// MARK: - CoreStoreObjectOrderedDiff
/**
The object containing the changeset for an observed `RelationshipContainer.Ordered` property.
*/
public final class CoreStoreObjectOrderedDiff<D: CoreStoreObject> {
/**
Indicates the kind of change. See the comments for `NSObject.observeValue(forKeyPath:of:change:context:)` for more information.
*/
public let kind: NSKeyValueChange
/**
`newValue` and `oldValue` will only be non-nil if `.new`/`.old` is passed to `observe()`. In general, get the most up to date value by accessing it directly on the observed object instead.
*/
public private(set) lazy var newValue: [D] = self.newNativeValue.map({ D.cs_fromRaw(object: $0 as! NSManagedObject) })
/**
`newValue` and `oldValue` will only be non-nil if `.new`/`.old` is passed to `observe()`. In general, get the most up to date value by accessing it directly on the observed object instead.
*/
public private(set) lazy var oldValue: [D] = self.oldNativeValue.map({ D.cs_fromRaw(object: $0 as! NSManagedObject) })
/**
`indexes` will be `nil` unless the observed KeyPath refers to an ordered to-many property
*/
public let indexes: IndexSet
/**
'isPrior' will be `true` if this change observation is being sent before the change happens, due to `.prior` being passed to `observe()`
*/
public let isPrior: Bool
// MARK: FilePrivate
fileprivate init(kind: NSKeyValueChange, newNativeValue: NSArray?, oldNativeValue: NSArray?, indexes: IndexSet, isPrior: Bool) {
self.kind = kind
self.newNativeValue = newNativeValue ?? []
self.oldNativeValue = oldNativeValue ?? []
self.indexes = indexes
self.isPrior = isPrior
}
// MARK: Private
private let newNativeValue: NSArray
private let oldNativeValue: NSArray
}
// MARK: - AttributeProtocol
extension AttributeProtocol {
// MARK: FilePrivate
fileprivate func observe<O: CoreStoreObject, V: ImportableAttributeType>(with options: NSKeyValueObservingOptions = [], changeHandler: @escaping (O, CoreStoreObjectValueDiff<V>) -> Void) -> CoreStoreObjectKeyValueObservation {
let result = _CoreStoreObjectKeyValueObservation(
object: self.rawObject!,
keyPath: self.keyPath,
callback: { (object, kind, newValue, oldValue, _, isPrior) in
let notification = CoreStoreObjectValueDiff<V>(
kind: kind,
newNativeValue: newValue as! V.QueryableNativeType?,
oldNativeValue: oldValue as! V.QueryableNativeType?,
isPrior: isPrior
)
changeHandler(
O.cs_fromRaw(object: object),
notification
)
}
)
result.start(options)
return result
}
fileprivate func observe<O: CoreStoreObject, V: NSCoding & NSCopying>(with options: NSKeyValueObservingOptions = [], changeHandler: @escaping (O, CoreStoreObjectTransformableDiff<V>) -> Void) -> CoreStoreObjectKeyValueObservation {
let result = _CoreStoreObjectKeyValueObservation(
object: self.rawObject!,
keyPath: self.keyPath,
callback: { (object, kind, newValue, oldValue, _, isPrior) in
let notification = CoreStoreObjectTransformableDiff<V>(
kind: kind,
newValue: newValue as! V?,
oldValue: oldValue as! V?,
isPrior: isPrior
)
changeHandler(
O.cs_fromRaw(object: object),
notification
)
}
)
result.start(options)
return result
}
}
// MARK: - _CoreStoreObjectKeyValueObservation
// Mirrored implementation from https://github.com/apple/swift/blob/6e7051eb1e38e743a514555d09256d12d3fec750/stdlib/public/Darwin/Foundation/NSObject.swift#L141
fileprivate final class _CoreStoreObjectKeyValueObservation: NSObject, CoreStoreObjectKeyValueObservation {
// MARK: FilePrivate
@nonobjc
fileprivate init(object: CoreStoreManagedObject, keyPath: KeyPathString, callback: @escaping (_ object: CoreStoreManagedObject, _ kind: NSKeyValueChange, _ newValue: Any?, _ oldValue: Any?, _ indexes: IndexSet?, _ isPrior: Bool) -> Void) {
let _ = _CoreStoreObjectKeyValueObservation.swizzler
self.keyPath = keyPath
self.object = object
self.callback = callback
}
@nonobjc
fileprivate func start(_ options: NSKeyValueObservingOptions) {
self.object?.addObserver(self, forKeyPath: self.keyPath, options: options, context: nil)
}
deinit {
self.object?.removeObserver(self, forKeyPath: self.keyPath, context: nil)
}
// MARK: DynamicObjectKeyValueObservation
@nonobjc
public func invalidate() {
self.object?.removeObserver(self, forKeyPath: self.keyPath, context: nil)
self.object = nil
}
// MARK: Private
// workaround for <rdar://problem/31640524> Erroneous (?) error when using bridging in the Foundation overlay
@nonobjc
static var swizzler: Any? = cs_lazy {
let bridgeClass: AnyClass = _CoreStoreObjectKeyValueObservation.self
let rootObserveImpl = class_getInstanceMethod(
bridgeClass,
#selector(_CoreStoreObjectKeyValueObservation.observeValue(forKeyPath:of:change:context:))
)!
let swapObserveImpl = class_getInstanceMethod(
bridgeClass,
#selector(_CoreStoreObjectKeyValueObservation._cs_swizzle_me_observeValue(forKeyPath:of:change:context:))
)!
method_exchangeImplementations(rootObserveImpl, swapObserveImpl)
return nil
}
@nonobjc
private weak var object: CoreStoreManagedObject?
@nonobjc
private let callback: (_ object: CoreStoreManagedObject, _ kind: NSKeyValueChange, _ newValue: Any?, _ oldValue: Any?, _ indexes: IndexSet?, _ isPrior: Bool) -> Void
@nonobjc
private let keyPath: KeyPathString
@objc
private dynamic func _cs_swizzle_me_observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSString: Any]?, context: UnsafeMutableRawPointer?) {
guard
let object = object as? CoreStoreManagedObject,
object == self.object,
let change = change
else {
return
}
let rawKind: UInt = change[NSKeyValueChangeKey.kindKey.rawValue as NSString] as! UInt
self.callback(
object,
NSKeyValueChange(rawValue: rawKind)!,
change[NSKeyValueChangeKey.newKey.rawValue as NSString],
change[NSKeyValueChangeKey.oldKey.rawValue as NSString],
change[NSKeyValueChangeKey.indexesKey.rawValue as NSString] as! IndexSet?,
change[NSKeyValueChangeKey.notificationIsPriorKey.rawValue as NSString] as! Bool? ?? false
)
}
}

View File

@@ -288,6 +288,10 @@ public final class CoreStoreSchema: DynamicSchema {
switch child.value {
case let attribute as AttributeProtocol:
CoreStore.assert(
!NSManagedObject.instancesRespond(to: Selector(attribute.keyPath)),
"Attribute Property name \"\(String(reflecting: entity.type)).\(attribute.keyPath)\" is not allowed because it collides with \"\(String(reflecting: NSManagedObject.self)).\(attribute.keyPath)\""
)
let description = NSAttributeDescription()
description.name = attribute.keyPath
description.attributeType = Swift.type(of: attribute).attributeType
@@ -302,6 +306,10 @@ public final class CoreStoreSchema: DynamicSchema {
customGetterSetterByKeyPaths[attribute.keyPath] = (attribute.getter, attribute.setter)
case let relationship as RelationshipProtocol:
CoreStore.assert(
!NSManagedObject.instancesRespond(to: Selector(relationship.keyPath)),
"Relationship Property name \"\(String(reflecting: entity.type)).\(relationship.keyPath)\" is not allowed because it collides with \"\(String(reflecting: NSManagedObject.self)).\(relationship.keyPath)\""
)
let description = NSRelationshipDescription()
description.name = relationship.keyPath
description.minCount = relationship.minCount

View File

@@ -121,24 +121,24 @@ public class CustomSchemaMappingProvider: Hashable, SchemaMappingProvider {
// MARK: Equatable
public static func == (lhs: CustomMapping, rhs: CustomMapping) -> Bool {
public static func ==(lhs: CustomMapping, rhs: CustomMapping) -> Bool {
switch (lhs, rhs) {
case (.deleteEntity(let sourceEntity1), .deleteEntity(let sourceEntity2)):
return sourceEntity1 == sourceEntity2
case (.insertEntity(let destinationEntity1), .insertEntity(let destinationEntity2)):
return destinationEntity1 == destinationEntity2
case (.copyEntity(let sourceEntity1, let destinationEntity1), .copyEntity(let sourceEntity2, let destinationEntity2)):
return sourceEntity1 == sourceEntity2
&& destinationEntity1 == destinationEntity2
case (.transformEntity(let sourceEntity1, let destinationEntity1, _), .transformEntity(let sourceEntity2, let destinationEntity2, _)):
return sourceEntity1 == sourceEntity2
&& destinationEntity1 == destinationEntity2
default:
return false
}
@@ -146,24 +146,24 @@ public class CustomSchemaMappingProvider: Hashable, SchemaMappingProvider {
// MARK: Hashable
public func hash(into hasher: inout Hasher) {
switch self {
case .deleteEntity(let sourceEntity):
hasher.combine(0)
hasher.combine(sourceEntity)
case .insertEntity(let destinationEntity):
hasher.combine(1)
hasher.combine(destinationEntity)
case .copyEntity(let sourceEntity, let destinationEntity):
hasher.combine(2)
hasher.combine(sourceEntity)
hasher.combine(destinationEntity)
case .transformEntity(let sourceEntity, let destinationEntity, _):
hasher.combine(3)
hasher.combine(sourceEntity)
@@ -177,12 +177,12 @@ public class CustomSchemaMappingProvider: Hashable, SchemaMappingProvider {
fileprivate var entityMappingSourceEntity: EntityName? {
switch self {
case .deleteEntity(let sourceEntity),
.copyEntity(let sourceEntity, _),
.transformEntity(let sourceEntity, _, _):
return sourceEntity
case .insertEntity:
return nil
}
@@ -191,12 +191,12 @@ public class CustomSchemaMappingProvider: Hashable, SchemaMappingProvider {
fileprivate var entityMappingDestinationEntity: EntityName? {
switch self {
case .insertEntity(let destinationEntity),
.copyEntity(_, let destinationEntity),
.transformEntity(_, let destinationEntity, _):
return destinationEntity
case .deleteEntity:
return nil
}
@@ -324,7 +324,7 @@ public class CustomSchemaMappingProvider: Hashable, SchemaMappingProvider {
// MARK: Equatable
public static func == (lhs: CustomSchemaMappingProvider, rhs: CustomSchemaMappingProvider) -> Bool {
public static func ==(lhs: CustomSchemaMappingProvider, rhs: CustomSchemaMappingProvider) -> Bool {
return lhs.sourceVersion == rhs.sourceVersion
&& lhs.destinationVersion == rhs.destinationVersion
@@ -333,9 +333,9 @@ public class CustomSchemaMappingProvider: Hashable, SchemaMappingProvider {
// MARK: Hashable
public func hash(into hasher: inout Hasher) {
hasher.combine(self.sourceVersion)
hasher.combine(self.destinationVersion)
hasher.combine(ObjectIdentifier(cs_dynamicType(of: self)))
@@ -422,8 +422,8 @@ public class CustomSchemaMappingProvider: Hashable, SchemaMappingProvider {
entityMapping.sourceExpression = expression(forSource: sourceEntity)
entityMapping.attributeMappings = autoreleasepool { () -> [NSPropertyMapping] in
let sourceAttributes = sourceEntity.cs_resolvedAttributeRenamingIdentities()
let destinationAttributes = destinationEntity.cs_resolvedAttributeRenamingIdentities()
let sourceAttributes = sourceEntity.cs_resolveAttributeNames()
let destinationAttributes = destinationEntity.cs_resolveAttributeRenamingIdentities()
var attributeMappings: [NSPropertyMapping] = []
for (renamingIdentifier, destination) in destinationAttributes {
@@ -439,15 +439,15 @@ public class CustomSchemaMappingProvider: Hashable, SchemaMappingProvider {
}
entityMapping.relationshipMappings = autoreleasepool { () -> [NSPropertyMapping] in
let sourceRelationships = sourceEntity.cs_resolvedRelationshipRenamingIdentities()
let destinationRelationships = destinationEntity.cs_resolvedRelationshipRenamingIdentities()
let sourceRelationships = sourceEntity.cs_resolveRelationshipNames()
let destinationRelationships = destinationEntity.cs_resolveRelationshipRenamingIdentities()
var relationshipMappings: [NSPropertyMapping] = []
for (renamingIdentifier, destination) in destinationRelationships {
let sourceRelationship = sourceRelationships[renamingIdentifier]!.relationship
let destinationRelationship = destination.relationship
let sourceRelationshipName = sourceRelationship.name
let propertyMapping = NSPropertyMapping()
propertyMapping.name = destinationRelationship.name
propertyMapping.valueExpression = NSExpression(format: "FUNCTION($\(NSMigrationManagerKey), \"destinationInstancesForSourceRelationshipNamed:sourceInstances:\", \"\(sourceRelationshipName)\", FUNCTION($\(NSMigrationSourceObjectKey), \"\(#selector(NSManagedObject.value(forKey:)))\", \"\(sourceRelationshipName)\"))")
@@ -476,12 +476,12 @@ public class CustomSchemaMappingProvider: Hashable, SchemaMappingProvider {
]
autoreleasepool {
let sourceAttributes = sourceEntity.cs_resolvedAttributeRenamingIdentities()
let destinationAttributes = destinationEntity.cs_resolvedAttributeRenamingIdentities()
let sourceAttributes = sourceEntity.cs_resolveAttributeNames()
let destinationAttributes = destinationEntity.cs_resolveAttributeRenamingIdentities()
let transformedRenamingIdentifiers = Set(destinationAttributes.keys)
.intersection(sourceAttributes.keys)
var sourceAttributesByDestinationKey: [KeyPathString: NSAttributeDescription] = [:]
for renamingIdentifier in transformedRenamingIdentifiers {
@@ -493,19 +493,19 @@ public class CustomSchemaMappingProvider: Hashable, SchemaMappingProvider {
}
entityMapping.relationshipMappings = autoreleasepool { () -> [NSPropertyMapping] in
let sourceRelationships = sourceEntity.cs_resolvedRelationshipRenamingIdentities()
let destinationRelationships = destinationEntity.cs_resolvedRelationshipRenamingIdentities()
let sourceRelationships = sourceEntity.cs_resolveRelationshipNames()
let destinationRelationships = destinationEntity.cs_resolveRelationshipRenamingIdentities()
let transformedRenamingIdentifiers = Set(destinationRelationships.keys)
.intersection(sourceRelationships.keys)
var relationshipMappings: [NSPropertyMapping] = []
for renamingIdentifier in transformedRenamingIdentifiers {
let sourceRelationship = sourceRelationships[renamingIdentifier]!.relationship
let destinationRelationship = destinationRelationships[renamingIdentifier]!.relationship
let sourceRelationshipName = sourceRelationship.name
let destinationRelationshipName = destinationRelationship.name
let propertyMapping = NSPropertyMapping()
propertyMapping.name = destinationRelationshipName
propertyMapping.valueExpression = NSExpression(format: "FUNCTION($\(NSMigrationManagerKey), \"destinationInstancesForSourceRelationshipNamed:sourceInstances:\", \"\(sourceRelationshipName)\", FUNCTION($\(NSMigrationSourceObjectKey), \"\(#selector(NSManagedObject.value(forKey:)))\", \"\(sourceRelationshipName)\"))")
@@ -593,9 +593,9 @@ public class CustomSchemaMappingProvider: Hashable, SchemaMappingProvider {
var allMappedSourceKeys: [KeyPathString: KeyPathString] = [:]
var allMappedDestinationKeys: [KeyPathString: KeyPathString] = [:]
let sourceRenamingIdentifiers = sourceModel.cs_resolvedRenamingIdentities()
let sourceRenamingIdentifiers = sourceModel.cs_resolveNames()
let sourceEntityNames = sourceModel.entitiesByName
let destinationRenamingIdentifiers = destinationModel.cs_resolvedRenamingIdentities()
let destinationRenamingIdentifiers = destinationModel.cs_resolveRenamingIdentities()
let destinationEntityNames = destinationModel.entitiesByName
let removedRenamingIdentifiers = Set(sourceRenamingIdentifiers.keys)
@@ -610,7 +610,7 @@ public class CustomSchemaMappingProvider: Hashable, SchemaMappingProvider {
for mapping in self.entityMappings {
switch mapping {
case .deleteEntity(let sourceEntity):
CoreStore.assert(
sourceEntityNames[sourceEntity] != nil,
@@ -622,7 +622,7 @@ public class CustomSchemaMappingProvider: Hashable, SchemaMappingProvider {
)
deleteMappings.insert(mapping)
allMappedSourceKeys[sourceEntity] = ""
case .insertEntity(let destinationEntity):
CoreStore.assert(
destinationEntityNames[destinationEntity] != nil,
@@ -634,7 +634,7 @@ public class CustomSchemaMappingProvider: Hashable, SchemaMappingProvider {
)
insertMappings.insert(mapping)
allMappedDestinationKeys[destinationEntity] = ""
case .transformEntity(let sourceEntity, let destinationEntity, _):
CoreStore.assert(
sourceEntityNames[sourceEntity] != nil,
@@ -655,7 +655,7 @@ public class CustomSchemaMappingProvider: Hashable, SchemaMappingProvider {
transformMappings.insert(mapping)
allMappedSourceKeys[sourceEntity] = destinationEntity
allMappedDestinationKeys[destinationEntity] = sourceEntity
case .copyEntity(let sourceEntity, let destinationEntity):
CoreStore.assert(
sourceEntityNames[sourceEntity] != nil,
@@ -689,7 +689,7 @@ public class CustomSchemaMappingProvider: Hashable, SchemaMappingProvider {
let sourceEntityName = sourceEntity.name!
let destinationEntityName = destinationEntity.name!
switch (allMappedSourceKeys[sourceEntityName], allMappedDestinationKeys[destinationEntityName]) {
case (nil, nil):
if sourceEntity.versionHash == destinationEntity.versionHash {
@@ -699,8 +699,7 @@ public class CustomSchemaMappingProvider: Hashable, SchemaMappingProvider {
destinationEntity: destinationEntityName
)
)
}
else {
} else {
transformMappings.insert(
.transformEntity(
@@ -712,15 +711,15 @@ public class CustomSchemaMappingProvider: Hashable, SchemaMappingProvider {
}
allMappedSourceKeys[sourceEntityName] = destinationEntityName
allMappedDestinationKeys[destinationEntityName] = sourceEntityName
case (""?, nil):
insertMappings.insert(.insertEntity(destinationEntity: destinationEntityName))
allMappedDestinationKeys[destinationEntityName] = ""
case (nil, ""?):
deleteMappings.insert(.deleteEntity(sourceEntity: sourceEntityName))
allMappedSourceKeys[sourceEntityName] = ""
default:
continue
}
@@ -730,11 +729,11 @@ public class CustomSchemaMappingProvider: Hashable, SchemaMappingProvider {
let sourceEntity = sourceRenamingIdentifiers[renamingIdentifier]!.entity
let sourceEntityName = sourceEntity.name!
switch allMappedSourceKeys[sourceEntityName] {
case nil:
deleteMappings.insert(.deleteEntity(sourceEntity: sourceEntityName))
allMappedSourceKeys[sourceEntityName] = ""
default:
continue
}
@@ -744,11 +743,11 @@ public class CustomSchemaMappingProvider: Hashable, SchemaMappingProvider {
let destinationEntity = destinationRenamingIdentifiers[renamingIdentifier]!.entity
let destinationEntityName = destinationEntity.name!
switch allMappedDestinationKeys[destinationEntityName] {
case nil:
insertMappings.insert(.insertEntity(destinationEntity: destinationEntityName))
allMappedDestinationKeys[destinationEntityName] = ""
default:
continue
}

View File

@@ -748,12 +748,11 @@ public extension DataStack {
// Lightweight migration failed somehow. Proceed using InferedMappingModel below
}
}
let temporaryDirectoryURL = URL(fileURLWithPath: NSTemporaryDirectory(), isDirectory: true)
let fileManager = FileManager.default
let temporaryDirectoryURL = fileManager.temporaryDirectory
.appendingPathComponent(Bundle.main.bundleIdentifier ?? "com.CoreStore.DataStack")
.appendingPathComponent(ProcessInfo().globallyUniqueString)
let fileManager = FileManager.default
try! fileManager.createDirectory(
at: temporaryDirectoryURL,
withIntermediateDirectories: true,

View File

@@ -152,7 +152,7 @@ public extension DataStack {
```
dataStack.monitorList(
{ (monitor) in
createAsynchronously: { (monitor) in
self.monitor = monitor
},
From<MyPersonEntity>()
@@ -162,7 +162,6 @@ public extension DataStack {
```
- parameter createAsynchronously: the closure that receives the created `ListMonitor` instance
- parameter clauseChain: a `FetchChainableBuilderType` built from a chain of clauses
- returns: a `ListMonitor` for a list of `DynamicObject`s that satisfy the specified `FetchChainableBuilderType`
*/
public func monitorList<B: FetchChainableBuilderType>(createAsynchronously: @escaping (ListMonitor<B.ObjectType>) -> Void, _ clauseChain: B) {
@@ -288,7 +287,7 @@ public extension DataStack {
Asynchronously creates a `ListMonitor` for a sectioned list of `DynamicObject`s that satisfy the specified `SectionMonitorBuilderType` built from a chain of clauses.
```
dataStack.monitorSectionedList(
{ (monitor) in
createAsynchronously: { (monitor) in
self.monitor = monitor
},
From<MyPersonEntity>()
@@ -297,8 +296,8 @@ public extension DataStack {
.orderBy(.ascending(\.age))
)
```
- parameter createAsynchronously: the closure that receives the created `ListMonitor` instance
- parameter clauseChain: a `SectionMonitorBuilderType` built from a chain of clauses
- returns: a `ListMonitor` for a list of `DynamicObject`s that satisfy the specified `SectionMonitorBuilderType`
*/
public func monitorSectionedList<B: SectionMonitorBuilderType>(createAsynchronously: @escaping (ListMonitor<B.ObjectType>) -> Void, _ clauseChain: B) {

View File

@@ -82,15 +82,16 @@ extension DataStack: FetchableSource, QueryableSource {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the first `DynamicObject` instance that satisfies the specified `FetchClause`s
- returns: the first `DynamicObject` instance that satisfies the specified `FetchClause`s, or `nil` if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> D? {
public func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> D? {
CoreStore.assert(
Thread.isMainThread,
"Attempted to fetch from a \(cs_typeName(self)) outside the main thread."
)
return self.mainContext.fetchOne(from, fetchClauses)
return try self.mainContext.fetchOne(from, fetchClauses)
}
/**
@@ -98,15 +99,16 @@ extension DataStack: FetchableSource, QueryableSource {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the first `DynamicObject` instance that satisfies the specified `FetchClause`s
- returns: the first `DynamicObject` instance that satisfies the specified `FetchClause`s, or `nil` if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> D? {
public func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> D? {
CoreStore.assert(
Thread.isMainThread,
"Attempted to fetch from a \(cs_typeName(self)) outside the main thread."
)
return self.mainContext.fetchOne(from, fetchClauses)
return try self.mainContext.fetchOne(from, fetchClauses)
}
/**
@@ -119,15 +121,16 @@ extension DataStack: FetchableSource, QueryableSource {
)
```
- parameter clauseChain: a `FetchChainableBuilderType` built from a chain of clauses
- returns: the first `DynamicObject` instance that satisfies the specified `FetchChainableBuilderType`
- returns: the first `DynamicObject` instance that satisfies the specified `FetchChainableBuilderType`, or `nil` if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchOne<B: FetchChainableBuilderType>(_ clauseChain: B) -> B.ObjectType? {
public func fetchOne<B: FetchChainableBuilderType>(_ clauseChain: B) throws -> B.ObjectType? {
CoreStore.assert(
Thread.isMainThread,
"Attempted to fetch from a \(cs_typeName(self)) outside the main thread."
)
return self.mainContext.fetchOne(clauseChain)
return try self.mainContext.fetchOne(clauseChain)
}
/**
@@ -135,15 +138,16 @@ extension DataStack: FetchableSource, QueryableSource {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: all `DynamicObject` instances that satisfy the specified `FetchClause`s
- returns: all `DynamicObject` instances that satisfy the specified `FetchClause`s, or an empty array if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [D]? {
public func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [D] {
CoreStore.assert(
Thread.isMainThread,
"Attempted to fetch from a \(cs_typeName(self)) outside the main thread."
)
return self.mainContext.fetchAll(from, fetchClauses)
return try self.mainContext.fetchAll(from, fetchClauses)
}
/**
@@ -151,15 +155,16 @@ extension DataStack: FetchableSource, QueryableSource {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: all `DynamicObject` instances that satisfy the specified `FetchClause`s
- returns: all `DynamicObject` instances that satisfy the specified `FetchClause`s, or an empty array if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [D]? {
public func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [D] {
CoreStore.assert(
Thread.isMainThread,
"Attempted to fetch from a \(cs_typeName(self)) outside the main thread."
)
return self.mainContext.fetchAll(from, fetchClauses)
return try self.mainContext.fetchAll(from, fetchClauses)
}
/**
@@ -172,15 +177,16 @@ extension DataStack: FetchableSource, QueryableSource {
)
```
- parameter clauseChain: a `FetchChainableBuilderType` built from a chain of clauses
- returns: all `DynamicObject` instances that satisfy the specified `FetchChainableBuilderType`
- returns: all `DynamicObject` instances that satisfy the specified `FetchChainableBuilderType`, or an empty array if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchAll<B: FetchChainableBuilderType>(_ clauseChain: B) -> [B.ObjectType]? {
public func fetchAll<B: FetchChainableBuilderType>(_ clauseChain: B) throws -> [B.ObjectType] {
CoreStore.assert(
Thread.isMainThread,
"Attempted to fetch from a \(cs_typeName(self)) outside the main thread."
)
return self.mainContext.fetchAll(clauseChain)
return try self.mainContext.fetchAll(clauseChain)
}
/**
@@ -188,15 +194,16 @@ extension DataStack: FetchableSource, QueryableSource {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the number `DynamicObject`s that satisfy the specified `FetchClause`s
- returns: the number of `DynamicObject`s that satisfy the specified `FetchClause`s
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> Int? {
public func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> Int {
CoreStore.assert(
Thread.isMainThread,
"Attempted to fetch from a \(cs_typeName(self)) outside the main thread."
)
return self.mainContext.fetchCount(from, fetchClauses)
return try self.mainContext.fetchCount(from, fetchClauses)
}
/**
@@ -204,15 +211,16 @@ extension DataStack: FetchableSource, QueryableSource {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the number `DynamicObject`s that satisfy the specified `FetchClause`s
- returns: the number of `DynamicObject`s that satisfy the specified `FetchClause`s
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> Int? {
public func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> Int {
CoreStore.assert(
Thread.isMainThread,
"Attempted to fetch from a \(cs_typeName(self)) outside the main thread."
)
return self.mainContext.fetchCount(from, fetchClauses)
return try self.mainContext.fetchCount(from, fetchClauses)
}
/**
@@ -225,15 +233,16 @@ extension DataStack: FetchableSource, QueryableSource {
)
```
- parameter clauseChain: a `FetchChainableBuilderType` built from a chain of clauses
- returns: the number `DynamicObject`s that satisfy the specified `FetchChainableBuilderType`
- returns: the number of `DynamicObject`s that satisfy the specified `FetchChainableBuilderType`
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchCount<B: FetchChainableBuilderType>(_ clauseChain: B) -> Int? {
public func fetchCount<B: FetchChainableBuilderType>(_ clauseChain: B) throws -> Int {
CoreStore.assert(
Thread.isMainThread,
"Attempted to fetch from a \(cs_typeName(self)) outside the main thread."
)
return self.mainContext.fetchCount(clauseChain)
return try self.mainContext.fetchCount(clauseChain)
}
/**
@@ -241,15 +250,16 @@ extension DataStack: FetchableSource, QueryableSource {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the `NSManagedObjectID` for the first `DynamicObject` that satisfies the specified `FetchClause`s
- returns: the `NSManagedObjectID` for the first `DynamicObject` that satisfies the specified `FetchClause`s, or `nil` if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> NSManagedObjectID? {
public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> NSManagedObjectID? {
CoreStore.assert(
Thread.isMainThread,
"Attempted to fetch from a \(cs_typeName(self)) outside the main thread."
)
return self.mainContext.fetchObjectID(from, fetchClauses)
return try self.mainContext.fetchObjectID(from, fetchClauses)
}
/**
@@ -257,15 +267,16 @@ extension DataStack: FetchableSource, QueryableSource {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the `NSManagedObjectID` for the first `DynamicObject` that satisfies the specified `FetchClause`s
- returns: the `NSManagedObjectID` for the first `DynamicObject` that satisfies the specified `FetchClause`s, or `nil` if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> NSManagedObjectID? {
public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> NSManagedObjectID? {
CoreStore.assert(
Thread.isMainThread,
"Attempted to fetch from a \(cs_typeName(self)) outside the main thread."
)
return self.mainContext.fetchObjectID(from, fetchClauses)
return try self.mainContext.fetchObjectID(from, fetchClauses)
}
/**
@@ -278,15 +289,16 @@ extension DataStack: FetchableSource, QueryableSource {
)
```
- parameter clauseChain: a `FetchChainableBuilderType` built from a chain of clauses
- returns: the `NSManagedObjectID` for the first `DynamicObject` that satisfies the specified `FetchChainableBuilderType`
- returns: the `NSManagedObjectID` for the first `DynamicObject` that satisfies the specified `FetchChainableBuilderType`, or `nil` if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchObjectID<B: FetchChainableBuilderType>(_ clauseChain: B) -> NSManagedObjectID? {
public func fetchObjectID<B: FetchChainableBuilderType>(_ clauseChain: B) throws -> NSManagedObjectID? {
CoreStore.assert(
Thread.isMainThread,
"Attempted to fetch from a \(cs_typeName(self)) outside the main thread."
)
return self.mainContext.fetchObjectID(clauseChain)
return try self.mainContext.fetchObjectID(clauseChain)
}
/**
@@ -294,15 +306,16 @@ extension DataStack: FetchableSource, QueryableSource {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the `NSManagedObjectID` for all `DynamicObject`s that satisfy the specified `FetchClause`s
- returns: the `NSManagedObjectID` for all `DynamicObject`s that satisfy the specified `FetchClause`s, or an empty array if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [NSManagedObjectID]? {
public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [NSManagedObjectID] {
CoreStore.assert(
Thread.isMainThread,
"Attempted to fetch from a \(cs_typeName(self)) outside the main thread."
)
return self.mainContext.fetchObjectIDs(from, fetchClauses)
return try self.mainContext.fetchObjectIDs(from, fetchClauses)
}
/**
@@ -310,15 +323,16 @@ extension DataStack: FetchableSource, QueryableSource {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the `NSManagedObjectID` for all `DynamicObject`s that satisfy the specified `FetchClause`s
- returns: the `NSManagedObjectID` for all `DynamicObject`s that satisfy the specified `FetchClause`s, or an empty array if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [NSManagedObjectID]? {
public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [NSManagedObjectID] {
CoreStore.assert(
Thread.isMainThread,
"Attempted to fetch from a \(cs_typeName(self)) outside the main thread."
)
return self.mainContext.fetchObjectIDs(from, fetchClauses)
return try self.mainContext.fetchObjectIDs(from, fetchClauses)
}
/**
@@ -331,15 +345,16 @@ extension DataStack: FetchableSource, QueryableSource {
)
```
- parameter clauseChain: a `FetchChainableBuilderType` built from a chain of clauses
- returns: the `NSManagedObjectID` for all `DynamicObject`s that satisfy the specified `FetchChainableBuilderType`
- returns: the `NSManagedObjectID` for all `DynamicObject`s that satisfy the specified `FetchChainableBuilderType`, or an empty array if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func fetchObjectIDs<B: FetchChainableBuilderType>(_ clauseChain: B) -> [NSManagedObjectID]? {
public func fetchObjectIDs<B: FetchChainableBuilderType>(_ clauseChain: B) throws -> [NSManagedObjectID] {
CoreStore.assert(
Thread.isMainThread,
"Attempted to fetch from a \(cs_typeName(self)) outside the main thread."
)
return self.mainContext.fetchObjectIDs(clauseChain)
return try self.mainContext.fetchObjectIDs(clauseChain)
}
@@ -353,15 +368,16 @@ extension DataStack: FetchableSource, QueryableSource {
- parameter from: a `From` clause indicating the entity type
- parameter selectClause: a `Select<U>` clause indicating the properties to fetch, and with the generic type indicating the return type.
- parameter queryClauses: a series of `QueryClause` instances for the query request. Accepts `Where`, `OrderBy`, `GroupBy`, and `Tweak` clauses.
- returns: the result of the the query. The type of the return value is specified by the generic type of the `Select<U>` parameter.
- returns: the result of the the query, or `nil` if no match was found. The type of the return value is specified by the generic type of the `Select<U>` parameter.
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func queryValue<D, U: QueryableAttributeType>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) -> U? {
public func queryValue<D, U: QueryableAttributeType>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) throws -> U? {
CoreStore.assert(
Thread.isMainThread,
"Attempted to query from a \(cs_typeName(self)) outside the main thread."
)
return self.mainContext.queryValue(from, selectClause, queryClauses)
return try self.mainContext.queryValue(from, selectClause, queryClauses)
}
/**
@@ -372,15 +388,16 @@ extension DataStack: FetchableSource, QueryableSource {
- parameter from: a `From` clause indicating the entity type
- parameter selectClause: a `Select<U>` clause indicating the properties to fetch, and with the generic type indicating the return type.
- parameter queryClauses: a series of `QueryClause` instances for the query request. Accepts `Where`, `OrderBy`, `GroupBy`, and `Tweak` clauses.
- returns: the result of the the query. The type of the return value is specified by the generic type of the `Select<U>` parameter.
- returns: the result of the the query, or `nil` if no match was found. The type of the return value is specified by the generic type of the `Select<U>` parameter.
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func queryValue<D, U: QueryableAttributeType>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) -> U? {
public func queryValue<D, U: QueryableAttributeType>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) throws -> U? {
CoreStore.assert(
Thread.isMainThread,
"Attempted to query from a \(cs_typeName(self)) outside the main thread."
)
return self.mainContext.queryValue(from, selectClause, queryClauses)
return try self.mainContext.queryValue(from, selectClause, queryClauses)
}
/**
@@ -395,15 +412,16 @@ extension DataStack: FetchableSource, QueryableSource {
)
```
- parameter clauseChain: a `QueryChainableBuilderType` indicating the property/aggregate to fetch and the series of queries for the request.
- returns: the result of the the query as specified by the `QueryChainableBuilderType`
- returns: the result of the the query as specified by the `QueryChainableBuilderType`, or `nil` if no match was found.
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func queryValue<B: QueryChainableBuilderType>(_ clauseChain: B) -> B.ResultType? where B.ResultType: QueryableAttributeType {
public func queryValue<B: QueryChainableBuilderType>(_ clauseChain: B) throws -> B.ResultType? where B.ResultType: QueryableAttributeType {
CoreStore.assert(
Thread.isMainThread,
"Attempted to query from a \(cs_typeName(self)) outside the main thread."
)
return self.mainContext.queryValue(clauseChain.from, clauseChain.select, clauseChain.queryClauses)
return try self.mainContext.queryValue(clauseChain.from, clauseChain.select, clauseChain.queryClauses)
}
/**
@@ -415,14 +433,15 @@ extension DataStack: FetchableSource, QueryableSource {
- parameter selectClause: a `Select<U>` clause indicating the properties to fetch, and with the generic type indicating the return type.
- parameter queryClauses: a series of `QueryClause` instances for the query request. Accepts `Where`, `OrderBy`, `GroupBy`, and `Tweak` clauses.
- returns: the result of the the query. The type of the return value is specified by the generic type of the `Select<U>` parameter.
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) -> [[String: Any]]? {
public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) throws -> [[String: Any]] {
CoreStore.assert(
Thread.isMainThread,
"Attempted to query from a \(cs_typeName(self)) outside the main thread."
)
return self.mainContext.queryAttributes(from, selectClause, queryClauses)
return try self.mainContext.queryAttributes(from, selectClause, queryClauses)
}
/**
@@ -434,14 +453,15 @@ extension DataStack: FetchableSource, QueryableSource {
- parameter selectClause: a `Select<U>` clause indicating the properties to fetch, and with the generic type indicating the return type.
- parameter queryClauses: a series of `QueryClause` instances for the query request. Accepts `Where`, `OrderBy`, `GroupBy`, and `Tweak` clauses.
- returns: the result of the the query. The type of the return value is specified by the generic type of the `Select<U>` parameter.
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) -> [[String: Any]]? {
public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) throws -> [[String: Any]] {
CoreStore.assert(
Thread.isMainThread,
"Attempted to query from a \(cs_typeName(self)) outside the main thread."
)
return self.mainContext.queryAttributes(from, selectClause, queryClauses)
return try self.mainContext.queryAttributes(from, selectClause, queryClauses)
}
/**
@@ -466,14 +486,15 @@ extension DataStack: FetchableSource, QueryableSource {
```
- parameter clauseChain: a `QueryChainableBuilderType` indicating the properties to fetch and the series of queries for the request.
- returns: the result of the the query as specified by the `QueryChainableBuilderType`
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
public func queryAttributes<B: QueryChainableBuilderType>(_ clauseChain: B) -> [[String: Any]]? where B.ResultType == NSDictionary {
public func queryAttributes<B: QueryChainableBuilderType>(_ clauseChain: B) throws -> [[String: Any]] where B.ResultType == NSDictionary {
CoreStore.assert(
Thread.isMainThread,
"Attempted to query from a \(cs_typeName(self)) outside the main thread."
)
return self.mainContext.queryAttributes(clauseChain.from, clauseChain.select, clauseChain.queryClauses)
return try self.mainContext.queryAttributes(clauseChain.from, clauseChain.select, clauseChain.queryClauses)
}

View File

@@ -43,7 +43,7 @@ public final class DataStack: Equatable {
Convenience initializer for `DataStack` that creates a `SchemaHistory` from the model with the specified `modelName` in the specified `bundle`.
- parameter xcodeModelName: the name of the (.xcdatamodeld) model file. If not specified, the application name (CFBundleName) will be used if it exists, or "CoreData" if it the bundle name was not set (e.g. in Unit Tests).
- parameter bundle: an optional bundle to load models from. If not specified, the main bundle will be used.
- parameter bundle: an optional bundle to load .xcdatamodeld models from. If not specified, the main bundle will be used.
- parameter migrationChain: the `MigrationChain` that indicates the sequence of model versions to be used as the order for progressive migrations. If not specified, will default to a non-migrating data stack.
*/
public convenience init(xcodeModelName: XcodeDataModelFileName = DataStack.applicationName, bundle: Bundle = Bundle.main, migrationChain: MigrationChain = nil) {
@@ -345,6 +345,18 @@ public final class DataStack: Equatable {
)
return storage
}
catch let error as NSError where storage.localStorageOptions.contains(.allowSynchronousLightweightMigration) && error.isCoreDataMigrationError {
let storeError = CoreStoreError.asynchronousMigrationRequired(
localStoreURL: fileURL,
NSError: error
)
CoreStore.log(
storeError,
"Failed to add \(cs_typeName(storage)) to the stack."
)
throw storeError
}
}
catch {

View File

@@ -71,18 +71,20 @@ public protocol FetchableSource: class {
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the first `DynamicObject` instance that satisfies the specified `FetchClause`s
- returns: the first `DynamicObject` instance that satisfies the specified `FetchClause`s, or `nil` if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> D?
func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> D?
/**
Fetches the first `DynamicObject` instance that satisfies the specified `FetchClause`s. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the first `DynamicObject` instance that satisfies the specified `FetchClause`s
- returns: the first `DynamicObject` instance that satisfies the specified `FetchClause`s, or `nil` if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> D?
func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> D?
/**
Fetches the first `DynamicObject` instance that satisfies the specified `FetchChainableBuilderType` built from a chain of clauses.
@@ -94,27 +96,30 @@ public protocol FetchableSource: class {
)
```
- parameter clauseChain: a `FetchChainableBuilderType` built from a chain of clauses
- returns: the first `DynamicObject` instance that satisfies the specified `FetchChainableBuilderType`
- returns: the first `DynamicObject` instance that satisfies the specified `FetchChainableBuilderType`, or `nil` if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
func fetchOne<B: FetchChainableBuilderType>(_ clauseChain: B) -> B.ObjectType?
func fetchOne<B: FetchChainableBuilderType>(_ clauseChain: B) throws -> B.ObjectType?
/**
Fetches all `DynamicObject` instances that satisfy the specified `FetchClause`s. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: all `DynamicObject` instances that satisfy the specified `FetchClause`s
- returns: all `DynamicObject` instances that satisfy the specified `FetchClause`s, or an empty array if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [D]?
func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [D]
/**
Fetches all `DynamicObject` instances that satisfy the specified `FetchClause`s. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: all `DynamicObject` instances that satisfy the specified `FetchClause`s
- returns: all `DynamicObject` instances that satisfy the specified `FetchClause`s, or an empty array if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [D]?
func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [D]
/**
Fetches all `DynamicObject` instances that satisfy the specified `FetchChainableBuilderType` built from a chain of clauses.
@@ -126,27 +131,30 @@ public protocol FetchableSource: class {
)
```
- parameter clauseChain: a `FetchChainableBuilderType` built from a chain of clauses
- returns: all `DynamicObject` instances that satisfy the specified `FetchChainableBuilderType`
- returns: all `DynamicObject` instances that satisfy the specified `FetchChainableBuilderType`, or an empty array if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
func fetchAll<B: FetchChainableBuilderType>(_ clauseChain: B) -> [B.ObjectType]?
func fetchAll<B: FetchChainableBuilderType>(_ clauseChain: B) throws -> [B.ObjectType]
/**
Fetches the number of `DynamicObject`s that satisfy the specified `FetchClause`s. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the number `DynamicObject`s that satisfy the specified `FetchClause`s
- returns: the number of `DynamicObject`s that satisfy the specified `FetchClause`s
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> Int?
func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> Int
/**
Fetches the number of `DynamicObject`s that satisfy the specified `FetchClause`s. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the number `DynamicObject`s that satisfy the specified `FetchClause`s
- returns: the number of `DynamicObject`s that satisfy the specified `FetchClause`s
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> Int?
func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> Int
/**
Fetches the number of `DynamicObject`s that satisfy the specified `FetchChainableBuilderType` built from a chain of clauses.
@@ -158,27 +166,30 @@ public protocol FetchableSource: class {
)
```
- parameter clauseChain: a `FetchChainableBuilderType` built from a chain of clauses
- returns: the number `DynamicObject`s that satisfy the specified `FetchChainableBuilderType`
- returns: the number of `DynamicObject`s that satisfy the specified `FetchChainableBuilderType`
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
func fetchCount<B: FetchChainableBuilderType>(_ clauseChain: B) -> Int?
func fetchCount<B: FetchChainableBuilderType>(_ clauseChain: B) throws -> Int
/**
Fetches the `NSManagedObjectID` for the first `DynamicObject` that satisfies the specified `FetchClause`s. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the `NSManagedObjectID` for the first `DynamicObject` that satisfies the specified `FetchClause`s
- returns: the `NSManagedObjectID` for the first `DynamicObject` that satisfies the specified `FetchClause`s, or `nil` if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> NSManagedObjectID?
func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> NSManagedObjectID?
/**
Fetches the `NSManagedObjectID` for the first `DynamicObject` that satisfies the specified `FetchClause`s. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the `NSManagedObjectID` for the first `DynamicObject` that satisfies the specified `FetchClause`s
- returns: the `NSManagedObjectID` for the first `DynamicObject` that satisfies the specified `FetchClause`s, or `nil` if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> NSManagedObjectID?
func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> NSManagedObjectID?
/**
Fetches the `NSManagedObjectID` for the first `DynamicObject` that satisfies the specified `FetchChainableBuilderType` built from a chain of clauses.
@@ -190,27 +201,30 @@ public protocol FetchableSource: class {
)
```
- parameter clauseChain: a `FetchChainableBuilderType` built from a chain of clauses
- returns: the `NSManagedObjectID` for the first `DynamicObject` that satisfies the specified `FetchChainableBuilderType`
- returns: the `NSManagedObjectID` for the first `DynamicObject` that satisfies the specified `FetchChainableBuilderType`, or `nil` if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
func fetchObjectID<B: FetchChainableBuilderType>(_ clauseChain: B) -> NSManagedObjectID?
func fetchObjectID<B: FetchChainableBuilderType>(_ clauseChain: B) throws -> NSManagedObjectID?
/**
Fetches the `NSManagedObjectID` for all `DynamicObject`s that satisfy the specified `FetchClause`s. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the `NSManagedObjectID` for all `DynamicObject`s that satisfy the specified `FetchClause`s
- returns: the `NSManagedObjectID` for all `DynamicObject`s that satisfy the specified `FetchClause`s, or an empty array if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [NSManagedObjectID]?
func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [NSManagedObjectID]
/**
Fetches the `NSManagedObjectID` for all `DynamicObject`s that satisfy the specified `FetchClause`s. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- parameter from: a `From` clause indicating the entity type
- parameter fetchClauses: a series of `FetchClause` instances for the fetch request. Accepts `Where`, `OrderBy`, and `Tweak` clauses.
- returns: the `NSManagedObjectID` for all `DynamicObject`s that satisfy the specified `FetchClause`s
- returns: the `NSManagedObjectID` for all `DynamicObject`s that satisfy the specified `FetchClause`s, or an empty array if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [NSManagedObjectID]?
func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [NSManagedObjectID]
/**
Fetches the `NSManagedObjectID` for all `DynamicObject`s that satisfy the specified `FetchChainableBuilderType` built from a chain of clauses.
@@ -222,9 +236,10 @@ public protocol FetchableSource: class {
)
```
- parameter clauseChain: a `FetchChainableBuilderType` built from a chain of clauses
- returns: the `NSManagedObjectID` for all `DynamicObject`s that satisfy the specified `FetchChainableBuilderType`
- returns: the `NSManagedObjectID` for all `DynamicObject`s that satisfy the specified `FetchChainableBuilderType`, or an empty array if no match was found
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
func fetchObjectIDs<B: FetchChainableBuilderType>(_ clauseChain: B) -> [NSManagedObjectID]?
func fetchObjectIDs<B: FetchChainableBuilderType>(_ clauseChain: B) throws -> [NSManagedObjectID]
/**
The internal `NSManagedObjectContext` managed by this `FetchableSource`. Using this context directly should typically be avoided, and is provided by CoreStore only for extremely specialized cases.

View File

@@ -86,10 +86,6 @@ internal final class FetchedResultsControllerDelegate: NSObject, NSFetchedResult
return
}
self.deletedSections = []
self.insertedSections = []
self.handler?.controllerWillChangeContent(controller)
}
@@ -104,7 +100,6 @@ internal final class FetchedResultsControllerDelegate: NSObject, NSFetchedResult
return
}
self.handler?.controllerDidChangeContent(controller)
}
@@ -115,98 +110,11 @@ internal final class FetchedResultsControllerDelegate: NSObject, NSFetchedResult
return
}
guard var actualType = NSFetchedResultsChangeType(rawValue: type.rawValue) else {
// This fix is for a bug where iOS passes 0 for NSFetchedResultsChangeType, but this is not a valid enum case.
// Swift will then always execute the first case of the switch causing strange behaviour.
// https://forums.developer.apple.com/thread/12184#31850
return
}
// This whole dance is a workaround for a nasty bug introduced in XCode 7 targeted at iOS 8 devices
// http://stackoverflow.com/questions/31383760/ios-9-attempt-to-delete-and-reload-the-same-index-path/31384014#31384014
// https://forums.developer.apple.com/message/9998#9998
// https://forums.developer.apple.com/message/31849#31849
if #available(iOS 10.0, tvOS 10.0, watchOS 3.0, *) {
// I don't know if iOS 10 even attempted to fix this mess...
if case .update = actualType,
indexPath != nil,
newIndexPath != nil {
actualType = .move
}
}
switch actualType {
case .update:
guard let section = indexPath?[0] else {
return
}
if self.deletedSections.contains(section)
|| self.insertedSections.contains(section) {
return
}
case .move:
guard let indexPath = indexPath, let newIndexPath = newIndexPath else {
return
}
guard indexPath == newIndexPath else {
break
}
if self.insertedSections.contains(indexPath[0]) {
// Observers that handle the .Move change are advised to delete then reinsert the object instead of just moving. This is especially true when indexPath and newIndexPath are equal. For example, calling tableView.moveRowAtIndexPath(_:toIndexPath) when both indexPaths are the same will crash the tableView.
self.handler?.controller(
controller,
didChangeObject: anObject,
atIndexPath: indexPath,
forChangeType: .move,
newIndexPath: newIndexPath
)
return
}
if self.deletedSections.contains(indexPath[0]) {
self.handler?.controller(
controller,
didChangeObject: anObject,
atIndexPath: nil,
forChangeType: .insert,
newIndexPath: indexPath
)
return
}
guard #available(iOS 9.0, tvOS 9.0, watchOS 3.0, *) else {
return
}
self.handler?.controller(
controller,
didChangeObject: anObject,
atIndexPath: indexPath,
forChangeType: .update,
newIndexPath: nil
)
return
default:
break
}
self.handler?.controller(
controller,
didChangeObject: anObject,
atIndexPath: indexPath,
forChangeType: actualType,
forChangeType: type,
newIndexPath: newIndexPath
)
}
@@ -218,14 +126,6 @@ internal final class FetchedResultsControllerDelegate: NSObject, NSFetchedResult
return
}
switch type {
case .delete: self.deletedSections.insert(sectionIndex)
case .insert: self.insertedSections.insert(sectionIndex)
default: break
}
self.handler?.controller(
controller,
didChangeSection: sectionInfo,
@@ -242,13 +142,4 @@ internal final class FetchedResultsControllerDelegate: NSObject, NSFetchedResult
sectionIndexTitleForSectionName: sectionName
)
}
// MARK: Private
@nonobjc
private var deletedSections = Set<Int>()
@nonobjc
private var insertedSections = Set<Int>()
}

View File

@@ -139,29 +139,40 @@ public struct From<D: DynamicObject> {
self.findPersistentStores = findPersistentStores
}
internal func applyToFetchRequest<ResultType>(_ fetchRequest: NSFetchRequest<ResultType>, context: NSManagedObjectContext, applyAffectedStores: Bool = true) -> Bool {
internal func applyToFetchRequest<U>(_ fetchRequest: NSFetchRequest<U>, context: NSManagedObjectContext, applyAffectedStores: Bool = true) throws {
fetchRequest.entity = context.parentStack!.entityDescription(for: EntityIdentifier(self.entityClass))!
guard applyAffectedStores else {
return true
return
}
if self.applyAffectedStoresForFetchedRequest(fetchRequest, context: context) {
return true
do {
try self.applyAffectedStoresForFetchedRequest(fetchRequest, context: context)
}
catch let error as CoreStoreError {
CoreStore.log(
error,
"Attempted to perform a fetch but could not find any persistent store for the entity \(cs_typeName(fetchRequest.entityName))"
)
throw error
}
catch {
throw error
}
CoreStore.log(
.warning,
message: "Attempted to perform a fetch but could not find any persistent store for the entity \(cs_typeName(fetchRequest.entityName))"
)
return false
}
internal func applyAffectedStoresForFetchedRequest<U>(_ fetchRequest: NSFetchRequest<U>, context: NSManagedObjectContext) -> Bool {
internal func applyAffectedStoresForFetchedRequest<U>(_ fetchRequest: NSFetchRequest<U>, context: NSManagedObjectContext) throws {
let stores = self.findPersistentStores(context)
fetchRequest.affectedStores = stores
return stores?.isEmpty == false
if stores?.isEmpty == false {
return
}
throw CoreStoreError.persistentStoreNotFound(entity: self.entityClass)
}

View File

@@ -34,6 +34,7 @@ import CoreData
/**
A storage interface backed by an SQLite database managed by iCloud.
*/
@available(*, deprecated, message: "Please see the release notes and Core Data documentation.")
public final class ICloudStore: CloudStorage {
/**

View File

@@ -37,6 +37,7 @@ import Foundation
- the `ICloudStore` was added to a `DataStack`
- the `ICloudStore` and the `DataStack` are still persisted in memory
*/
@available(*, deprecated, message: "Please see the release notes and Core Data documentation.")
public protocol ICloudStoreObserver: class {
/**
@@ -104,6 +105,7 @@ public protocol ICloudStoreObserver: class {
func iCloudStoreDidRemoveContent(storage: ICloudStore, dataStack: DataStack)
}
@available(*, deprecated, message: "Please see the release notes and Core Data documentation.")
public extension ICloudStoreObserver {
public func iCloudStoreWillFinishUbiquitousStoreInitialImport(storage: ICloudStore, dataStack: DataStack) {}

View File

@@ -31,6 +31,7 @@ import Foundation
/**
A `SchemaMappingProvider` that tries to infer model migration between two `DynamicSchema` versions by searching all `xcmappingmodel`s from `Bundle.allBundles` or by relying on lightweight migration if possible. Throws an error if lightweight migration is impossible for the two `DynamicSchema`. This mapping is automatically used as a fallback mapping provider, even if no mapping providers are explicitly declared in the `StorageInterface`.
- Note: For security reasons, `InferredSchemaMappingProvider` will not search `Bundle.allFrameworks` by default. If the `xcmappingmodel`s are bundled within a framework, use `XcodeSchemaMappingProvider` instead and provide `Bundle(for: <a class in the framework>` to its initializer.
*/
public final class InferredSchemaMappingProvider: Hashable, SchemaMappingProvider {
@@ -53,7 +54,7 @@ public final class InferredSchemaMappingProvider: Hashable, SchemaMappingProvide
// MARK: SchemaMappingProvider
public func cs_createMappingModel(from sourceSchema: DynamicSchema, to destinationSchema: DynamicSchema, storage: LocalStorage) throws -> (mappingModel: NSMappingModel, migrationType: MigrationType) {
let sourceModel = sourceSchema.rawModel()
let destinationModel = destinationSchema.rawModel()
@@ -85,8 +86,13 @@ public final class InferredSchemaMappingProvider: Hashable, SchemaMappingProvide
)
}
catch {
throw CoreStoreError(error)
let coreStoreError = CoreStoreError(error)
CoreStore.log(
coreStoreError,
"\(cs_typeName(self)) failed to find migration mappings from version model \"\(sourceSchema.modelVersion)\" to \"\(destinationSchema.modelVersion)\" in the \(cs_typeName(storage)) at URL \"\(storage.fileURL)\". The local storage may be corrupt or the \(cs_typeName(storage)) initializer may be missing the correct \(cs_typeName(SchemaMappingProvider.self))"
)
throw coreStoreError
}
}
}

View File

@@ -136,7 +136,7 @@ public final class ListMonitor<D: DynamicObject>: Hashable {
*/
public subscript(safeSectionIndex sectionIndex: Int, safeItemIndex itemIndex: Int) -> ObjectType? {
guard let section = self.sectionInfoAtIndex(safeSectionIndex: sectionIndex) else {
guard let section = self.sectionInfo(safelyAt: sectionIndex) else {
return nil
}
@@ -144,7 +144,7 @@ public final class ListMonitor<D: DynamicObject>: Hashable {
return nil
}
return ObjectType.cs_fromRaw(object: section.objects![itemIndex] as! NSManagedObject)
return self[IndexPath(indexes: [sectionIndex, itemIndex])]
}
/**
@@ -202,9 +202,9 @@ public final class ListMonitor<D: DynamicObject>: Hashable {
- parameter section: the section index. Using an index outside the valid range will return `false`.
- returns: `true` if at least one object in the specified section exists, `false` otherwise
*/
public func hasObjectsInSection(_ section: Int) -> Bool {
public func hasObjects(in section: Int) -> Bool {
return self.numberOfObjectsInSection(safeSectionIndex: section)! > 0
return self.numberOfObjects(safelyIn: section)! > 0
}
/**
@@ -232,7 +232,7 @@ public final class ListMonitor<D: DynamicObject>: Hashable {
!self.isPendingRefetch || Thread.isMainThread,
"Attempted to access a \(cs_typeName(self)) outside the main thread while a refetch is in progress."
)
return self.fetchedResultsController.fetchedObjects?.count ?? 0
return (self.fetchedResultsController.fetchedObjects as NSArray?)?.count ?? 0
}
/**
@@ -241,9 +241,9 @@ public final class ListMonitor<D: DynamicObject>: Hashable {
- parameter section: the section index. Using an index outside the valid range will raise an exception.
- returns: the number of objects in the specified section
*/
public func numberOfObjectsInSection(_ section: Int) -> Int {
public func numberOfObjects(in section: Int) -> Int {
return self.sectionInfoAtIndex(section).numberOfObjects
return self.sectionInfo(at: section).numberOfObjects
}
/**
@@ -252,9 +252,9 @@ public final class ListMonitor<D: DynamicObject>: Hashable {
- parameter section: the section index. Using an index outside the valid range will return `nil`.
- returns: the number of objects in the specified section
*/
public func numberOfObjectsInSection(safeSectionIndex section: Int) -> Int? {
public func numberOfObjects(safelyIn section: Int) -> Int? {
return self.sectionInfoAtIndex(safeSectionIndex: section)?.numberOfObjects
return self.sectionInfo(safelyAt: section)?.numberOfObjects
}
/**
@@ -263,7 +263,7 @@ public final class ListMonitor<D: DynamicObject>: Hashable {
- parameter section: the section index. Using an index outside the valid range will raise an exception.
- returns: the `NSFetchedResultsSectionInfo` for the specified section
*/
public func sectionInfoAtIndex(_ section: Int) -> NSFetchedResultsSectionInfo {
public func sectionInfo(at section: Int) -> NSFetchedResultsSectionInfo {
CoreStore.assert(
!self.isPendingRefetch || Thread.isMainThread,
@@ -278,7 +278,7 @@ public final class ListMonitor<D: DynamicObject>: Hashable {
- parameter section: the section index. Using an index outside the valid range will return `nil`.
- returns: the `NSFetchedResultsSectionInfo` for the specified section, or `nil` if the section index is out of bounds.
*/
public func sectionInfoAtIndex(safeSectionIndex section: Int) -> NSFetchedResultsSectionInfo? {
public func sectionInfo(safelyAt section: Int) -> NSFetchedResultsSectionInfo? {
CoreStore.assert(
!self.isPendingRefetch || Thread.isMainThread,
@@ -312,17 +312,17 @@ public final class ListMonitor<D: DynamicObject>: Hashable {
/**
Returns the target section for a specified "Section Index" title and index.
- parameter title: the title of the Section Index
- parameter index: the index of the Section Index
- parameter sectionIndexTitle: the title of the Section Index
- parameter sectionIndex: the index of the Section Index
- returns: the target section for the specified "Section Index" title and index.
*/
public func targetSectionForSectionIndex(title: String, index: Int) -> Int {
public func targetSection(forSectionIndexTitle sectionIndexTitle: String, at sectionIndex: Int) -> Int {
CoreStore.assert(
!self.isPendingRefetch || Thread.isMainThread,
"Attempted to access a \(cs_typeName(self)) outside the main thread while a refetch is in progress."
)
return self.fetchedResultsController.section(forSectionIndexTitle: title, at: index)
return self.fetchedResultsController.section(forSectionIndexTitle: sectionIndexTitle, at: sectionIndex)
}
/**
@@ -345,7 +345,7 @@ public final class ListMonitor<D: DynamicObject>: Hashable {
- parameter object: the `DynamicObject` to search the index of
- returns: the index of the `DynamicObject` if it exists in the `ListMonitor`'s fetched objects, or `nil` if not found.
*/
public func indexOf(_ object: ObjectType) -> Int? {
public func index(of object: ObjectType) -> Int? {
CoreStore.assert(
!self.isPendingRefetch || Thread.isMainThread,
@@ -364,7 +364,7 @@ public final class ListMonitor<D: DynamicObject>: Hashable {
- parameter object: the `DynamicObject` to search the index of
- returns: the `IndexPath` of the `DynamicObject` if it exists in the `ListMonitor`'s fetched objects, or `nil` if not found.
*/
public func indexPathOf(_ object: ObjectType) -> IndexPath? {
public func indexPath(of object: ObjectType) -> IndexPath? {
CoreStore.assert(
!self.isPendingRefetch || Thread.isMainThread,
@@ -1164,6 +1164,57 @@ public final class ListMonitor<D: DynamicObject>: Hashable {
try! self.fetchedResultsController.performFetchFromSpecifiedStores()
}
}
// MARK: Deprecated
@available(*, deprecated, renamed: "hasObjects(in:)")
public func hasObjectsInSection(_ section: Int) -> Bool {
return self.hasObjects(in: section)
}
@available(*, deprecated, renamed: "numberOfObjects(in:)")
public func numberOfObjectsInSection(_ section: Int) -> Int {
return self.numberOfObjects(in: section)
}
@available(*, deprecated, renamed: "numberOfObjects(safelyIn:)")
public func numberOfObjectsInSection(safeSectionIndex section: Int) -> Int? {
return self.numberOfObjects(safelyIn: section)
}
@available(*, deprecated, renamed: "sectionInfo(at:)")
public func sectionInfoAtIndex(_ section: Int) -> NSFetchedResultsSectionInfo {
return self.sectionInfo(at: section)
}
@available(*, deprecated, renamed: "sectionInfo(safelyAt:)")
public func sectionInfoAtIndex(safeSectionIndex section: Int) -> NSFetchedResultsSectionInfo? {
return self.sectionInfo(safelyAt: section)
}
@available(*, deprecated, renamed: "targetSection(forSectionIndexTitle:at:)")
public func targetSectionForSectionIndex(title: String, index: Int) -> Int {
return self.targetSection(forSectionIndexTitle: title, at: index)
}
@available(*, deprecated, renamed: "index(of:)")
public func indexOf(_ object: ObjectType) -> Int? {
return self.index(of: object)
}
@available(*, deprecated, renamed: "indexPath(of:)")
public func indexPathOf(_ object: ObjectType) -> IndexPath? {
return self.indexPath(of: object)
}
}
@@ -1192,9 +1243,9 @@ extension ListMonitor where ListMonitor.ObjectType: NSManagedObject {
- parameter section: the section index. Using an index outside the valid range will raise an exception.
- returns: all objects in the specified section
*/
public func objectsInSection(_ section: Int) -> [ObjectType] {
public func objects(in section: Int) -> [ObjectType] {
return (self.sectionInfoAtIndex(section).objects as! [ObjectType]?) ?? []
return (self.sectionInfo(at: section).objects as! [ObjectType]?) ?? []
}
/**
@@ -1203,9 +1254,24 @@ extension ListMonitor where ListMonitor.ObjectType: NSManagedObject {
- parameter section: the section index. Using an index outside the valid range will return `nil`.
- returns: all objects in the specified section
*/
public func objectsInSection(safeSectionIndex section: Int) -> [ObjectType]? {
public func objects(safelyIn section: Int) -> [ObjectType]? {
return self.sectionInfoAtIndex(safeSectionIndex: section)?.objects as! [ObjectType]?
return self.sectionInfo(safelyAt: section)?.objects as! [ObjectType]?
}
// MARK: Deprecated
@available(*, deprecated, renamed: "objects(in:)")
public func objectsInSection(_ section: Int) -> [ObjectType] {
return self.objects(in: section)
}
@available(*, deprecated, renamed: "objects(safelyIn:)")
public func objectsInSection(safeSectionIndex section: Int) -> [ObjectType]? {
return self.objects(safelyIn: section)
}
}
@@ -1236,9 +1302,9 @@ extension ListMonitor where ListMonitor.ObjectType: CoreStoreObject {
- parameter section: the section index. Using an index outside the valid range will raise an exception.
- returns: all objects in the specified section
*/
public func objectsInSection(_ section: Int) -> [ObjectType] {
public func objects(in section: Int) -> [ObjectType] {
return (self.sectionInfoAtIndex(section).objects ?? [])
return (self.sectionInfo(at: section).objects ?? [])
.map({ ObjectType.cs_fromRaw(object: $0 as! NSManagedObject) })
}
@@ -1248,11 +1314,26 @@ extension ListMonitor where ListMonitor.ObjectType: CoreStoreObject {
- parameter section: the section index. Using an index outside the valid range will return `nil`.
- returns: all objects in the specified section
*/
public func objectsInSection(safeSectionIndex section: Int) -> [ObjectType]? {
public func objects(safelyIn section: Int) -> [ObjectType]? {
return (self.sectionInfoAtIndex(safeSectionIndex: section)?.objects)?
return (self.sectionInfo(safelyAt: section)?.objects)?
.map({ ObjectType.cs_fromRaw(object: $0 as! NSManagedObject) })
}
// MARK: Deprecated
@available(*, deprecated, renamed: "objects(in:)")
public func objectsInSection(_ section: Int) -> [ObjectType] {
return self.objects(in: section)
}
@available(*, deprecated, renamed: "objects(safelyIn:)")
public func objectsInSection(safeSectionIndex section: Int) -> [ObjectType]? {
return self.objects(safelyIn: section)
}
}

View File

@@ -32,24 +32,30 @@ import Foundation
internal extension NSEntityDescription {
@nonobjc
internal func cs_resolvedAttributeRenamingIdentities() -> [String: (attribute: NSAttributeDescription, versionHash: Data)] {
var mapping: [String: (attribute: NSAttributeDescription, versionHash: Data)] = [:]
for (attributeName, attributeDescription) in self.attributesByName {
mapping[attributeDescription.renamingIdentifier ?? attributeName] = (attributeDescription, attributeDescription.versionHash)
}
return mapping
internal func cs_resolveAttributeNames() -> [String: (attribute: NSAttributeDescription, versionHash: Data)] {
return self.attributesByName.reduce(into: [:], { (result, attribute: (name: String, description: NSAttributeDescription)) in
result[attribute.name] = (attribute.description, attribute.description.versionHash)
})
}
@nonobjc
internal func cs_resolvedRelationshipRenamingIdentities() -> [String: (relationship: NSRelationshipDescription, versionHash: Data)] {
var mapping: [String: (relationship: NSRelationshipDescription, versionHash: Data)] = [:]
for (relationshipName, relationshipDescription) in self.relationshipsByName {
mapping[relationshipDescription.renamingIdentifier ?? relationshipName] = (relationshipDescription, relationshipDescription.versionHash)
}
return mapping
internal func cs_resolveAttributeRenamingIdentities() -> [String: (attribute: NSAttributeDescription, versionHash: Data)] {
return self.attributesByName.reduce(into: [:], { (result, attribute: (name: String, description: NSAttributeDescription)) in
result[attribute.description.renamingIdentifier ?? attribute.name] = (attribute.description, attribute.description.versionHash)
})
}
@nonobjc
internal func cs_resolveRelationshipNames() -> [String: (relationship: NSRelationshipDescription, versionHash: Data)] {
return self.relationshipsByName.reduce(into: [:], { (result, relationship: (name: String, description: NSRelationshipDescription)) in
result[relationship.name] = (relationship.description, relationship.description.versionHash)
})
}
@nonobjc
internal func cs_resolveRelationshipRenamingIdentities() -> [String: (relationship: NSRelationshipDescription, versionHash: Data)] {
return self.relationshipsByName.reduce(into: [:], { (result, relationship: (name: String, description: NSRelationshipDescription)) in
result[relationship.description.renamingIdentifier ?? relationship.name] = (relationship.description, relationship.description.versionHash)
})
}
}

View File

@@ -34,139 +34,107 @@ internal extension NSManagedObjectContext {
// MARK: Internal
@nonobjc
internal func fetchOne(_ from: CSFrom, _ fetchClauses: [CSFetchClause]) -> NSManagedObject? {
internal func fetchOne(_ from: CSFrom, _ fetchClauses: [CSFetchClause]) throws -> NSManagedObject? {
let fetchRequest = CoreStoreFetchRequest()
let storeFound = from.bridgeToSwift.applyToFetchRequest(fetchRequest, context: self)
try from.bridgeToSwift.applyToFetchRequest(fetchRequest, context: self)
fetchRequest.fetchLimit = 1
fetchRequest.resultType = .managedObjectResultType
fetchClauses.forEach { $0.applyToFetchRequest(fetchRequest) }
guard storeFound else {
return nil
}
return self.fetchOne(fetchRequest.dynamicCast())
return try self.fetchOne(fetchRequest.dynamicCast())
}
@nonobjc
internal func fetchAll<T: NSManagedObject>(_ from: CSFrom, _ fetchClauses: [CSFetchClause]) -> [T]? {
internal func fetchAll<T: NSManagedObject>(_ from: CSFrom, _ fetchClauses: [CSFetchClause]) throws -> [T] {
let fetchRequest = CoreStoreFetchRequest()
let storeFound = from.bridgeToSwift.applyToFetchRequest(fetchRequest, context: self)
try from.bridgeToSwift.applyToFetchRequest(fetchRequest, context: self)
fetchRequest.fetchLimit = 0
fetchRequest.resultType = .managedObjectResultType
fetchClauses.forEach { $0.applyToFetchRequest(fetchRequest) }
guard storeFound else {
return nil
}
return self.fetchAll(fetchRequest.dynamicCast())
return try self.fetchAll(fetchRequest.dynamicCast())
}
@nonobjc
internal func fetchCount(_ from: CSFrom, _ fetchClauses: [CSFetchClause]) -> Int? {
internal func fetchCount(_ from: CSFrom, _ fetchClauses: [CSFetchClause]) throws -> Int {
let fetchRequest = CoreStoreFetchRequest()
let storeFound = from.bridgeToSwift.applyToFetchRequest(fetchRequest, context: self)
try from.bridgeToSwift.applyToFetchRequest(fetchRequest, context: self)
fetchClauses.forEach { $0.applyToFetchRequest(fetchRequest) }
guard storeFound else {
return nil
}
return self.fetchCount(fetchRequest.dynamicCast())
return try self.fetchCount(fetchRequest.dynamicCast())
}
@nonobjc
internal func fetchObjectID(_ from: CSFrom, _ fetchClauses: [CSFetchClause]) -> NSManagedObjectID? {
internal func fetchObjectID(_ from: CSFrom, _ fetchClauses: [CSFetchClause]) throws -> NSManagedObjectID? {
let fetchRequest = CoreStoreFetchRequest()
let storeFound = from.bridgeToSwift.applyToFetchRequest(fetchRequest, context: self)
try from.bridgeToSwift.applyToFetchRequest(fetchRequest, context: self)
fetchRequest.fetchLimit = 1
fetchRequest.resultType = .managedObjectIDResultType
fetchClauses.forEach { $0.applyToFetchRequest(fetchRequest) }
guard storeFound else {
return nil
}
return self.fetchObjectID(fetchRequest.dynamicCast())
return try self.fetchObjectID(fetchRequest.dynamicCast())
}
@nonobjc
internal func fetchObjectIDs(_ from: CSFrom, _ fetchClauses: [CSFetchClause]) -> [NSManagedObjectID]? {
internal func fetchObjectIDs(_ from: CSFrom, _ fetchClauses: [CSFetchClause]) throws -> [NSManagedObjectID] {
let fetchRequest = CoreStoreFetchRequest()
let storeFound = from.bridgeToSwift.applyToFetchRequest(fetchRequest, context: self)
try from.bridgeToSwift.applyToFetchRequest(fetchRequest, context: self)
fetchRequest.fetchLimit = 0
fetchRequest.resultType = .managedObjectIDResultType
fetchClauses.forEach { $0.applyToFetchRequest(fetchRequest) }
guard storeFound else {
return nil
}
return self.fetchObjectIDs(fetchRequest.dynamicCast())
return try self.fetchObjectIDs(fetchRequest.dynamicCast())
}
@nonobjc
internal func deleteAll(_ from: CSFrom, _ deleteClauses: [CSDeleteClause]) -> Int? {
internal func deleteAll(_ from: CSFrom, _ deleteClauses: [CSDeleteClause]) throws -> Int {
let fetchRequest = CoreStoreFetchRequest()
let storeFound = from.bridgeToSwift.applyToFetchRequest(fetchRequest, context: self)
try from.bridgeToSwift.applyToFetchRequest(fetchRequest, context: self)
fetchRequest.fetchLimit = 0
fetchRequest.resultType = .managedObjectResultType
fetchRequest.returnsObjectsAsFaults = true
fetchRequest.includesPropertyValues = false
deleteClauses.forEach { $0.applyToFetchRequest(fetchRequest) }
guard storeFound else {
return nil
}
return self.deleteAll(fetchRequest.dynamicCast())
return try self.deleteAll(fetchRequest.dynamicCast())
}
@nonobjc
internal func queryValue(_ from: CSFrom, _ selectClause: CSSelect, _ queryClauses: [CSQueryClause]) -> Any? {
internal func queryValue(_ from: CSFrom, _ selectClause: CSSelect, _ queryClauses: [CSQueryClause]) throws -> Any? {
let fetchRequest = CoreStoreFetchRequest()
let storeFound = from.bridgeToSwift.applyToFetchRequest(fetchRequest, context: self)
try from.bridgeToSwift.applyToFetchRequest(fetchRequest, context: self)
fetchRequest.fetchLimit = 0
selectClause.applyToFetchRequest(fetchRequest)
queryClauses.forEach { $0.applyToFetchRequest(fetchRequest) }
guard storeFound else {
return nil
}
return self.queryValue(selectClause.selectTerms, fetchRequest: fetchRequest.dynamicCast())
return try self.queryValue(selectClause.selectTerms, fetchRequest: fetchRequest.dynamicCast())
}
@nonobjc
internal func queryAttributes(_ from: CSFrom, _ selectClause: CSSelect, _ queryClauses: [CSQueryClause]) -> [[String: Any]]? {
internal func queryAttributes(_ from: CSFrom, _ selectClause: CSSelect, _ queryClauses: [CSQueryClause]) throws -> [[String: Any]] {
let fetchRequest = CoreStoreFetchRequest()
let storeFound = from.bridgeToSwift.applyToFetchRequest(fetchRequest, context: self)
try from.bridgeToSwift.applyToFetchRequest(fetchRequest, context: self)
fetchRequest.fetchLimit = 0
selectClause.applyToFetchRequest(fetchRequest)
queryClauses.forEach { $0.applyToFetchRequest(fetchRequest) }
guard storeFound else {
return nil
}
return self.queryAttributes(fetchRequest.dynamicCast())
return try self.queryAttributes(fetchRequest.dynamicCast())
}
}

View File

@@ -101,152 +101,130 @@ extension NSManagedObjectContext: FetchableSource, QueryableSource {
}
@nonobjc
public func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> D? {
public func fetchOne<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> D? {
return self.fetchOne(from, fetchClauses)
return try self.fetchOne(from, fetchClauses)
}
@nonobjc
public func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> D? {
public func fetchOne<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> D? {
let fetchRequest = CoreStoreFetchRequest()
let storeFound = from.applyToFetchRequest(fetchRequest, context: self)
try from.applyToFetchRequest(fetchRequest, context: self)
fetchRequest.fetchLimit = 1
fetchRequest.resultType = .managedObjectResultType
fetchClauses.forEach { $0.applyToFetchRequest(fetchRequest) }
guard storeFound else {
return nil
}
return self.fetchOne(fetchRequest.dynamicCast()).flatMap(from.entityClass.cs_fromRaw)
return try self.fetchOne(fetchRequest.dynamicCast()).flatMap(from.entityClass.cs_fromRaw)
}
@nonobjc
public func fetchOne<B: FetchChainableBuilderType>(_ clauseChain: B) -> B.ObjectType? {
public func fetchOne<B: FetchChainableBuilderType>(_ clauseChain: B) throws -> B.ObjectType? {
return self.fetchOne(clauseChain.from, clauseChain.fetchClauses)
return try self.fetchOne(clauseChain.from, clauseChain.fetchClauses)
}
@nonobjc
public func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [D]? {
public func fetchAll<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [D] {
return self.fetchAll(from, fetchClauses)
return try self.fetchAll(from, fetchClauses)
}
@nonobjc
public func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [D]? {
public func fetchAll<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [D] {
let fetchRequest = CoreStoreFetchRequest()
let storeFound = from.applyToFetchRequest(fetchRequest, context: self)
try from.applyToFetchRequest(fetchRequest, context: self)
fetchRequest.fetchLimit = 0
fetchRequest.resultType = .managedObjectResultType
fetchClauses.forEach { $0.applyToFetchRequest(fetchRequest) }
guard storeFound else {
return nil
}
let entityClass = from.entityClass
return self.fetchAll(fetchRequest.dynamicCast())?.map(entityClass.cs_fromRaw)
return try self.fetchAll(fetchRequest.dynamicCast()).map(entityClass.cs_fromRaw)
}
@nonobjc
public func fetchAll<B: FetchChainableBuilderType>(_ clauseChain: B) -> [B.ObjectType]? {
public func fetchAll<B: FetchChainableBuilderType>(_ clauseChain: B) throws -> [B.ObjectType] {
return self.fetchAll(clauseChain.from, clauseChain.fetchClauses)
return try self.fetchAll(clauseChain.from, clauseChain.fetchClauses)
}
@nonobjc
public func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> Int? {
public func fetchCount<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> Int {
return self.fetchCount(from, fetchClauses)
return try self.fetchCount(from, fetchClauses)
}
@nonobjc
public func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> Int? {
public func fetchCount<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> Int {
let fetchRequest = CoreStoreFetchRequest()
let storeFound = from.applyToFetchRequest(fetchRequest, context: self)
try from.applyToFetchRequest(fetchRequest, context: self)
fetchClauses.forEach { $0.applyToFetchRequest(fetchRequest) }
guard storeFound else {
return nil
}
return self.fetchCount(fetchRequest.dynamicCast())
return try self.fetchCount(fetchRequest.dynamicCast())
}
@nonobjc
public func fetchCount<B: FetchChainableBuilderType>(_ clauseChain: B) -> Int? {
public func fetchCount<B: FetchChainableBuilderType>(_ clauseChain: B) throws -> Int {
return self.fetchCount(clauseChain.from, clauseChain.fetchClauses)
return try self.fetchCount(clauseChain.from, clauseChain.fetchClauses)
}
@nonobjc
public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> NSManagedObjectID? {
public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> NSManagedObjectID? {
return self.fetchObjectID(from, fetchClauses)
return try self.fetchObjectID(from, fetchClauses)
}
@nonobjc
public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> NSManagedObjectID? {
public func fetchObjectID<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> NSManagedObjectID? {
let fetchRequest = CoreStoreFetchRequest()
let storeFound = from.applyToFetchRequest(fetchRequest, context: self)
try from.applyToFetchRequest(fetchRequest, context: self)
fetchRequest.fetchLimit = 1
fetchRequest.resultType = .managedObjectIDResultType
fetchClauses.forEach { $0.applyToFetchRequest(fetchRequest) }
guard storeFound else {
return nil
}
return self.fetchObjectID(fetchRequest.dynamicCast())
return try self.fetchObjectID(fetchRequest.dynamicCast())
}
// TODO: docs
@nonobjc
public func fetchObjectID<B: FetchChainableBuilderType>(_ clauseChain: B) -> NSManagedObjectID? {
public func fetchObjectID<B: FetchChainableBuilderType>(_ clauseChain: B) throws -> NSManagedObjectID? {
return self.fetchObjectID(clauseChain.from, clauseChain.fetchClauses)
return try self.fetchObjectID(clauseChain.from, clauseChain.fetchClauses)
}
@nonobjc
public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) -> [NSManagedObjectID]? {
public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: FetchClause...) throws -> [NSManagedObjectID] {
return self.fetchObjectIDs(from, fetchClauses)
return try self.fetchObjectIDs(from, fetchClauses)
}
@nonobjc
public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) -> [NSManagedObjectID]? {
public func fetchObjectIDs<D>(_ from: From<D>, _ fetchClauses: [FetchClause]) throws -> [NSManagedObjectID] {
let fetchRequest = CoreStoreFetchRequest()
let storeFound = from.applyToFetchRequest(fetchRequest, context: self)
try from.applyToFetchRequest(fetchRequest, context: self)
fetchRequest.fetchLimit = 0
fetchRequest.resultType = .managedObjectIDResultType
fetchClauses.forEach { $0.applyToFetchRequest(fetchRequest) }
guard storeFound else {
return nil
}
return self.fetchObjectIDs(fetchRequest.dynamicCast())
return try self.fetchObjectIDs(fetchRequest.dynamicCast())
}
// TODO: docs
@nonobjc
public func fetchObjectIDs<B: FetchChainableBuilderType>(_ clauseChain: B) -> [NSManagedObjectID]? {
public func fetchObjectIDs<B: FetchChainableBuilderType>(_ clauseChain: B) throws -> [NSManagedObjectID] {
return self.fetchObjectIDs(clauseChain.from, clauseChain.fetchClauses)
return try self.fetchObjectIDs(clauseChain.from, clauseChain.fetchClauses)
}
@nonobjc
internal func fetchObjectIDs(_ fetchRequest: NSFetchRequest<NSManagedObjectID>) -> [NSManagedObjectID]? {
internal func fetchObjectIDs(_ fetchRequest: NSFetchRequest<NSManagedObjectID>) throws -> [NSManagedObjectID] {
var fetchResults: [NSManagedObjectID]?
var fetchError: Error?
@@ -261,77 +239,70 @@ extension NSManagedObjectContext: FetchableSource, QueryableSource {
fetchError = error
}
}
if fetchResults == nil {
CoreStore.log(
CoreStoreError(fetchError),
"Failed executing fetch request."
)
return nil
if let fetchResults = fetchResults {
return fetchResults
}
return fetchResults
let coreStoreError = CoreStoreError(fetchError)
CoreStore.log(
coreStoreError,
"Failed executing fetch request."
)
throw coreStoreError
}
// MARK: QueryableSource
@nonobjc
public func queryValue<D, U: QueryableAttributeType>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) -> U? {
public func queryValue<D, U: QueryableAttributeType>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) throws -> U? {
return self.queryValue(from, selectClause, queryClauses)
return try self.queryValue(from, selectClause, queryClauses)
}
@nonobjc
public func queryValue<D, U: QueryableAttributeType>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) -> U? {
public func queryValue<D, U: QueryableAttributeType>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) throws -> U? {
let fetchRequest = CoreStoreFetchRequest()
let storeFound = from.applyToFetchRequest(fetchRequest, context: self)
try from.applyToFetchRequest(fetchRequest, context: self)
fetchRequest.fetchLimit = 0
selectClause.applyToFetchRequest(fetchRequest)
queryClauses.forEach { $0.applyToFetchRequest(fetchRequest) }
guard storeFound else {
return nil
}
return self.queryValue(selectClause.selectTerms, fetchRequest: fetchRequest)
return try self.queryValue(selectClause.selectTerms, fetchRequest: fetchRequest)
}
@nonobjc
public func queryValue<B>(_ clauseChain: B) -> B.ResultType? where B: QueryChainableBuilderType, B.ResultType: QueryableAttributeType {
public func queryValue<B>(_ clauseChain: B) throws -> B.ResultType? where B: QueryChainableBuilderType, B.ResultType: QueryableAttributeType {
return self.queryValue(clauseChain.from, clauseChain.select, clauseChain.queryClauses)
return try self.queryValue(clauseChain.from, clauseChain.select, clauseChain.queryClauses)
}
@nonobjc
public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) -> [[String: Any]]? {
public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) throws -> [[String: Any]] {
return self.queryAttributes(from, selectClause, queryClauses)
return try self.queryAttributes(from, selectClause, queryClauses)
}
@nonobjc
public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) -> [[String: Any]]? {
public func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) throws -> [[String: Any]] {
let fetchRequest = CoreStoreFetchRequest()
let storeFound = from.applyToFetchRequest(fetchRequest, context: self)
try from.applyToFetchRequest(fetchRequest, context: self)
fetchRequest.fetchLimit = 0
selectClause.applyToFetchRequest(fetchRequest)
queryClauses.forEach { $0.applyToFetchRequest(fetchRequest) }
guard storeFound else {
return nil
}
return self.queryAttributes(fetchRequest)
return try self.queryAttributes(fetchRequest)
}
public func queryAttributes<B>(_ clauseChain: B) -> [[String : Any]]? where B : QueryChainableBuilderType, B.ResultType == NSDictionary {
public func queryAttributes<B>(_ clauseChain: B) throws -> [[String : Any]] where B : QueryChainableBuilderType, B.ResultType == NSDictionary {
return self.queryAttributes(clauseChain.from, clauseChain.select, clauseChain.queryClauses)
return try self.queryAttributes(clauseChain.from, clauseChain.select, clauseChain.queryClauses)
}
@@ -347,22 +318,18 @@ extension NSManagedObjectContext: FetchableSource, QueryableSource {
// MARK: Deleting
@nonobjc
internal func deleteAll<D>(_ from: From<D>, _ deleteClauses: [FetchClause]) -> Int? {
internal func deleteAll<D>(_ from: From<D>, _ deleteClauses: [FetchClause]) throws -> Int {
let fetchRequest = CoreStoreFetchRequest()
let storeFound = from.applyToFetchRequest(fetchRequest, context: self)
try from.applyToFetchRequest(fetchRequest, context: self)
fetchRequest.fetchLimit = 0
fetchRequest.resultType = .managedObjectResultType
fetchRequest.returnsObjectsAsFaults = true
fetchRequest.includesPropertyValues = false
deleteClauses.forEach { $0.applyToFetchRequest(fetchRequest) }
guard storeFound else {
return nil
}
return self.deleteAll(fetchRequest.dynamicCast())
return try self.deleteAll(fetchRequest.dynamicCast())
}
@@ -383,7 +350,7 @@ internal extension NSManagedObjectContext {
// MARK: Fetching
@nonobjc
internal func fetchOne<D: NSManagedObject>(_ fetchRequest: NSFetchRequest<D>) -> D? {
internal func fetchOne<D: NSManagedObject>(_ fetchRequest: NSFetchRequest<D>) throws -> D? {
var fetchResults: [D]?
var fetchError: Error?
@@ -398,19 +365,20 @@ internal extension NSManagedObjectContext {
fetchError = error
}
}
if fetchResults == nil {
CoreStore.log(
CoreStoreError(fetchError),
"Failed executing fetch request."
)
return nil
if let fetchResults = fetchResults {
return fetchResults.first
}
return fetchResults?.first
let coreStoreError = CoreStoreError(fetchError)
CoreStore.log(
coreStoreError,
"Failed executing fetch request."
)
throw coreStoreError
}
@nonobjc
internal func fetchAll<D: NSManagedObject>(_ fetchRequest: NSFetchRequest<D>) -> [D]? {
internal func fetchAll<D: NSManagedObject>(_ fetchRequest: NSFetchRequest<D>) throws -> [D] {
var fetchResults: [D]?
var fetchError: Error?
@@ -425,19 +393,20 @@ internal extension NSManagedObjectContext {
fetchError = error
}
}
if fetchResults == nil {
CoreStore.log(
CoreStoreError(fetchError),
"Failed executing fetch request."
)
return nil
if let fetchResults = fetchResults {
return fetchResults
}
return fetchResults
let coreStoreError = CoreStoreError(fetchError)
CoreStore.log(
coreStoreError,
"Failed executing fetch request."
)
throw coreStoreError
}
@nonobjc
internal func fetchCount(_ fetchRequest: NSFetchRequest<NSFetchRequestResult>) -> Int? {
internal func fetchCount(_ fetchRequest: NSFetchRequest<NSFetchRequestResult>) throws -> Int {
var count = 0
var countError: Error?
@@ -453,18 +422,19 @@ internal extension NSManagedObjectContext {
}
}
if count == NSNotFound {
let coreStoreError = CoreStoreError(countError)
CoreStore.log(
CoreStoreError(countError),
coreStoreError,
"Failed executing count request."
)
return nil
throw coreStoreError
}
return count
}
@nonobjc
internal func fetchObjectID(_ fetchRequest: NSFetchRequest<NSManagedObjectID>) -> NSManagedObjectID? {
internal func fetchObjectID(_ fetchRequest: NSFetchRequest<NSManagedObjectID>) throws -> NSManagedObjectID? {
var fetchResults: [NSManagedObjectID]?
var fetchError: Error?
@@ -479,22 +449,23 @@ internal extension NSManagedObjectContext {
fetchError = error
}
}
if fetchResults == nil {
CoreStore.log(
CoreStoreError(fetchError),
"Failed executing fetch request."
)
return nil
if let fetchResults = fetchResults {
return fetchResults.first
}
return fetchResults?.first
let coreStoreError = CoreStoreError(fetchError)
CoreStore.log(
coreStoreError,
"Failed executing fetch request."
)
throw coreStoreError
}
// MARK: Querying
@nonobjc
internal func queryValue<D, U: QueryableAttributeType>(_ selectTerms: [SelectTerm<D>], fetchRequest: NSFetchRequest<NSFetchRequestResult>) -> U? {
internal func queryValue<D, U: QueryableAttributeType>(_ selectTerms: [SelectTerm<D>], fetchRequest: NSFetchRequest<NSFetchRequestResult>) throws -> U? {
var fetchResults: [Any]?
var fetchError: Error?
@@ -518,16 +489,16 @@ internal extension NSManagedObjectContext {
}
return nil
}
let coreStoreError = CoreStoreError(fetchError)
CoreStore.log(
CoreStoreError(fetchError),
coreStoreError,
"Failed executing fetch request."
)
return nil
throw coreStoreError
}
@nonobjc
internal func queryValue<D>(_ selectTerms: [SelectTerm<D>], fetchRequest: NSFetchRequest<NSFetchRequestResult>) -> Any? {
internal func queryValue<D>(_ selectTerms: [SelectTerm<D>], fetchRequest: NSFetchRequest<NSFetchRequestResult>) throws -> Any? {
var fetchResults: [Any]?
var fetchError: Error?
@@ -551,16 +522,16 @@ internal extension NSManagedObjectContext {
}
return nil
}
let coreStoreError = CoreStoreError(fetchError)
CoreStore.log(
CoreStoreError(fetchError),
coreStoreError,
"Failed executing fetch request."
)
return nil
throw coreStoreError
}
@nonobjc
internal func queryAttributes(_ fetchRequest: NSFetchRequest<NSFetchRequestResult>) -> [[String: Any]]? {
internal func queryAttributes(_ fetchRequest: NSFetchRequest<NSFetchRequestResult>) throws -> [[String: Any]] {
var fetchResults: [Any]?
var fetchError: Error?
@@ -579,19 +550,19 @@ internal extension NSManagedObjectContext {
return NSDictionary.cs_fromQueryResultsNativeType(fetchResults)
}
let coreStoreError = CoreStoreError(fetchError)
CoreStore.log(
CoreStoreError(fetchError),
coreStoreError,
"Failed executing fetch request."
)
return nil
throw coreStoreError
}
// MARK: Deleting
@nonobjc
internal func deleteAll<D: NSManagedObject>(_ fetchRequest: NSFetchRequest<D>) -> Int? {
internal func deleteAll<D: NSManagedObject>(_ fetchRequest: NSFetchRequest<D>) throws -> Int {
var numberOfDeletedObjects: Int?
var fetchError: Error?
@@ -614,14 +585,15 @@ internal extension NSManagedObjectContext {
}
}
}
if numberOfDeletedObjects == nil {
CoreStore.log(
CoreStoreError(fetchError),
"Failed executing fetch request."
)
return nil
if let numberOfDeletedObjects = numberOfDeletedObjects {
return numberOfDeletedObjects
}
return numberOfDeletedObjects
let coreStoreError = CoreStoreError(fetchError)
CoreStore.log(
coreStoreError,
"Failed executing delete request."
)
throw coreStoreError
}
}

View File

@@ -32,13 +32,16 @@ import Foundation
internal extension NSManagedObjectModel {
@nonobjc
internal func cs_resolvedRenamingIdentities() -> [String: (entity: NSEntityDescription, versionHash: Data)] {
var mapping: [String: (entity: NSEntityDescription, versionHash: Data)] = [:]
for (entityName, entityDescription) in self.entitiesByName {
mapping[entityDescription.renamingIdentifier ?? entityName] = (entityDescription, entityDescription.versionHash)
}
return mapping
internal func cs_resolveNames() -> [String: (entity: NSEntityDescription, versionHash: Data)] {
return self.entitiesByName.reduce(into: [:], { (result, entity: (name: String, description: NSEntityDescription)) in
result[entity.name] = (entity.description, entity.description.versionHash)
})
}
@nonobjc
internal func cs_resolveRenamingIdentities() -> [String: (entity: NSEntityDescription, versionHash: Data)] {
return self.entitiesByName.reduce(into: [:], { (result, entity: (name: String, description: NSEntityDescription)) in
result[entity.description.renamingIdentifier ?? entity.name] = (entity.description, entity.description.versionHash)
})
}
}

View File

@@ -42,9 +42,10 @@ public protocol QueryableSource: class {
- parameter from: a `From` clause indicating the entity type
- parameter selectClause: a `Select<U>` clause indicating the properties to fetch, and with the generic type indicating the return type.
- parameter queryClauses: a series of `QueryClause` instances for the query request. Accepts `Where`, `OrderBy`, `GroupBy`, and `Tweak` clauses.
- returns: the result of the the query. The type of the return value is specified by the generic type of the `Select<U>` parameter.
- returns: the result of the the query, or `nil` if no match was found. The type of the return value is specified by the generic type of the `Select<U>` parameter.
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
func queryValue<D, U: QueryableAttributeType>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) -> U?
func queryValue<D, U: QueryableAttributeType>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: QueryClause...) throws -> U?
/**
Queries aggregate values as specified by the `QueryClause`s. Requires at least a `Select` clause, and optional `Where`, `OrderBy`, `GroupBy`, and `Tweak` clauses.
@@ -54,9 +55,10 @@ public protocol QueryableSource: class {
- parameter from: a `From` clause indicating the entity type
- parameter selectClause: a `Select<U>` clause indicating the properties to fetch, and with the generic type indicating the return type.
- parameter queryClauses: a series of `QueryClause` instances for the query request. Accepts `Where`, `OrderBy`, `GroupBy`, and `Tweak` clauses.
- returns: the result of the the query. The type of the return value is specified by the generic type of the `Select<U>` parameter.
- returns: the result of the the query, or `nil` if no match was found. The type of the return value is specified by the generic type of the `Select<U>` parameter.
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
func queryValue<D, U: QueryableAttributeType>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) -> U?
func queryValue<D, U: QueryableAttributeType>(_ from: From<D>, _ selectClause: Select<D, U>, _ queryClauses: [QueryClause]) throws -> U?
/**
Queries a property value or aggregate as specified by the `QueryChainableBuilderType` built from a chain of clauses.
@@ -70,9 +72,10 @@ public protocol QueryableSource: class {
)
```
- parameter clauseChain: a `QueryChainableBuilderType` indicating the property/aggregate to fetch and the series of queries for the request.
- returns: the result of the the query as specified by the `QueryChainableBuilderType`
- returns: the result of the the query as specified by the `QueryChainableBuilderType`, or `nil` if no match was found.
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
func queryValue<B: QueryChainableBuilderType>(_ clauseChain: B) -> B.ResultType? where B.ResultType: QueryableAttributeType
func queryValue<B: QueryChainableBuilderType>(_ clauseChain: B) throws -> B.ResultType? where B.ResultType: QueryableAttributeType
/**
Queries a dictionary of attribute values as specified by the `QueryClause`s. Requires at least a `Select` clause, and optional `Where`, `OrderBy`, `GroupBy`, and `Tweak` clauses.
@@ -83,8 +86,9 @@ public protocol QueryableSource: class {
- parameter selectClause: a `Select<U>` clause indicating the properties to fetch, and with the generic type indicating the return type.
- parameter queryClauses: a series of `QueryClause` instances for the query request. Accepts `Where`, `OrderBy`, `GroupBy`, and `Tweak` clauses.
- returns: the result of the the query. The type of the return value is specified by the generic type of the `Select<U>` parameter.
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) -> [[String: Any]]?
func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: QueryClause...) throws -> [[String: Any]]
/**
Queries a dictionary of attribute values as specified by the `QueryClause`s. Requires at least a `Select` clause, and optional `Where`, `OrderBy`, `GroupBy`, and `Tweak` clauses.
@@ -95,8 +99,9 @@ public protocol QueryableSource: class {
- parameter selectClause: a `Select<U>` clause indicating the properties to fetch, and with the generic type indicating the return type.
- parameter queryClauses: a series of `QueryClause` instances for the query request. Accepts `Where`, `OrderBy`, `GroupBy`, and `Tweak` clauses.
- returns: the result of the the query. The type of the return value is specified by the generic type of the `Select<U>` parameter.
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) -> [[String: Any]]?
func queryAttributes<D>(_ from: From<D>, _ selectClause: Select<D, NSDictionary>, _ queryClauses: [QueryClause]) throws -> [[String: Any]]
/**
Queries a dictionary of attribute values or as specified by the `QueryChainableBuilderType` built from a chain of clauses.
@@ -120,8 +125,9 @@ public protocol QueryableSource: class {
```
- parameter clauseChain: a `QueryChainableBuilderType` indicating the properties to fetch and the series of queries for the request.
- returns: the result of the the query as specified by the `QueryChainableBuilderType`
- throws: a `CoreStoreError` value indicating the failure if the specified entity could not be found in any store's schema.
*/
func queryAttributes<B: QueryChainableBuilderType>(_ clauseChain: B) -> [[String: Any]]? where B.ResultType == NSDictionary
func queryAttributes<B: QueryChainableBuilderType>(_ clauseChain: B) throws -> [[String: Any]] where B.ResultType == NSDictionary
/**
The internal `NSManagedObjectContext` managed by this `QueryableSource`. Using this context directly should typically be avoided, and is provided by CoreStore only for extremely specialized cases.

View File

@@ -298,6 +298,9 @@ public enum SelectTerm<D: DynamicObject>: ExpressibleByStringLiteral, Hashable {
}
}
// MARK: - SelectTerm where D: NSManagedObject
extension SelectTerm where D: NSManagedObject {
/**
@@ -366,6 +369,9 @@ extension SelectTerm where D: NSManagedObject {
}
}
// MARK: - SelectTerm where D: CoreStoreObject
extension SelectTerm where D: CoreStoreObject {
/**

View File

@@ -142,8 +142,23 @@ public extension UnsafeDataTransaction {
createAsynchronously: createAsynchronously
)
}
// TODO: docs
/**
Asynchronously creates a `ListMonitor` for a list of `DynamicObject`s that satisfy the specified `FetchChainableBuilderType` built from a chain of clauses. Since `NSFetchedResultsController` greedily locks the persistent store on initial fetch, you may prefer this method instead of the synchronous counterpart to avoid deadlocks while background updates/saves are being executed.
```
dataStack.monitorList(
createAsynchronously: { (monitor) in
self.monitor = monitor
},
From<MyPersonEntity>()
.where(\.age > 18)
.orderBy(.ascending(\.age))
)
```
- parameter createAsynchronously: the closure that receives the created `ListMonitor` instance
- parameter clauseChain: a `FetchChainableBuilderType` built from a chain of clauses
*/
public func monitorList<B: FetchChainableBuilderType>(createAsynchronously: @escaping (ListMonitor<B.ObjectType>) -> Void, _ clauseChain: B) {
self.monitorList(
@@ -267,8 +282,8 @@ public extension UnsafeDataTransaction {
.orderBy(.ascending(\.age))
)
```
- parameter createAsynchronously: the closure that receives the created `ListMonitor` instance
- parameter clauseChain: a `SectionMonitorBuilderType` built from a chain of clauses
- returns: a `ListMonitor` for a list of `DynamicObject`s that satisfy the specified `SectionMonitorBuilderType`
*/
public func monitorSectionedList<B: SectionMonitorBuilderType>(createAsynchronously: @escaping (ListMonitor<B.ObjectType>) -> Void, _ clauseChain: B) {

View File

@@ -541,7 +541,7 @@ public extension Sequence where Iterator.Element: WhereClauseType {
public extension Where {
@available(*, deprecated: 4.0, renamed: "&&?")
@available(*, deprecated, renamed: "&&?")
public static func && (left: Where<D>, right: Where<D>?) -> Where<D> {
if let right = right {
@@ -551,7 +551,7 @@ public extension Where {
return left
}
@available(*, deprecated: 4.0, renamed: "&&?")
@available(*, deprecated, renamed: "&&?")
public static func && (left: Where<D>?, right: Where<D>) -> Where<D> {
if let left = left {
@@ -561,7 +561,7 @@ public extension Where {
return right
}
@available(*, deprecated: 4.0, renamed: "||?")
@available(*, deprecated, renamed: "||?")
public static func || (left: Where<D>, right: Where<D>?) -> Where<D> {
if let right = right {
@@ -571,7 +571,7 @@ public extension Where {
return left
}
@available(*, deprecated: 4.0, renamed: "||?")
@available(*, deprecated, renamed: "||?")
public static func || (left: Where<D>?, right: Where<D>) -> Where<D> {
if let left = left {

View File

@@ -42,7 +42,7 @@ public final class XcodeDataModelSchema: DynamicSchema {
/**
Creates a `XcodeDataModelSchema` for each of the models declared in the specified (.xcdatamodeld) model file.
- parameter modelName: the name of the (.xcdatamodeld) model file. If not specified, the application name (CFBundleName) will be used if it exists, or "CoreData" if it the bundle name was not set.
- parameter bundle: an optional bundle to load models from. If not specified, the main bundle will be used.
- parameter bundle: an optional bundle to load .xcdatamodeld models from. If not specified, the main bundle will be used.
- parameter migrationChain: the `MigrationChain` that indicates the sequence of model versions to be used as the order for progressive migrations. If not specified, will default to a non-migrating data stack.
- returns: a tuple containing all `XcodeDataModelSchema` for the models declared in the specified .xcdatamodeld file, and the current model version string declared or inferred from the file.
*/

3126
docs/Classes.html Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,869 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Result Enumeration 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/Enum/Result" class="dashAnchor"></a>
<a title="Result Enumeration Reference"></a>
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../../index.html">
CoreStore Docs
</a>
(88% documented)
</p>
<p class="header-col--secondary">
<form role="search" action="../../search.json">
<input type="text" placeholder="Search documentation" data-typeahead>
</form>
</p>
<p class="header-col header-col--secondary">
<a class="header-link" href="https://github.com/JohnEstropia/CoreStore">
<img class="header-icon" src="../../img/gh.png"/>
View on GitHub
</a>
</p>
</header>
<p class="breadcrumbs">
<a class="breadcrumb" href="../../index.html">CoreStore Reference</a>
<img class="carat" src="../../img/carat.png" />
Result Enumeration Reference
</p>
<div class="content-wrapper">
<nav class="navigation">
<ul class="nav-groups">
<li class="nav-group-name">
<a class="nav-group-name-link" href="../../Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/AsynchronousDataTransaction.html">AsynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/AsynchronousDataTransaction/Result.html"> Result</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/BaseDataTransaction.html">BaseDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CSAsynchronousDataTransaction.html">CSAsynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CSBaseDataTransaction.html">CSBaseDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CSCoreStore.html">CSCoreStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CSDataStack.html">CSDataStack</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CSError.html">CSError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CSFrom.html">CSFrom</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CSGroupBy.html">CSGroupBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CSInMemoryStore.html">CSInMemoryStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CSInto.html">CSInto</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CSListMonitor.html">CSListMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CSMigrationResult.html">CSMigrationResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CSMigrationType.html">CSMigrationType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CSObjectMonitor.html">CSObjectMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CSOrderBy.html">CSOrderBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CSSQLiteStore.html">CSSQLiteStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CSSectionBy.html">CSSectionBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CSSelect.html">CSSelect</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CSSelectTerm.html">CSSelectTerm</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CSSetupResult.html">CSSetupResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CSSynchronousDataTransaction.html">CSSynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CSTweak.html">CSTweak</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CSUnsafeDataModelSchema.html">CSUnsafeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CSUnsafeDataTransaction.html">CSUnsafeDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CSWhere.html">CSWhere</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CSXcodeDataModelSchema.html">CSXcodeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CoreStoreObject.html">CoreStoreObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CoreStoreObjectObjectDiff.html">CoreStoreObjectObjectDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CoreStoreObjectOrderedDiff.html">CoreStoreObjectOrderedDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CoreStoreObjectTransformableDiff.html">CoreStoreObjectTransformableDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CoreStoreObjectUnorderedDiff.html">CoreStoreObjectUnorderedDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CoreStoreObjectValueDiff.html">CoreStoreObjectValueDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CoreStoreSchema.html">CoreStoreSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CustomSchemaMappingProvider.html">CustomSchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CustomSchemaMappingProvider/CustomMapping.html"> CustomMapping</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html"> UnsafeSourceObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html"> UnsafeDestinationObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/DataStack.html">DataStack</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/DefaultLogger.html">DefaultLogger</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/DynamicEntity.html">DynamicEntity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/Entity.html">Entity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/ICloudStore.html">ICloudStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/InMemoryStore.html">InMemoryStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/InferredSchemaMappingProvider.html">InferredSchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/ListMonitor.html">ListMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/ObjectMonitor.html">ObjectMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/SQLiteStore.html">SQLiteStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/SchemaHistory.html">SchemaHistory</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/SynchronousDataTransaction.html">SynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/UnsafeDataModelSchema.html">UnsafeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/UnsafeDataTransaction.html">UnsafeDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/UserInfo.html">UserInfo</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/XcodeDataModelSchema.html">XcodeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Classes/XcodeSchemaMappingProvider.html">XcodeSchemaMappingProvider</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../../Global Variables.html">Global Variables</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Global Variables.html#/s:9CoreStore0aB11ErrorDomainSSvp">CoreStoreErrorDomain</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../../Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Enums/CSErrorCode.html">CSErrorCode</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Enums/CSLocalStorageOptions.html">CSLocalStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Enums/CoreStore.html">CoreStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Enums/CoreStoreError.html">CoreStoreError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Enums/CoreStoreErrorCode.html">CoreStoreErrorCode</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Enums.html#/s:9CoreStore8LogLevelO">LogLevel</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Enums/MigrationResult.html">MigrationResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Enums/MigrationType.html">MigrationType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Enums/RelationshipContainer.html">RelationshipContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Enums/RelationshipContainer/ToOne.html"> ToOne</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Enums/RelationshipContainer/ToManyOrdered.html"> ToManyOrdered</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Enums/RelationshipContainer/ToManyUnordered.html"> ToManyUnordered</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Enums/SelectTerm.html">SelectTerm</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Enums/SetupResult.html">SetupResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Enums/TransformableContainer.html">TransformableContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Enums/TransformableContainer/Required.html"> Required</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Enums/TransformableContainer/Optional.html"> Optional</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Enums/ValueContainer.html">ValueContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Enums/ValueContainer/Required.html"> Required</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Enums/ValueContainer/Optional.html"> Optional</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions/Bool.html">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions/CGFloat.html">CGFloat</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions/Data.html">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions/Double.html">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions/Float.html">Float</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions/Int.html">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions/Int16.html">Int16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions/Int32.html">Int32</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions/Int64.html">Int64</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions/Int8.html">Int8</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions/KeyPath.html">KeyPath</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions/KeyPathString.html">KeyPathString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions/NSData.html">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions/NSDate.html">NSDate</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions/NSManagedObject.html">NSManagedObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions/NSManagedObjectContext.html">NSManagedObjectContext</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions/NSManagedObjectID.html">NSManagedObjectID</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions/NSNull.html">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions/NSNumber.html">NSNumber</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions/NSString.html">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions/NSURL.html">NSURL</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions/NSUUID.html">NSUUID</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions/Progress.html">Progress</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions/RawRepresentable.html">RawRepresentable</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions/Sequence.html">Sequence</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions/String.html">String</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions/URL.html">URL</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Extensions/UUID.html">UUID</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../../Functions.html">Functions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GGtAA0aB6ObjectCRbzAORb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_STR0_So0gH2IDC7ElementRt0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_STR0_So0gH2IDC7ElementRt0_r1_lF">~=(_:_:)</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/AnyWhereClause.html">AnyWhereClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols.html#/c:@M@CoreStore@objc(pl)CSDeleteClause">CSDeleteClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/CSDynamicSchema.html">CSDynamicSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols.html#/c:@M@CoreStore@objc(pl)CSFetchClause">CSFetchClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/CSListObjectObserver.html">CSListObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/CSListObserver.html">CSListObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/CSListSectionObserver.html">CSListSectionObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/CSLocalStorage.html">CSLocalStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/CSObjectObserver.html">CSObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols.html#/c:@M@CoreStore@objc(pl)CSQueryClause">CSQueryClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/CSStorageInterface.html">CSStorageInterface</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/CloudStorage.html">CloudStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols.html#/c:@M@CoreStore@objc(pl)CoreDataNativeType">CoreDataNativeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/CoreStoreLogger.html">CoreStoreLogger</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/CoreStoreObjectKeyValueObservation.html">CoreStoreObjectKeyValueObservation</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/CoreStoreObjectiveCType.html">CoreStoreObjectiveCType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/CoreStoreSwiftType.html">CoreStoreSwiftType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols.html#/s:9CoreStore12DeleteClauseP">DeleteClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/DynamicKeyPath.html">DynamicKeyPath</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/DynamicObject.html">DynamicObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/DynamicSchema.html">DynamicSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/FetchChainableBuilderType.html">FetchChainableBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols.html#/s:9CoreStore11FetchClauseP">FetchClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/FetchableSource.html">FetchableSource</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/GroupByClause.html">GroupByClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/ICloudStoreObserver.html">ICloudStoreObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols.html#/s:9CoreStore23ImportableAttributeTypeP">ImportableAttributeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/ImportableObject.html">ImportableObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/ImportableUniqueObject.html">ImportableUniqueObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/ListObjectObserver.html">ListObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/ListObserver.html">ListObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/ListSectionObserver.html">ListSectionObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/LocalStorage.html">LocalStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/ObjectObserver.html">ObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/OrderByClause.html">OrderByClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/QueryChainableBuilderType.html">QueryChainableBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols.html#/s:9CoreStore11QueryClauseP">QueryClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/QueryableAttributeType.html">QueryableAttributeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/QueryableSource.html">QueryableSource</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/SchemaMappingProvider.html">SchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/SectionMonitorBuilderType.html">SectionMonitorBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols.html#/s:9CoreStore26SelectAttributesResultTypeP">SelectAttributesResultType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/SelectClause.html">SelectClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols.html#/s:9CoreStore16SelectResultTypeP">SelectResultType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/StorageInterface.html">StorageInterface</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Protocols/WhereClauseType.html">WhereClauseType</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Structs/CloudStorageOptions.html">CloudStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Structs/FetchChainBuilder.html">FetchChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Structs/From.html">From</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Structs/GroupBy.html">GroupBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Structs/Into.html">Into</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Structs/LocalStorageOptions.html">LocalStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Structs/MigrationChain.html">MigrationChain</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Structs/OrderBy.html">OrderBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Structs/OrderBy/SortKey.html"> SortKey</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Structs/PartialObject.html">PartialObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Structs/QueryChainBuilder.html">QueryChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Structs/SectionBy.html">SectionBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Structs/SectionMonitorChainBuilder.html">SectionMonitorChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Structs/Select.html">Select</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Structs/Tweak.html">Tweak</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Structs/VersionLock.html">VersionLock</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Structs/Where.html">Where</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../../Typealiases.html">Type Aliases</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Typealiases.html#/s:9CoreStore9ClassNamea">ClassName</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Typealiases.html#/s:9CoreStore10EntityNamea">EntityName</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Typealiases.html#/s:9CoreStore18ModelConfigurationa">ModelConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Typealiases.html#/s:9CoreStore12ModelVersiona">ModelVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../../Typealiases.html#/s:9CoreStore22XcodeDataModelFileNamea">XcodeDataModelFileName</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section class="section">
<div class="section-content">
<h1>Result</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">enum</span> <span class="kt">Result</span><span class="o">&lt;</span><span class="kt">T</span><span class="o">&gt;</span></code></pre>
</div>
</div>
<p>The <code>Result</code> contains the success or failure information for a completed transaction</p>
</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:9CoreStore27AsynchronousDataTransactionC6ResultO7successyAEy_xGx_tcAGmlF"></a>
<a name="//apple_ref/swift/Element/success(userInfo:)" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore27AsynchronousDataTransactionC6ResultO7successyAEy_xGx_tcAGmlF">success(userInfo:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p><code>Result&lt;T&gt;.success</code> indicates that the transaction succeeded, either because the save succeeded or because there were no changes to save. The associated <code>userInfo</code> is the value returned from the transaction closure.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">case</span> <span class="nf">success</span><span class="p">(</span><span class="nv">userInfo</span><span class="p">:</span> <span class="kt">T</span><span class="p">)</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:9CoreStore27AsynchronousDataTransactionC6ResultO7failureyAEy_xGAA0aB5ErrorO_tcAGmlF"></a>
<a name="//apple_ref/swift/Element/failure(error:)" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore27AsynchronousDataTransactionC6ResultO7failureyAEy_xGAA0aB5ErrorO_tcAGmlF">failure(error:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p><code>Result&lt;T&gt;.failure</code> indicates that the transaction either failed or was cancelled. The associated object for this value is a <code><a href="../../Enums/CoreStoreError.html">CoreStoreError</a></code> enum value.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">case</span> <span class="nf">failure</span><span class="p">(</span><span class="nv">error</span><span class="p">:</span> <span class="kt"><a href="../../Enums/CoreStoreError.html">CoreStoreError</a></span><span class="p">)</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:9CoreStore27AsynchronousDataTransactionC6ResultO9boolValueSbvp"></a>
<a name="//apple_ref/swift/Property/boolValue" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore27AsynchronousDataTransactionC6ResultO9boolValueSbvp">boolValue</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Returns <code>true</code> if the result indicates <code>.success</code>, <code>false</code> if the result is <code>.failure</code>.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">boolValue</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<section class="footer">
<p>&copy; 2018 <a class="link" href="https://github.com/JohnEstropia" target="_blank" rel="external">John Estropia</a>. All rights reserved. (Last updated: 2018-12-19)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>
</html>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

891
docs/Classes/CSError.html Normal file
View File

@@ -0,0 +1,891 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>CSError Class 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/Class/CSError" class="dashAnchor"></a>
<a title="CSError Class Reference"></a>
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
CoreStore Docs
</a>
(88% documented)
</p>
<p class="header-col--secondary">
<form role="search" action="../search.json">
<input type="text" placeholder="Search documentation" data-typeahead>
</form>
</p>
<p class="header-col header-col--secondary">
<a class="header-link" href="https://github.com/JohnEstropia/CoreStore">
<img class="header-icon" src="../img/gh.png"/>
View on GitHub
</a>
</p>
</header>
<p class="breadcrumbs">
<a class="breadcrumb" href="../index.html">CoreStore Reference</a>
<img class="carat" src="../img/carat.png" />
CSError Class Reference
</p>
<div class="content-wrapper">
<nav class="navigation">
<ul class="nav-groups">
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/AsynchronousDataTransaction.html">AsynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/AsynchronousDataTransaction/Result.html"> Result</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/BaseDataTransaction.html">BaseDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSAsynchronousDataTransaction.html">CSAsynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSBaseDataTransaction.html">CSBaseDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSCoreStore.html">CSCoreStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSDataStack.html">CSDataStack</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSError.html">CSError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSFrom.html">CSFrom</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSGroupBy.html">CSGroupBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSInMemoryStore.html">CSInMemoryStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSInto.html">CSInto</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSListMonitor.html">CSListMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSMigrationResult.html">CSMigrationResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSMigrationType.html">CSMigrationType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSObjectMonitor.html">CSObjectMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSOrderBy.html">CSOrderBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSQLiteStore.html">CSSQLiteStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSectionBy.html">CSSectionBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSelect.html">CSSelect</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSelectTerm.html">CSSelectTerm</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSetupResult.html">CSSetupResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSynchronousDataTransaction.html">CSSynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSTweak.html">CSTweak</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSUnsafeDataModelSchema.html">CSUnsafeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSUnsafeDataTransaction.html">CSUnsafeDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSWhere.html">CSWhere</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSXcodeDataModelSchema.html">CSXcodeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObject.html">CoreStoreObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectObjectDiff.html">CoreStoreObjectObjectDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectOrderedDiff.html">CoreStoreObjectOrderedDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectTransformableDiff.html">CoreStoreObjectTransformableDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectUnorderedDiff.html">CoreStoreObjectUnorderedDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectValueDiff.html">CoreStoreObjectValueDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreSchema.html">CoreStoreSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider.html">CustomSchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/CustomMapping.html"> CustomMapping</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html"> UnsafeSourceObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html"> UnsafeDestinationObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DataStack.html">DataStack</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DefaultLogger.html">DefaultLogger</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DynamicEntity.html">DynamicEntity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/Entity.html">Entity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ICloudStore.html">ICloudStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/InMemoryStore.html">InMemoryStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/InferredSchemaMappingProvider.html">InferredSchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ListMonitor.html">ListMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ObjectMonitor.html">ObjectMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SQLiteStore.html">SQLiteStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SchemaHistory.html">SchemaHistory</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SynchronousDataTransaction.html">SynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UnsafeDataModelSchema.html">UnsafeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UnsafeDataTransaction.html">UnsafeDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UserInfo.html">UserInfo</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/XcodeDataModelSchema.html">XcodeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/XcodeSchemaMappingProvider.html">XcodeSchemaMappingProvider</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Global Variables.html">Global Variables</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Global Variables.html#/s:9CoreStore0aB11ErrorDomainSSvp">CoreStoreErrorDomain</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CSErrorCode.html">CSErrorCode</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CSLocalStorageOptions.html">CSLocalStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStore.html">CoreStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStoreError.html">CoreStoreError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStoreErrorCode.html">CoreStoreErrorCode</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums.html#/s:9CoreStore8LogLevelO">LogLevel</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/MigrationResult.html">MigrationResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/MigrationType.html">MigrationType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer.html">RelationshipContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToOne.html"> ToOne</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToManyOrdered.html"> ToManyOrdered</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToManyUnordered.html"> ToManyUnordered</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SelectTerm.html">SelectTerm</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SetupResult.html">SetupResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer.html">TransformableContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer/Required.html"> Required</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer/Optional.html"> Optional</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer.html">ValueContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer/Required.html"> Required</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer/Optional.html"> Optional</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Bool.html">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/CGFloat.html">CGFloat</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Data.html">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Double.html">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Float.html">Float</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int.html">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int16.html">Int16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int32.html">Int32</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int64.html">Int64</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int8.html">Int8</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/KeyPath.html">KeyPath</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/KeyPathString.html">KeyPathString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSData.html">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSDate.html">NSDate</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObject.html">NSManagedObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObjectContext.html">NSManagedObjectContext</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObjectID.html">NSManagedObjectID</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSNull.html">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSNumber.html">NSNumber</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSString.html">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSURL.html">NSURL</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSUUID.html">NSUUID</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Progress.html">Progress</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/RawRepresentable.html">RawRepresentable</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Sequence.html">Sequence</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/String.html">String</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/URL.html">URL</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/UUID.html">UUID</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Functions.html">Functions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GGtAA0aB6ObjectCRbzAORb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_STR0_So0gH2IDC7ElementRt0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_STR0_So0gH2IDC7ElementRt0_r1_lF">~=(_:_:)</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/AnyWhereClause.html">AnyWhereClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSDeleteClause">CSDeleteClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSDynamicSchema.html">CSDynamicSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSFetchClause">CSFetchClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListObjectObserver.html">CSListObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListObserver.html">CSListObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListSectionObserver.html">CSListSectionObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSLocalStorage.html">CSLocalStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSObjectObserver.html">CSObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSQueryClause">CSQueryClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSStorageInterface.html">CSStorageInterface</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CloudStorage.html">CloudStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CoreDataNativeType">CoreDataNativeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreLogger.html">CoreStoreLogger</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreObjectKeyValueObservation.html">CoreStoreObjectKeyValueObservation</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreObjectiveCType.html">CoreStoreObjectiveCType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreSwiftType.html">CoreStoreSwiftType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore12DeleteClauseP">DeleteClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicKeyPath.html">DynamicKeyPath</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicObject.html">DynamicObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicSchema.html">DynamicSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/FetchChainableBuilderType.html">FetchChainableBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore11FetchClauseP">FetchClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/FetchableSource.html">FetchableSource</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/GroupByClause.html">GroupByClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ICloudStoreObserver.html">ICloudStoreObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore23ImportableAttributeTypeP">ImportableAttributeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ImportableObject.html">ImportableObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ImportableUniqueObject.html">ImportableUniqueObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListObjectObserver.html">ListObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListObserver.html">ListObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListSectionObserver.html">ListSectionObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/LocalStorage.html">LocalStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ObjectObserver.html">ObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/OrderByClause.html">OrderByClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryChainableBuilderType.html">QueryChainableBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore11QueryClauseP">QueryClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryableAttributeType.html">QueryableAttributeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryableSource.html">QueryableSource</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SchemaMappingProvider.html">SchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SectionMonitorBuilderType.html">SectionMonitorBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore26SelectAttributesResultTypeP">SelectAttributesResultType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SelectClause.html">SelectClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore16SelectResultTypeP">SelectResultType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/StorageInterface.html">StorageInterface</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/WhereClauseType.html">WhereClauseType</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/CloudStorageOptions.html">CloudStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/FetchChainBuilder.html">FetchChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/From.html">From</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/GroupBy.html">GroupBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Into.html">Into</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/LocalStorageOptions.html">LocalStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/MigrationChain.html">MigrationChain</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/OrderBy.html">OrderBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/OrderBy/SortKey.html"> SortKey</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/PartialObject.html">PartialObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/QueryChainBuilder.html">QueryChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SectionBy.html">SectionBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SectionMonitorChainBuilder.html">SectionMonitorChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Select.html">Select</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Tweak.html">Tweak</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/VersionLock.html">VersionLock</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Where.html">Where</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Typealiases.html">Type Aliases</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore9ClassNamea">ClassName</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore10EntityNamea">EntityName</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore18ModelConfigurationa">ModelConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore12ModelVersiona">ModelVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore22XcodeDataModelFileNamea">XcodeDataModelFileName</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section class="section">
<div class="section-content">
<h1>CSError</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="kt">CSError</span> <span class="p">:</span> <span class="kt">NSError</span><span class="p">,</span> <span class="kt"><a href="../Protocols/CoreStoreObjectiveCType.html">CoreStoreObjectiveCType</a></span></code></pre>
</div>
</div>
<p>All errors thrown from CoreStore are expressed in <code>CSError</code>s.</p>
<div class="aside aside-see-also">
<p class="aside-title">See also</p>
<code><a href="../Enums/CoreStoreError.html">CoreStoreError</a></code>
</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="/c:@M@CoreStore@objc(cs)CSError(cpy)errorDomain"></a>
<a name="//apple_ref/swift/Variable/errorDomain" class="dashAnchor"></a>
<a class="token" href="#/c:@M@CoreStore@objc(cs)CSError(cpy)errorDomain">errorDomain</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The <code>NSError</code> error domain for <code>CSError</code>.</p>
<div class="aside aside-see-also">
<p class="aside-title">See also</p>
<code>CoreStoreErrorErrorDomain</code>
</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">@objc</span>
<span class="kd">public</span> <span class="kd">static</span> <span class="k">let</span> <span class="nv">errorDomain</span><span class="p">:</span> <span class="kt">String</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/CoreStoreObjectiveCType"></a>
<a name="//apple_ref/swift/Section/CoreStoreObjectiveCType" class="dashAnchor"></a>
<a href="#/CoreStoreObjectiveCType">
<h3 class="section-name">CoreStoreObjectiveCType</h3>
</a>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp"></a>
<a name="//apple_ref/swift/Property/bridgeToSwift" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp">bridgeToSwift</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">bridgeToSwift</span><span class="p">:</span> <span class="kt"><a href="../Enums/CoreStoreError.html">CoreStoreError</a></span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:9CoreStore7CSErrorCyAcA0aB5ErrorOcfc"></a>
<a name="//apple_ref/swift/Method/init(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore7CSErrorCyAcA0aB5ErrorOcfc">init(_:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Do not call directly!</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="n">_</span> <span class="nv">swiftValue</span><span class="p">:</span> <span class="kt"><a href="../Enums/CoreStoreError.html">CoreStoreError</a></span><span class="p">)</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<section class="footer">
<p>&copy; 2018 <a class="link" href="https://github.com/JohnEstropia" target="_blank" rel="external">John Estropia</a>. All rights reserved. (Last updated: 2018-12-19)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>
</html>

1025
docs/Classes/CSFrom.html Normal file

File diff suppressed because it is too large Load Diff

916
docs/Classes/CSGroupBy.html Normal file
View File

@@ -0,0 +1,916 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>CSGroupBy Class 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/Class/CSGroupBy" class="dashAnchor"></a>
<a title="CSGroupBy Class Reference"></a>
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
CoreStore Docs
</a>
(88% documented)
</p>
<p class="header-col--secondary">
<form role="search" action="../search.json">
<input type="text" placeholder="Search documentation" data-typeahead>
</form>
</p>
<p class="header-col header-col--secondary">
<a class="header-link" href="https://github.com/JohnEstropia/CoreStore">
<img class="header-icon" src="../img/gh.png"/>
View on GitHub
</a>
</p>
</header>
<p class="breadcrumbs">
<a class="breadcrumb" href="../index.html">CoreStore Reference</a>
<img class="carat" src="../img/carat.png" />
CSGroupBy Class Reference
</p>
<div class="content-wrapper">
<nav class="navigation">
<ul class="nav-groups">
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/AsynchronousDataTransaction.html">AsynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/AsynchronousDataTransaction/Result.html"> Result</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/BaseDataTransaction.html">BaseDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSAsynchronousDataTransaction.html">CSAsynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSBaseDataTransaction.html">CSBaseDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSCoreStore.html">CSCoreStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSDataStack.html">CSDataStack</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSError.html">CSError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSFrom.html">CSFrom</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSGroupBy.html">CSGroupBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSInMemoryStore.html">CSInMemoryStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSInto.html">CSInto</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSListMonitor.html">CSListMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSMigrationResult.html">CSMigrationResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSMigrationType.html">CSMigrationType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSObjectMonitor.html">CSObjectMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSOrderBy.html">CSOrderBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSQLiteStore.html">CSSQLiteStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSectionBy.html">CSSectionBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSelect.html">CSSelect</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSelectTerm.html">CSSelectTerm</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSetupResult.html">CSSetupResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSynchronousDataTransaction.html">CSSynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSTweak.html">CSTweak</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSUnsafeDataModelSchema.html">CSUnsafeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSUnsafeDataTransaction.html">CSUnsafeDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSWhere.html">CSWhere</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSXcodeDataModelSchema.html">CSXcodeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObject.html">CoreStoreObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectObjectDiff.html">CoreStoreObjectObjectDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectOrderedDiff.html">CoreStoreObjectOrderedDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectTransformableDiff.html">CoreStoreObjectTransformableDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectUnorderedDiff.html">CoreStoreObjectUnorderedDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectValueDiff.html">CoreStoreObjectValueDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreSchema.html">CoreStoreSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider.html">CustomSchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/CustomMapping.html"> CustomMapping</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html"> UnsafeSourceObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html"> UnsafeDestinationObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DataStack.html">DataStack</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DefaultLogger.html">DefaultLogger</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DynamicEntity.html">DynamicEntity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/Entity.html">Entity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ICloudStore.html">ICloudStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/InMemoryStore.html">InMemoryStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/InferredSchemaMappingProvider.html">InferredSchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ListMonitor.html">ListMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ObjectMonitor.html">ObjectMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SQLiteStore.html">SQLiteStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SchemaHistory.html">SchemaHistory</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SynchronousDataTransaction.html">SynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UnsafeDataModelSchema.html">UnsafeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UnsafeDataTransaction.html">UnsafeDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UserInfo.html">UserInfo</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/XcodeDataModelSchema.html">XcodeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/XcodeSchemaMappingProvider.html">XcodeSchemaMappingProvider</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Global Variables.html">Global Variables</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Global Variables.html#/s:9CoreStore0aB11ErrorDomainSSvp">CoreStoreErrorDomain</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CSErrorCode.html">CSErrorCode</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CSLocalStorageOptions.html">CSLocalStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStore.html">CoreStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStoreError.html">CoreStoreError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStoreErrorCode.html">CoreStoreErrorCode</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums.html#/s:9CoreStore8LogLevelO">LogLevel</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/MigrationResult.html">MigrationResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/MigrationType.html">MigrationType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer.html">RelationshipContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToOne.html"> ToOne</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToManyOrdered.html"> ToManyOrdered</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToManyUnordered.html"> ToManyUnordered</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SelectTerm.html">SelectTerm</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SetupResult.html">SetupResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer.html">TransformableContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer/Required.html"> Required</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer/Optional.html"> Optional</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer.html">ValueContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer/Required.html"> Required</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer/Optional.html"> Optional</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Bool.html">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/CGFloat.html">CGFloat</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Data.html">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Double.html">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Float.html">Float</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int.html">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int16.html">Int16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int32.html">Int32</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int64.html">Int64</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int8.html">Int8</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/KeyPath.html">KeyPath</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/KeyPathString.html">KeyPathString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSData.html">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSDate.html">NSDate</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObject.html">NSManagedObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObjectContext.html">NSManagedObjectContext</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObjectID.html">NSManagedObjectID</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSNull.html">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSNumber.html">NSNumber</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSString.html">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSURL.html">NSURL</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSUUID.html">NSUUID</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Progress.html">Progress</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/RawRepresentable.html">RawRepresentable</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Sequence.html">Sequence</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/String.html">String</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/URL.html">URL</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/UUID.html">UUID</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Functions.html">Functions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GGtAA0aB6ObjectCRbzAORb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_STR0_So0gH2IDC7ElementRt0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_STR0_So0gH2IDC7ElementRt0_r1_lF">~=(_:_:)</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/AnyWhereClause.html">AnyWhereClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSDeleteClause">CSDeleteClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSDynamicSchema.html">CSDynamicSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSFetchClause">CSFetchClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListObjectObserver.html">CSListObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListObserver.html">CSListObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListSectionObserver.html">CSListSectionObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSLocalStorage.html">CSLocalStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSObjectObserver.html">CSObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSQueryClause">CSQueryClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSStorageInterface.html">CSStorageInterface</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CloudStorage.html">CloudStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CoreDataNativeType">CoreDataNativeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreLogger.html">CoreStoreLogger</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreObjectKeyValueObservation.html">CoreStoreObjectKeyValueObservation</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreObjectiveCType.html">CoreStoreObjectiveCType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreSwiftType.html">CoreStoreSwiftType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore12DeleteClauseP">DeleteClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicKeyPath.html">DynamicKeyPath</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicObject.html">DynamicObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicSchema.html">DynamicSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/FetchChainableBuilderType.html">FetchChainableBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore11FetchClauseP">FetchClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/FetchableSource.html">FetchableSource</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/GroupByClause.html">GroupByClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ICloudStoreObserver.html">ICloudStoreObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore23ImportableAttributeTypeP">ImportableAttributeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ImportableObject.html">ImportableObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ImportableUniqueObject.html">ImportableUniqueObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListObjectObserver.html">ListObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListObserver.html">ListObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListSectionObserver.html">ListSectionObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/LocalStorage.html">LocalStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ObjectObserver.html">ObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/OrderByClause.html">OrderByClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryChainableBuilderType.html">QueryChainableBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore11QueryClauseP">QueryClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryableAttributeType.html">QueryableAttributeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryableSource.html">QueryableSource</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SchemaMappingProvider.html">SchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SectionMonitorBuilderType.html">SectionMonitorBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore26SelectAttributesResultTypeP">SelectAttributesResultType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SelectClause.html">SelectClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore16SelectResultTypeP">SelectResultType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/StorageInterface.html">StorageInterface</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/WhereClauseType.html">WhereClauseType</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/CloudStorageOptions.html">CloudStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/FetchChainBuilder.html">FetchChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/From.html">From</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/GroupBy.html">GroupBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Into.html">Into</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/LocalStorageOptions.html">LocalStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/MigrationChain.html">MigrationChain</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/OrderBy.html">OrderBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/OrderBy/SortKey.html"> SortKey</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/PartialObject.html">PartialObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/QueryChainBuilder.html">QueryChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SectionBy.html">SectionBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SectionMonitorChainBuilder.html">SectionMonitorChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Select.html">Select</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Tweak.html">Tweak</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/VersionLock.html">VersionLock</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Where.html">Where</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Typealiases.html">Type Aliases</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore9ClassNamea">ClassName</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore10EntityNamea">EntityName</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore18ModelConfigurationa">ModelConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore12ModelVersiona">ModelVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore22XcodeDataModelFileNamea">XcodeDataModelFileName</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section class="section">
<div class="section-content">
<h1>CSGroupBy</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="kt">CSGroupBy</span> <span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt"><a href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSQueryClause">CSQueryClause</a></span></code></pre>
</div>
</div>
<p>The <code>CSGroupBy</code> serves as the Objective-C bridging type for <code><a href="../Structs/GroupBy.html">GroupBy</a></code>.</p>
<div class="aside aside-see-also">
<p class="aside-title">See also</p>
<code><a href="../Structs/GroupBy.html">GroupBy</a></code>
</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="/c:@M@CoreStore@objc(cs)CSGroupBy(py)keyPaths"></a>
<a name="//apple_ref/swift/Property/keyPaths" class="dashAnchor"></a>
<a class="token" href="#/c:@M@CoreStore@objc(cs)CSGroupBy(py)keyPaths">keyPaths</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The list of key path strings to group results with</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="k">var</span> <span class="nv">keyPaths</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a></span><span class="p">]</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@CoreStore@objc(cs)CSGroupBy(im)initWithKeyPath:"></a>
<a name="//apple_ref/swift/Method/init(keyPath:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@CoreStore@objc(cs)CSGroupBy(im)initWithKeyPath:">init(keyPath:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Initializes a <code>CSGroupBy</code> clause with a key path string</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="kd">convenience</span> <span class="nf">init</span><span class="p">(</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></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>keyPath</em>
</code>
</td>
<td>
<div>
<p>a key path string to group results with</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@CoreStore@objc(cs)CSGroupBy(im)initWithKeyPaths:"></a>
<a name="//apple_ref/swift/Method/init(keyPaths:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@CoreStore@objc(cs)CSGroupBy(im)initWithKeyPaths:">init(keyPaths:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Initializes a <code>CSGroupBy</code> clause with a list of key path strings</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="kd">convenience</span> <span class="nf">init</span><span class="p">(</span><span class="nv">keyPaths</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a></span><span class="p">])</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>keyPaths</em>
</code>
</td>
<td>
<div>
<p>a list of key path strings to group results with</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<section class="footer">
<p>&copy; 2018 <a class="link" href="https://github.com/JohnEstropia" target="_blank" rel="external">John Estropia</a>. All rights reserved. (Last updated: 2018-12-19)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>
</html>

File diff suppressed because it is too large Load Diff

963
docs/Classes/CSInto.html Normal file
View File

@@ -0,0 +1,963 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>CSInto Class 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/Class/CSInto" class="dashAnchor"></a>
<a title="CSInto Class Reference"></a>
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
CoreStore Docs
</a>
(88% documented)
</p>
<p class="header-col--secondary">
<form role="search" action="../search.json">
<input type="text" placeholder="Search documentation" data-typeahead>
</form>
</p>
<p class="header-col header-col--secondary">
<a class="header-link" href="https://github.com/JohnEstropia/CoreStore">
<img class="header-icon" src="../img/gh.png"/>
View on GitHub
</a>
</p>
</header>
<p class="breadcrumbs">
<a class="breadcrumb" href="../index.html">CoreStore Reference</a>
<img class="carat" src="../img/carat.png" />
CSInto Class Reference
</p>
<div class="content-wrapper">
<nav class="navigation">
<ul class="nav-groups">
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/AsynchronousDataTransaction.html">AsynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/AsynchronousDataTransaction/Result.html"> Result</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/BaseDataTransaction.html">BaseDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSAsynchronousDataTransaction.html">CSAsynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSBaseDataTransaction.html">CSBaseDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSCoreStore.html">CSCoreStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSDataStack.html">CSDataStack</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSError.html">CSError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSFrom.html">CSFrom</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSGroupBy.html">CSGroupBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSInMemoryStore.html">CSInMemoryStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSInto.html">CSInto</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSListMonitor.html">CSListMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSMigrationResult.html">CSMigrationResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSMigrationType.html">CSMigrationType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSObjectMonitor.html">CSObjectMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSOrderBy.html">CSOrderBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSQLiteStore.html">CSSQLiteStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSectionBy.html">CSSectionBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSelect.html">CSSelect</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSelectTerm.html">CSSelectTerm</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSetupResult.html">CSSetupResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSynchronousDataTransaction.html">CSSynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSTweak.html">CSTweak</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSUnsafeDataModelSchema.html">CSUnsafeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSUnsafeDataTransaction.html">CSUnsafeDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSWhere.html">CSWhere</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSXcodeDataModelSchema.html">CSXcodeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObject.html">CoreStoreObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectObjectDiff.html">CoreStoreObjectObjectDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectOrderedDiff.html">CoreStoreObjectOrderedDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectTransformableDiff.html">CoreStoreObjectTransformableDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectUnorderedDiff.html">CoreStoreObjectUnorderedDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectValueDiff.html">CoreStoreObjectValueDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreSchema.html">CoreStoreSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider.html">CustomSchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/CustomMapping.html"> CustomMapping</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html"> UnsafeSourceObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html"> UnsafeDestinationObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DataStack.html">DataStack</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DefaultLogger.html">DefaultLogger</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DynamicEntity.html">DynamicEntity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/Entity.html">Entity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ICloudStore.html">ICloudStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/InMemoryStore.html">InMemoryStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/InferredSchemaMappingProvider.html">InferredSchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ListMonitor.html">ListMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ObjectMonitor.html">ObjectMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SQLiteStore.html">SQLiteStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SchemaHistory.html">SchemaHistory</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SynchronousDataTransaction.html">SynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UnsafeDataModelSchema.html">UnsafeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UnsafeDataTransaction.html">UnsafeDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UserInfo.html">UserInfo</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/XcodeDataModelSchema.html">XcodeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/XcodeSchemaMappingProvider.html">XcodeSchemaMappingProvider</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Global Variables.html">Global Variables</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Global Variables.html#/s:9CoreStore0aB11ErrorDomainSSvp">CoreStoreErrorDomain</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CSErrorCode.html">CSErrorCode</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CSLocalStorageOptions.html">CSLocalStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStore.html">CoreStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStoreError.html">CoreStoreError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStoreErrorCode.html">CoreStoreErrorCode</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums.html#/s:9CoreStore8LogLevelO">LogLevel</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/MigrationResult.html">MigrationResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/MigrationType.html">MigrationType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer.html">RelationshipContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToOne.html"> ToOne</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToManyOrdered.html"> ToManyOrdered</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToManyUnordered.html"> ToManyUnordered</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SelectTerm.html">SelectTerm</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SetupResult.html">SetupResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer.html">TransformableContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer/Required.html"> Required</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer/Optional.html"> Optional</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer.html">ValueContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer/Required.html"> Required</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer/Optional.html"> Optional</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Bool.html">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/CGFloat.html">CGFloat</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Data.html">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Double.html">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Float.html">Float</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int.html">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int16.html">Int16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int32.html">Int32</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int64.html">Int64</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int8.html">Int8</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/KeyPath.html">KeyPath</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/KeyPathString.html">KeyPathString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSData.html">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSDate.html">NSDate</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObject.html">NSManagedObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObjectContext.html">NSManagedObjectContext</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObjectID.html">NSManagedObjectID</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSNull.html">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSNumber.html">NSNumber</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSString.html">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSURL.html">NSURL</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSUUID.html">NSUUID</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Progress.html">Progress</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/RawRepresentable.html">RawRepresentable</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Sequence.html">Sequence</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/String.html">String</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/URL.html">URL</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/UUID.html">UUID</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Functions.html">Functions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GGtAA0aB6ObjectCRbzAORb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_STR0_So0gH2IDC7ElementRt0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_STR0_So0gH2IDC7ElementRt0_r1_lF">~=(_:_:)</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/AnyWhereClause.html">AnyWhereClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSDeleteClause">CSDeleteClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSDynamicSchema.html">CSDynamicSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSFetchClause">CSFetchClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListObjectObserver.html">CSListObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListObserver.html">CSListObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListSectionObserver.html">CSListSectionObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSLocalStorage.html">CSLocalStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSObjectObserver.html">CSObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSQueryClause">CSQueryClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSStorageInterface.html">CSStorageInterface</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CloudStorage.html">CloudStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CoreDataNativeType">CoreDataNativeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreLogger.html">CoreStoreLogger</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreObjectKeyValueObservation.html">CoreStoreObjectKeyValueObservation</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreObjectiveCType.html">CoreStoreObjectiveCType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreSwiftType.html">CoreStoreSwiftType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore12DeleteClauseP">DeleteClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicKeyPath.html">DynamicKeyPath</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicObject.html">DynamicObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicSchema.html">DynamicSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/FetchChainableBuilderType.html">FetchChainableBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore11FetchClauseP">FetchClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/FetchableSource.html">FetchableSource</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/GroupByClause.html">GroupByClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ICloudStoreObserver.html">ICloudStoreObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore23ImportableAttributeTypeP">ImportableAttributeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ImportableObject.html">ImportableObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ImportableUniqueObject.html">ImportableUniqueObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListObjectObserver.html">ListObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListObserver.html">ListObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListSectionObserver.html">ListSectionObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/LocalStorage.html">LocalStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ObjectObserver.html">ObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/OrderByClause.html">OrderByClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryChainableBuilderType.html">QueryChainableBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore11QueryClauseP">QueryClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryableAttributeType.html">QueryableAttributeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryableSource.html">QueryableSource</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SchemaMappingProvider.html">SchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SectionMonitorBuilderType.html">SectionMonitorBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore26SelectAttributesResultTypeP">SelectAttributesResultType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SelectClause.html">SelectClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore16SelectResultTypeP">SelectResultType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/StorageInterface.html">StorageInterface</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/WhereClauseType.html">WhereClauseType</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/CloudStorageOptions.html">CloudStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/FetchChainBuilder.html">FetchChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/From.html">From</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/GroupBy.html">GroupBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Into.html">Into</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/LocalStorageOptions.html">LocalStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/MigrationChain.html">MigrationChain</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/OrderBy.html">OrderBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/OrderBy/SortKey.html"> SortKey</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/PartialObject.html">PartialObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/QueryChainBuilder.html">QueryChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SectionBy.html">SectionBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SectionMonitorChainBuilder.html">SectionMonitorChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Select.html">Select</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Tweak.html">Tweak</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/VersionLock.html">VersionLock</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Where.html">Where</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Typealiases.html">Type Aliases</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore9ClassNamea">ClassName</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore10EntityNamea">EntityName</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore18ModelConfigurationa">ModelConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore12ModelVersiona">ModelVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore22XcodeDataModelFileNamea">XcodeDataModelFileName</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section class="section">
<div class="section-content">
<h1>CSInto</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="kt">CSInto</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
</div>
</div>
<p>The <code>CSInto</code> serves as the Objective-C bridging type for <code><a href="../Structs/Into.html">Into&lt;T&gt;</a></code>.</p>
<div class="aside aside-see-also">
<p class="aside-title">See also</p>
<code><a href="../Structs/Into.html">Into</a></code>
</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="/c:@M@CoreStore@objc(cs)CSInto(py)entityClass"></a>
<a name="//apple_ref/swift/Property/entityClass" class="dashAnchor"></a>
<a class="token" href="#/c:@M@CoreStore@objc(cs)CSInto(py)entityClass">entityClass</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The associated <code>NSManagedObject</code> entity class</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="k">var</span> <span class="nv">entityClass</span><span class="p">:</span> <span class="kt">NSManagedObject</span><span class="o">.</span><span class="k">Type</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@CoreStore@objc(cs)CSInto(py)configuration"></a>
<a name="//apple_ref/swift/Property/configuration" class="dashAnchor"></a>
<a class="token" href="#/c:@M@CoreStore@objc(cs)CSInto(py)configuration">configuration</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The <code>NSPersistentStore</code> configuration name to associate objects from.
May contain a <code>String</code> to pertain to a named configuration, or <code>nil</code> to pertain to the default configuration</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="k">var</span> <span class="nv">configuration</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:9CoreStore18ModelConfigurationa">ModelConfiguration</a></span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@CoreStore@objc(cs)CSInto(im)initWithEntityClass:"></a>
<a name="//apple_ref/swift/Method/init(entityClass:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@CoreStore@objc(cs)CSInto(im)initWithEntityClass:">init(entityClass:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Initializes a <code>CSInto</code> clause with the specified entity class.</p>
<pre class="highlight swift"><code><span class="kt">MyPersonEntity</span> <span class="o">*</span><span class="n">person</span> <span class="o">=</span> <span class="p">[</span><span class="n">transaction</span> <span class="nv">createInto</span><span class="p">:</span>
<span class="kt">CSIntoClass</span><span class="p">([</span><span class="kt">MyPersonEntity</span> <span class="kd">class</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">@objc</span>
<span class="kd">public</span> <span class="kd">convenience</span> <span class="nf">init</span><span class="p">(</span><span class="nv">entityClass</span><span class="p">:</span> <span class="kt">NSManagedObject</span><span class="o">.</span><span class="k">Type</span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>entityClass</em>
</code>
</td>
<td>
<div>
<p>the <code>NSManagedObject</code> class type to be created</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@CoreStore@objc(cs)CSInto(im)initWithEntityClass:configuration:"></a>
<a name="//apple_ref/swift/Method/init(entityClass:configuration:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@CoreStore@objc(cs)CSInto(im)initWithEntityClass:configuration:">init(entityClass:configuration:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Initializes a <code>CSInto</code> clause with the specified configuration.</p>
<pre class="highlight swift"><code><span class="kt">MyPersonEntity</span> <span class="o">*</span><span class="n">person</span> <span class="o">=</span> <span class="p">[</span><span class="n">transaction</span> <span class="nv">createInto</span><span class="p">:</span>
<span class="kt">CSIntoClass</span><span class="p">([</span><span class="kt">MyPersonEntity</span> <span class="kd">class</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">@objc</span>
<span class="kd">public</span> <span class="kd">convenience</span> <span class="nf">init</span><span class="p">(</span><span class="nv">entityClass</span><span class="p">:</span> <span class="kt">NSManagedObject</span><span class="o">.</span><span class="k">Type</span><span class="p">,</span> <span class="nv">configuration</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:9CoreStore18ModelConfigurationa">ModelConfiguration</a></span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>entityClass</em>
</code>
</td>
<td>
<div>
<p>the <code>NSManagedObject</code> class type to be created</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>configuration</em>
</code>
</td>
<td>
<div>
<p>the <code>NSPersistentStore</code> configuration name to associate the object to. This parameter is required if multiple configurations contain the created <code>NSManagedObject</code>&lsquo;s entity type. Set to <code>nil</code> to use the default configuration.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<section class="footer">
<p>&copy; 2018 <a class="link" href="https://github.com/JohnEstropia" target="_blank" rel="external">John Estropia</a>. All rights reserved. (Last updated: 2018-12-19)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>
</html>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,997 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>CSMigrationType Class 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/Class/CSMigrationType" class="dashAnchor"></a>
<a title="CSMigrationType Class Reference"></a>
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
CoreStore Docs
</a>
(88% documented)
</p>
<p class="header-col--secondary">
<form role="search" action="../search.json">
<input type="text" placeholder="Search documentation" data-typeahead>
</form>
</p>
<p class="header-col header-col--secondary">
<a class="header-link" href="https://github.com/JohnEstropia/CoreStore">
<img class="header-icon" src="../img/gh.png"/>
View on GitHub
</a>
</p>
</header>
<p class="breadcrumbs">
<a class="breadcrumb" href="../index.html">CoreStore Reference</a>
<img class="carat" src="../img/carat.png" />
CSMigrationType Class Reference
</p>
<div class="content-wrapper">
<nav class="navigation">
<ul class="nav-groups">
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/AsynchronousDataTransaction.html">AsynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/AsynchronousDataTransaction/Result.html"> Result</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/BaseDataTransaction.html">BaseDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSAsynchronousDataTransaction.html">CSAsynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSBaseDataTransaction.html">CSBaseDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSCoreStore.html">CSCoreStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSDataStack.html">CSDataStack</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSError.html">CSError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSFrom.html">CSFrom</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSGroupBy.html">CSGroupBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSInMemoryStore.html">CSInMemoryStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSInto.html">CSInto</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSListMonitor.html">CSListMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSMigrationResult.html">CSMigrationResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSMigrationType.html">CSMigrationType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSObjectMonitor.html">CSObjectMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSOrderBy.html">CSOrderBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSQLiteStore.html">CSSQLiteStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSectionBy.html">CSSectionBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSelect.html">CSSelect</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSelectTerm.html">CSSelectTerm</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSetupResult.html">CSSetupResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSynchronousDataTransaction.html">CSSynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSTweak.html">CSTweak</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSUnsafeDataModelSchema.html">CSUnsafeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSUnsafeDataTransaction.html">CSUnsafeDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSWhere.html">CSWhere</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSXcodeDataModelSchema.html">CSXcodeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObject.html">CoreStoreObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectObjectDiff.html">CoreStoreObjectObjectDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectOrderedDiff.html">CoreStoreObjectOrderedDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectTransformableDiff.html">CoreStoreObjectTransformableDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectUnorderedDiff.html">CoreStoreObjectUnorderedDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectValueDiff.html">CoreStoreObjectValueDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreSchema.html">CoreStoreSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider.html">CustomSchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/CustomMapping.html"> CustomMapping</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html"> UnsafeSourceObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html"> UnsafeDestinationObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DataStack.html">DataStack</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DefaultLogger.html">DefaultLogger</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DynamicEntity.html">DynamicEntity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/Entity.html">Entity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ICloudStore.html">ICloudStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/InMemoryStore.html">InMemoryStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/InferredSchemaMappingProvider.html">InferredSchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ListMonitor.html">ListMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ObjectMonitor.html">ObjectMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SQLiteStore.html">SQLiteStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SchemaHistory.html">SchemaHistory</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SynchronousDataTransaction.html">SynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UnsafeDataModelSchema.html">UnsafeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UnsafeDataTransaction.html">UnsafeDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UserInfo.html">UserInfo</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/XcodeDataModelSchema.html">XcodeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/XcodeSchemaMappingProvider.html">XcodeSchemaMappingProvider</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Global Variables.html">Global Variables</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Global Variables.html#/s:9CoreStore0aB11ErrorDomainSSvp">CoreStoreErrorDomain</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CSErrorCode.html">CSErrorCode</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CSLocalStorageOptions.html">CSLocalStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStore.html">CoreStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStoreError.html">CoreStoreError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStoreErrorCode.html">CoreStoreErrorCode</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums.html#/s:9CoreStore8LogLevelO">LogLevel</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/MigrationResult.html">MigrationResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/MigrationType.html">MigrationType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer.html">RelationshipContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToOne.html"> ToOne</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToManyOrdered.html"> ToManyOrdered</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToManyUnordered.html"> ToManyUnordered</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SelectTerm.html">SelectTerm</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SetupResult.html">SetupResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer.html">TransformableContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer/Required.html"> Required</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer/Optional.html"> Optional</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer.html">ValueContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer/Required.html"> Required</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer/Optional.html"> Optional</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Bool.html">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/CGFloat.html">CGFloat</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Data.html">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Double.html">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Float.html">Float</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int.html">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int16.html">Int16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int32.html">Int32</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int64.html">Int64</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int8.html">Int8</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/KeyPath.html">KeyPath</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/KeyPathString.html">KeyPathString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSData.html">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSDate.html">NSDate</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObject.html">NSManagedObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObjectContext.html">NSManagedObjectContext</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObjectID.html">NSManagedObjectID</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSNull.html">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSNumber.html">NSNumber</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSString.html">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSURL.html">NSURL</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSUUID.html">NSUUID</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Progress.html">Progress</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/RawRepresentable.html">RawRepresentable</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Sequence.html">Sequence</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/String.html">String</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/URL.html">URL</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/UUID.html">UUID</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Functions.html">Functions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GGtAA0aB6ObjectCRbzAORb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_STR0_So0gH2IDC7ElementRt0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_STR0_So0gH2IDC7ElementRt0_r1_lF">~=(_:_:)</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/AnyWhereClause.html">AnyWhereClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSDeleteClause">CSDeleteClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSDynamicSchema.html">CSDynamicSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSFetchClause">CSFetchClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListObjectObserver.html">CSListObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListObserver.html">CSListObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListSectionObserver.html">CSListSectionObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSLocalStorage.html">CSLocalStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSObjectObserver.html">CSObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSQueryClause">CSQueryClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSStorageInterface.html">CSStorageInterface</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CloudStorage.html">CloudStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CoreDataNativeType">CoreDataNativeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreLogger.html">CoreStoreLogger</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreObjectKeyValueObservation.html">CoreStoreObjectKeyValueObservation</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreObjectiveCType.html">CoreStoreObjectiveCType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreSwiftType.html">CoreStoreSwiftType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore12DeleteClauseP">DeleteClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicKeyPath.html">DynamicKeyPath</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicObject.html">DynamicObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicSchema.html">DynamicSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/FetchChainableBuilderType.html">FetchChainableBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore11FetchClauseP">FetchClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/FetchableSource.html">FetchableSource</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/GroupByClause.html">GroupByClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ICloudStoreObserver.html">ICloudStoreObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore23ImportableAttributeTypeP">ImportableAttributeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ImportableObject.html">ImportableObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ImportableUniqueObject.html">ImportableUniqueObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListObjectObserver.html">ListObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListObserver.html">ListObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListSectionObserver.html">ListSectionObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/LocalStorage.html">LocalStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ObjectObserver.html">ObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/OrderByClause.html">OrderByClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryChainableBuilderType.html">QueryChainableBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore11QueryClauseP">QueryClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryableAttributeType.html">QueryableAttributeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryableSource.html">QueryableSource</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SchemaMappingProvider.html">SchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SectionMonitorBuilderType.html">SectionMonitorBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore26SelectAttributesResultTypeP">SelectAttributesResultType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SelectClause.html">SelectClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore16SelectResultTypeP">SelectResultType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/StorageInterface.html">StorageInterface</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/WhereClauseType.html">WhereClauseType</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/CloudStorageOptions.html">CloudStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/FetchChainBuilder.html">FetchChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/From.html">From</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/GroupBy.html">GroupBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Into.html">Into</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/LocalStorageOptions.html">LocalStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/MigrationChain.html">MigrationChain</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/OrderBy.html">OrderBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/OrderBy/SortKey.html"> SortKey</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/PartialObject.html">PartialObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/QueryChainBuilder.html">QueryChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SectionBy.html">SectionBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SectionMonitorChainBuilder.html">SectionMonitorChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Select.html">Select</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Tweak.html">Tweak</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/VersionLock.html">VersionLock</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Where.html">Where</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Typealiases.html">Type Aliases</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore9ClassNamea">ClassName</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore10EntityNamea">EntityName</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore18ModelConfigurationa">ModelConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore12ModelVersiona">ModelVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore22XcodeDataModelFileNamea">XcodeDataModelFileName</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section class="section">
<div class="section-content">
<h1>CSMigrationType</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="kt">CSMigrationType</span> <span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt"><a href="../Protocols/CoreStoreObjectiveCType.html">CoreStoreObjectiveCType</a></span></code></pre>
</div>
</div>
<p>The <code>CSMigrationType</code> serves as the Objective-C bridging type for <code><a href="../Enums/MigrationType.html">MigrationType</a></code>.</p>
<div class="aside aside-see-also">
<p class="aside-title">See also</p>
<code><a href="../Enums/MigrationType.html">MigrationType</a></code>
</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="/c:@M@CoreStore@objc(cs)CSMigrationType(py)needsMigration"></a>
<a name="//apple_ref/swift/Property/needsMigration" class="dashAnchor"></a>
<a class="token" href="#/c:@M@CoreStore@objc(cs)CSMigrationType(py)needsMigration">needsMigration</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Returns <code>YES</code> if the <code>CSMigrationType</code>&lsquo;s <code><a href="../Classes/CSMigrationType.html#/c:@M@CoreStore@objc(cs)CSMigrationType(py)sourceVersion">sourceVersion</a></code> and <code><a href="../Classes/CSMigrationType.html#/c:@M@CoreStore@objc(cs)CSMigrationType(py)destinationVersion">destinationVersion</a></code> do not match. Returns <code>NO</code> otherwise.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="k">var</span> <span class="nv">needsMigration</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@CoreStore@objc(cs)CSMigrationType(py)sourceVersion"></a>
<a name="//apple_ref/swift/Property/sourceVersion" class="dashAnchor"></a>
<a class="token" href="#/c:@M@CoreStore@objc(cs)CSMigrationType(py)sourceVersion">sourceVersion</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Returns the source model version for the migration type. If no migration is required, <code>sourceVersion</code> will be equal to the <code><a href="../Classes/CSMigrationType.html#/c:@M@CoreStore@objc(cs)CSMigrationType(py)destinationVersion">destinationVersion</a></code>.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="k">var</span> <span class="nv">sourceVersion</span><span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@CoreStore@objc(cs)CSMigrationType(py)destinationVersion"></a>
<a name="//apple_ref/swift/Property/destinationVersion" class="dashAnchor"></a>
<a class="token" href="#/c:@M@CoreStore@objc(cs)CSMigrationType(py)destinationVersion">destinationVersion</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Returns the destination model version for the migration type. If no migration is required, <code>destinationVersion</code> will be equal to the <code><a href="../Classes/CSMigrationType.html#/c:@M@CoreStore@objc(cs)CSMigrationType(py)sourceVersion">sourceVersion</a></code>.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="k">var</span> <span class="nv">destinationVersion</span><span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@CoreStore@objc(cs)CSMigrationType(py)isLightweightMigration"></a>
<a name="//apple_ref/swift/Property/isLightweightMigration" class="dashAnchor"></a>
<a class="token" href="#/c:@M@CoreStore@objc(cs)CSMigrationType(py)isLightweightMigration">isLightweightMigration</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Returns <code>YES</code> if the <code>CSMigrationType</code> is a lightweight migration. Used as syntactic sugar.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="k">var</span> <span class="nv">isLightweightMigration</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@CoreStore@objc(cs)CSMigrationType(py)isHeavyweightMigration"></a>
<a name="//apple_ref/swift/Property/isHeavyweightMigration" class="dashAnchor"></a>
<a class="token" href="#/c:@M@CoreStore@objc(cs)CSMigrationType(py)isHeavyweightMigration">isHeavyweightMigration</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Returns <code>YES</code> if the <code>CSMigrationType</code> is a heavyweight migration. Used as syntactic sugar.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="k">var</span> <span class="nv">isHeavyweightMigration</span><span class="p">:</span> <span class="kt">Bool</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="/CoreStoreObjectiveCType"></a>
<a name="//apple_ref/swift/Section/CoreStoreObjectiveCType" class="dashAnchor"></a>
<a href="#/CoreStoreObjectiveCType">
<h3 class="section-name">CoreStoreObjectiveCType</h3>
</a>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp"></a>
<a name="//apple_ref/swift/Property/bridgeToSwift" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp">bridgeToSwift</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">let</span> <span class="nv">bridgeToSwift</span><span class="p">:</span> <span class="kt"><a href="../Enums/MigrationType.html">MigrationType</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc"></a>
<a name="//apple_ref/swift/Method/init(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc">init(_:)</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">required</span> <span class="nf">init</span><span class="p">(</span><span class="n">_</span> <span class="nv">swiftValue</span><span class="p">:</span> <span class="kt"><a href="../Enums/MigrationType.html">MigrationType</a></span><span class="p">)</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<section class="footer">
<p>&copy; 2018 <a class="link" href="https://github.com/JohnEstropia" target="_blank" rel="external">John Estropia</a>. All rights reserved. (Last updated: 2018-12-19)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>
</html>

View File

@@ -0,0 +1,949 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>CSObjectMonitor Class 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/Class/CSObjectMonitor" class="dashAnchor"></a>
<a title="CSObjectMonitor Class Reference"></a>
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
CoreStore Docs
</a>
(88% documented)
</p>
<p class="header-col--secondary">
<form role="search" action="../search.json">
<input type="text" placeholder="Search documentation" data-typeahead>
</form>
</p>
<p class="header-col header-col--secondary">
<a class="header-link" href="https://github.com/JohnEstropia/CoreStore">
<img class="header-icon" src="../img/gh.png"/>
View on GitHub
</a>
</p>
</header>
<p class="breadcrumbs">
<a class="breadcrumb" href="../index.html">CoreStore Reference</a>
<img class="carat" src="../img/carat.png" />
CSObjectMonitor Class Reference
</p>
<div class="content-wrapper">
<nav class="navigation">
<ul class="nav-groups">
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/AsynchronousDataTransaction.html">AsynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/AsynchronousDataTransaction/Result.html"> Result</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/BaseDataTransaction.html">BaseDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSAsynchronousDataTransaction.html">CSAsynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSBaseDataTransaction.html">CSBaseDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSCoreStore.html">CSCoreStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSDataStack.html">CSDataStack</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSError.html">CSError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSFrom.html">CSFrom</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSGroupBy.html">CSGroupBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSInMemoryStore.html">CSInMemoryStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSInto.html">CSInto</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSListMonitor.html">CSListMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSMigrationResult.html">CSMigrationResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSMigrationType.html">CSMigrationType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSObjectMonitor.html">CSObjectMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSOrderBy.html">CSOrderBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSQLiteStore.html">CSSQLiteStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSectionBy.html">CSSectionBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSelect.html">CSSelect</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSelectTerm.html">CSSelectTerm</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSetupResult.html">CSSetupResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSynchronousDataTransaction.html">CSSynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSTweak.html">CSTweak</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSUnsafeDataModelSchema.html">CSUnsafeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSUnsafeDataTransaction.html">CSUnsafeDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSWhere.html">CSWhere</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSXcodeDataModelSchema.html">CSXcodeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObject.html">CoreStoreObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectObjectDiff.html">CoreStoreObjectObjectDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectOrderedDiff.html">CoreStoreObjectOrderedDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectTransformableDiff.html">CoreStoreObjectTransformableDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectUnorderedDiff.html">CoreStoreObjectUnorderedDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectValueDiff.html">CoreStoreObjectValueDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreSchema.html">CoreStoreSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider.html">CustomSchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/CustomMapping.html"> CustomMapping</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html"> UnsafeSourceObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html"> UnsafeDestinationObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DataStack.html">DataStack</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DefaultLogger.html">DefaultLogger</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DynamicEntity.html">DynamicEntity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/Entity.html">Entity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ICloudStore.html">ICloudStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/InMemoryStore.html">InMemoryStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/InferredSchemaMappingProvider.html">InferredSchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ListMonitor.html">ListMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ObjectMonitor.html">ObjectMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SQLiteStore.html">SQLiteStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SchemaHistory.html">SchemaHistory</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SynchronousDataTransaction.html">SynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UnsafeDataModelSchema.html">UnsafeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UnsafeDataTransaction.html">UnsafeDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UserInfo.html">UserInfo</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/XcodeDataModelSchema.html">XcodeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/XcodeSchemaMappingProvider.html">XcodeSchemaMappingProvider</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Global Variables.html">Global Variables</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Global Variables.html#/s:9CoreStore0aB11ErrorDomainSSvp">CoreStoreErrorDomain</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CSErrorCode.html">CSErrorCode</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CSLocalStorageOptions.html">CSLocalStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStore.html">CoreStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStoreError.html">CoreStoreError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStoreErrorCode.html">CoreStoreErrorCode</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums.html#/s:9CoreStore8LogLevelO">LogLevel</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/MigrationResult.html">MigrationResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/MigrationType.html">MigrationType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer.html">RelationshipContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToOne.html"> ToOne</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToManyOrdered.html"> ToManyOrdered</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToManyUnordered.html"> ToManyUnordered</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SelectTerm.html">SelectTerm</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SetupResult.html">SetupResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer.html">TransformableContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer/Required.html"> Required</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer/Optional.html"> Optional</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer.html">ValueContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer/Required.html"> Required</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer/Optional.html"> Optional</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Bool.html">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/CGFloat.html">CGFloat</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Data.html">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Double.html">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Float.html">Float</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int.html">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int16.html">Int16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int32.html">Int32</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int64.html">Int64</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int8.html">Int8</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/KeyPath.html">KeyPath</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/KeyPathString.html">KeyPathString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSData.html">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSDate.html">NSDate</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObject.html">NSManagedObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObjectContext.html">NSManagedObjectContext</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObjectID.html">NSManagedObjectID</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSNull.html">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSNumber.html">NSNumber</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSString.html">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSURL.html">NSURL</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSUUID.html">NSUUID</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Progress.html">Progress</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/RawRepresentable.html">RawRepresentable</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Sequence.html">Sequence</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/String.html">String</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/URL.html">URL</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/UUID.html">UUID</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Functions.html">Functions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GGtAA0aB6ObjectCRbzAORb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_STR0_So0gH2IDC7ElementRt0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_STR0_So0gH2IDC7ElementRt0_r1_lF">~=(_:_:)</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/AnyWhereClause.html">AnyWhereClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSDeleteClause">CSDeleteClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSDynamicSchema.html">CSDynamicSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSFetchClause">CSFetchClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListObjectObserver.html">CSListObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListObserver.html">CSListObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListSectionObserver.html">CSListSectionObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSLocalStorage.html">CSLocalStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSObjectObserver.html">CSObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSQueryClause">CSQueryClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSStorageInterface.html">CSStorageInterface</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CloudStorage.html">CloudStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CoreDataNativeType">CoreDataNativeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreLogger.html">CoreStoreLogger</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreObjectKeyValueObservation.html">CoreStoreObjectKeyValueObservation</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreObjectiveCType.html">CoreStoreObjectiveCType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreSwiftType.html">CoreStoreSwiftType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore12DeleteClauseP">DeleteClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicKeyPath.html">DynamicKeyPath</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicObject.html">DynamicObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicSchema.html">DynamicSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/FetchChainableBuilderType.html">FetchChainableBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore11FetchClauseP">FetchClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/FetchableSource.html">FetchableSource</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/GroupByClause.html">GroupByClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ICloudStoreObserver.html">ICloudStoreObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore23ImportableAttributeTypeP">ImportableAttributeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ImportableObject.html">ImportableObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ImportableUniqueObject.html">ImportableUniqueObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListObjectObserver.html">ListObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListObserver.html">ListObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListSectionObserver.html">ListSectionObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/LocalStorage.html">LocalStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ObjectObserver.html">ObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/OrderByClause.html">OrderByClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryChainableBuilderType.html">QueryChainableBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore11QueryClauseP">QueryClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryableAttributeType.html">QueryableAttributeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryableSource.html">QueryableSource</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SchemaMappingProvider.html">SchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SectionMonitorBuilderType.html">SectionMonitorBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore26SelectAttributesResultTypeP">SelectAttributesResultType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SelectClause.html">SelectClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore16SelectResultTypeP">SelectResultType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/StorageInterface.html">StorageInterface</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/WhereClauseType.html">WhereClauseType</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/CloudStorageOptions.html">CloudStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/FetchChainBuilder.html">FetchChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/From.html">From</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/GroupBy.html">GroupBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Into.html">Into</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/LocalStorageOptions.html">LocalStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/MigrationChain.html">MigrationChain</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/OrderBy.html">OrderBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/OrderBy/SortKey.html"> SortKey</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/PartialObject.html">PartialObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/QueryChainBuilder.html">QueryChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SectionBy.html">SectionBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SectionMonitorChainBuilder.html">SectionMonitorChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Select.html">Select</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Tweak.html">Tweak</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/VersionLock.html">VersionLock</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Where.html">Where</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Typealiases.html">Type Aliases</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore9ClassNamea">ClassName</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore10EntityNamea">EntityName</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore18ModelConfigurationa">ModelConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore12ModelVersiona">ModelVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore22XcodeDataModelFileNamea">XcodeDataModelFileName</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section class="section">
<div class="section-content">
<h1>CSObjectMonitor</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">@available(OSX 10.12, *)</span>
<span class="kd">@objc</span>
<span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="kt">CSObjectMonitor</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
</div>
</div>
<p>The <code>CSObjectMonitor</code> serves as the Objective-C bridging type for <code><a href="../Classes/ObjectMonitor.html">ObjectMonitor&lt;T&gt;</a></code>.</p>
<div class="aside aside-see-also">
<p class="aside-title">See also</p>
<code><a href="../Classes/ObjectMonitor.html">ObjectMonitor</a></code>
</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:9CoreStore15CSObjectMonitorC6objectypSgvp"></a>
<a name="//apple_ref/swift/Property/object" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore15CSObjectMonitorC6objectypSgvp">object</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Returns the <code>NSManagedObject</code> instance being observed, or <code>nil</code> if the object was already deleted.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">object</span><span class="p">:</span> <span class="kt">Any</span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:9CoreStore15CSObjectMonitorC15isObjectDeletedSbvp"></a>
<a name="//apple_ref/swift/Property/isObjectDeleted" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore15CSObjectMonitorC15isObjectDeletedSbvp">isObjectDeleted</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Returns <code>YES</code> if the <code>NSManagedObject</code> instance being observed still exists, or <code>NO</code> if the object was already deleted.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">isObjectDeleted</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:9CoreStore15CSObjectMonitorC17addObjectObserveryyAA0cG0_pF"></a>
<a name="//apple_ref/swift/Method/addObjectObserver(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore15CSObjectMonitorC17addObjectObserveryyAA0cG0_pF">addObjectObserver(_:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Registers a <code><a href="../Protocols/CSObjectObserver.html">CSObjectObserver</a></code> to be notified when changes to the receiver&rsquo;s <code><a href="../Classes/CSObjectMonitor.html#/s:9CoreStore15CSObjectMonitorC6objectypSgvp">object</a></code> are made.</p>
<p>To prevent retain-cycles, <code>CSObjectMonitor</code> only keeps <code>weak</code> references to its observers.</p>
<p>For thread safety, this method needs to be called from the main thread. An assertion failure will occur (on debug builds only) if called from any thread other than the main thread.</p>
<p>Calling <code>-addObjectObserver:</code> multiple times on the same observer is safe, as <code>CSObjectMonitor</code> unregisters previous notifications to the observer before re-registering them.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">addObjectObserver</span><span class="p">(</span><span class="n">_</span> <span class="nv">observer</span><span class="p">:</span> <span class="kt"><a href="../Protocols/CSObjectObserver.html">CSObjectObserver</a></span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>observer</em>
</code>
</td>
<td>
<div>
<p>an <code><a href="../Protocols/CSObjectObserver.html">CSObjectObserver</a></code> to send change notifications to</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:9CoreStore15CSObjectMonitorC20removeObjectObserveryyAA0cG0_pF"></a>
<a name="//apple_ref/swift/Method/removeObjectObserver(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore15CSObjectMonitorC20removeObjectObserveryyAA0cG0_pF">removeObjectObserver(_:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Unregisters an <code><a href="../Protocols/CSObjectObserver.html">CSObjectObserver</a></code> from receiving notifications for changes to the receiver&rsquo;s <code><a href="../Classes/CSObjectMonitor.html#/s:9CoreStore15CSObjectMonitorC6objectypSgvp">object</a></code>.</p>
<p>For thread safety, this method needs to be called from the main thread. An assertion failure will occur (on debug builds only) if called from any thread other than the main thread.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">removeObjectObserver</span><span class="p">(</span><span class="n">_</span> <span class="nv">observer</span><span class="p">:</span> <span class="kt"><a href="../Protocols/CSObjectObserver.html">CSObjectObserver</a></span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>observer</em>
</code>
</td>
<td>
<div>
<p>an <code><a href="../Protocols/CSObjectObserver.html">CSObjectObserver</a></code> to unregister notifications to</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<section class="footer">
<p>&copy; 2018 <a class="link" href="https://github.com/JohnEstropia" target="_blank" rel="external">John Estropia</a>. All rights reserved. (Last updated: 2018-12-19)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>
</html>

924
docs/Classes/CSOrderBy.html Normal file
View File

@@ -0,0 +1,924 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>CSOrderBy Class 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/Class/CSOrderBy" class="dashAnchor"></a>
<a title="CSOrderBy Class Reference"></a>
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
CoreStore Docs
</a>
(88% documented)
</p>
<p class="header-col--secondary">
<form role="search" action="../search.json">
<input type="text" placeholder="Search documentation" data-typeahead>
</form>
</p>
<p class="header-col header-col--secondary">
<a class="header-link" href="https://github.com/JohnEstropia/CoreStore">
<img class="header-icon" src="../img/gh.png"/>
View on GitHub
</a>
</p>
</header>
<p class="breadcrumbs">
<a class="breadcrumb" href="../index.html">CoreStore Reference</a>
<img class="carat" src="../img/carat.png" />
CSOrderBy Class Reference
</p>
<div class="content-wrapper">
<nav class="navigation">
<ul class="nav-groups">
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/AsynchronousDataTransaction.html">AsynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/AsynchronousDataTransaction/Result.html"> Result</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/BaseDataTransaction.html">BaseDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSAsynchronousDataTransaction.html">CSAsynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSBaseDataTransaction.html">CSBaseDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSCoreStore.html">CSCoreStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSDataStack.html">CSDataStack</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSError.html">CSError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSFrom.html">CSFrom</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSGroupBy.html">CSGroupBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSInMemoryStore.html">CSInMemoryStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSInto.html">CSInto</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSListMonitor.html">CSListMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSMigrationResult.html">CSMigrationResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSMigrationType.html">CSMigrationType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSObjectMonitor.html">CSObjectMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSOrderBy.html">CSOrderBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSQLiteStore.html">CSSQLiteStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSectionBy.html">CSSectionBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSelect.html">CSSelect</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSelectTerm.html">CSSelectTerm</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSetupResult.html">CSSetupResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSynchronousDataTransaction.html">CSSynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSTweak.html">CSTweak</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSUnsafeDataModelSchema.html">CSUnsafeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSUnsafeDataTransaction.html">CSUnsafeDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSWhere.html">CSWhere</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSXcodeDataModelSchema.html">CSXcodeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObject.html">CoreStoreObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectObjectDiff.html">CoreStoreObjectObjectDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectOrderedDiff.html">CoreStoreObjectOrderedDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectTransformableDiff.html">CoreStoreObjectTransformableDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectUnorderedDiff.html">CoreStoreObjectUnorderedDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectValueDiff.html">CoreStoreObjectValueDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreSchema.html">CoreStoreSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider.html">CustomSchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/CustomMapping.html"> CustomMapping</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html"> UnsafeSourceObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html"> UnsafeDestinationObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DataStack.html">DataStack</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DefaultLogger.html">DefaultLogger</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DynamicEntity.html">DynamicEntity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/Entity.html">Entity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ICloudStore.html">ICloudStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/InMemoryStore.html">InMemoryStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/InferredSchemaMappingProvider.html">InferredSchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ListMonitor.html">ListMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ObjectMonitor.html">ObjectMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SQLiteStore.html">SQLiteStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SchemaHistory.html">SchemaHistory</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SynchronousDataTransaction.html">SynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UnsafeDataModelSchema.html">UnsafeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UnsafeDataTransaction.html">UnsafeDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UserInfo.html">UserInfo</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/XcodeDataModelSchema.html">XcodeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/XcodeSchemaMappingProvider.html">XcodeSchemaMappingProvider</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Global Variables.html">Global Variables</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Global Variables.html#/s:9CoreStore0aB11ErrorDomainSSvp">CoreStoreErrorDomain</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CSErrorCode.html">CSErrorCode</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CSLocalStorageOptions.html">CSLocalStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStore.html">CoreStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStoreError.html">CoreStoreError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStoreErrorCode.html">CoreStoreErrorCode</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums.html#/s:9CoreStore8LogLevelO">LogLevel</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/MigrationResult.html">MigrationResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/MigrationType.html">MigrationType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer.html">RelationshipContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToOne.html"> ToOne</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToManyOrdered.html"> ToManyOrdered</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToManyUnordered.html"> ToManyUnordered</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SelectTerm.html">SelectTerm</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SetupResult.html">SetupResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer.html">TransformableContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer/Required.html"> Required</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer/Optional.html"> Optional</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer.html">ValueContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer/Required.html"> Required</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer/Optional.html"> Optional</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Bool.html">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/CGFloat.html">CGFloat</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Data.html">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Double.html">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Float.html">Float</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int.html">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int16.html">Int16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int32.html">Int32</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int64.html">Int64</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int8.html">Int8</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/KeyPath.html">KeyPath</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/KeyPathString.html">KeyPathString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSData.html">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSDate.html">NSDate</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObject.html">NSManagedObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObjectContext.html">NSManagedObjectContext</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObjectID.html">NSManagedObjectID</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSNull.html">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSNumber.html">NSNumber</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSString.html">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSURL.html">NSURL</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSUUID.html">NSUUID</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Progress.html">Progress</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/RawRepresentable.html">RawRepresentable</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Sequence.html">Sequence</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/String.html">String</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/URL.html">URL</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/UUID.html">UUID</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Functions.html">Functions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GGtAA0aB6ObjectCRbzAORb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_STR0_So0gH2IDC7ElementRt0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_STR0_So0gH2IDC7ElementRt0_r1_lF">~=(_:_:)</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/AnyWhereClause.html">AnyWhereClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSDeleteClause">CSDeleteClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSDynamicSchema.html">CSDynamicSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSFetchClause">CSFetchClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListObjectObserver.html">CSListObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListObserver.html">CSListObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListSectionObserver.html">CSListSectionObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSLocalStorage.html">CSLocalStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSObjectObserver.html">CSObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSQueryClause">CSQueryClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSStorageInterface.html">CSStorageInterface</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CloudStorage.html">CloudStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CoreDataNativeType">CoreDataNativeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreLogger.html">CoreStoreLogger</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreObjectKeyValueObservation.html">CoreStoreObjectKeyValueObservation</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreObjectiveCType.html">CoreStoreObjectiveCType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreSwiftType.html">CoreStoreSwiftType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore12DeleteClauseP">DeleteClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicKeyPath.html">DynamicKeyPath</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicObject.html">DynamicObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicSchema.html">DynamicSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/FetchChainableBuilderType.html">FetchChainableBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore11FetchClauseP">FetchClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/FetchableSource.html">FetchableSource</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/GroupByClause.html">GroupByClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ICloudStoreObserver.html">ICloudStoreObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore23ImportableAttributeTypeP">ImportableAttributeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ImportableObject.html">ImportableObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ImportableUniqueObject.html">ImportableUniqueObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListObjectObserver.html">ListObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListObserver.html">ListObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListSectionObserver.html">ListSectionObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/LocalStorage.html">LocalStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ObjectObserver.html">ObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/OrderByClause.html">OrderByClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryChainableBuilderType.html">QueryChainableBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore11QueryClauseP">QueryClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryableAttributeType.html">QueryableAttributeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryableSource.html">QueryableSource</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SchemaMappingProvider.html">SchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SectionMonitorBuilderType.html">SectionMonitorBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore26SelectAttributesResultTypeP">SelectAttributesResultType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SelectClause.html">SelectClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore16SelectResultTypeP">SelectResultType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/StorageInterface.html">StorageInterface</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/WhereClauseType.html">WhereClauseType</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/CloudStorageOptions.html">CloudStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/FetchChainBuilder.html">FetchChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/From.html">From</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/GroupBy.html">GroupBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Into.html">Into</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/LocalStorageOptions.html">LocalStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/MigrationChain.html">MigrationChain</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/OrderBy.html">OrderBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/OrderBy/SortKey.html"> SortKey</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/PartialObject.html">PartialObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/QueryChainBuilder.html">QueryChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SectionBy.html">SectionBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SectionMonitorChainBuilder.html">SectionMonitorChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Select.html">Select</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Tweak.html">Tweak</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/VersionLock.html">VersionLock</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Where.html">Where</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Typealiases.html">Type Aliases</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore9ClassNamea">ClassName</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore10EntityNamea">EntityName</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore18ModelConfigurationa">ModelConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore12ModelVersiona">ModelVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore22XcodeDataModelFileNamea">XcodeDataModelFileName</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section class="section">
<div class="section-content">
<h1>CSOrderBy</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="kt">CSOrderBy</span> <span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt"><a href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSFetchClause">CSFetchClause</a></span><span class="p">,</span> <span class="kt"><a href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSQueryClause">CSQueryClause</a></span><span class="p">,</span> <span class="kt"><a href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSDeleteClause">CSDeleteClause</a></span></code></pre>
</div>
</div>
<p>The <code>CSOrderBy</code> serves as the Objective-C bridging type for <code><a href="../Structs/OrderBy.html">OrderBy</a></code>.</p>
<div class="aside aside-see-also">
<p class="aside-title">See also</p>
<code><a href="../Structs/OrderBy.html">OrderBy</a></code>
</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="/c:@M@CoreStore@objc(cs)CSOrderBy(py)sortDescriptors"></a>
<a name="//apple_ref/swift/Property/sortDescriptors" class="dashAnchor"></a>
<a class="token" href="#/c:@M@CoreStore@objc(cs)CSOrderBy(py)sortDescriptors">sortDescriptors</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The list of sort descriptors</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="k">var</span> <span class="nv">sortDescriptors</span><span class="p">:</span> <span class="p">[</span><span class="kt">NSSortDescriptor</span><span class="p">]</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@CoreStore@objc(cs)CSOrderBy(im)initWithSortDescriptor:"></a>
<a name="//apple_ref/swift/Method/init(sortDescriptor:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@CoreStore@objc(cs)CSOrderBy(im)initWithSortDescriptor:">init(sortDescriptor:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Initializes a <code>CSOrderBy</code> clause with a single sort descriptor</p>
<pre class="highlight swift"><code><span class="kt">MyPersonEntity</span> <span class="o">*</span><span class="n">people</span> <span class="o">=</span> <span class="p">[</span><span class="n">transaction</span>
<span class="nv">fetchAllFrom</span><span class="p">:</span><span class="kt">CSFromClass</span><span class="p">([</span><span class="kt">MyPersonEntity</span> <span class="kd">class</span><span class="p">])</span>
<span class="nv">fetchClauses</span><span class="p">:</span><span class="err">@</span><span class="p">[</span><span class="kt">CSOrderByKey</span><span class="p">(</span><span class="kt">CSSortAscending</span><span class="p">(</span><span class="s">@"fullname"</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">@objc</span>
<span class="kd">public</span> <span class="kd">convenience</span> <span class="nf">init</span><span class="p">(</span><span class="nv">sortDescriptor</span><span class="p">:</span> <span class="kt">NSSortDescriptor</span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>sortDescriptor</em>
</code>
</td>
<td>
<div>
<p>a <code>NSSortDescriptor</code></p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@CoreStore@objc(cs)CSOrderBy(im)initWithSortDescriptors:"></a>
<a name="//apple_ref/swift/Method/init(sortDescriptors:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@CoreStore@objc(cs)CSOrderBy(im)initWithSortDescriptors:">init(sortDescriptors:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Initializes a <code>CSOrderBy</code> clause with a list of sort descriptors</p>
<pre class="highlight swift"><code><span class="kt">MyPersonEntity</span> <span class="o">*</span><span class="n">people</span> <span class="o">=</span> <span class="p">[</span><span class="n">transaction</span>
<span class="nv">fetchAllFrom</span><span class="p">:</span><span class="kt">CSFromClass</span><span class="p">([</span><span class="kt">MyPersonEntity</span> <span class="kd">class</span><span class="p">])</span>
<span class="nv">fetchClauses</span><span class="p">:</span><span class="err">@</span><span class="p">[</span><span class="kt">CSOrderByKeys</span><span class="p">(</span><span class="kt">CSSortAscending</span><span class="p">(</span><span class="s">@"fullname"</span><span class="p">),</span> <span class="kt">CSSortDescending</span><span class="p">(</span><span class="s">@"age"</span><span class="p">),</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">@objc</span>
<span class="kd">public</span> <span class="kd">convenience</span> <span class="nf">init</span><span class="p">(</span><span class="nv">sortDescriptors</span><span class="p">:</span> <span class="p">[</span><span class="kt">NSSortDescriptor</span><span class="p">])</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>sortDescriptors</em>
</code>
</td>
<td>
<div>
<p>an array of <code>NSSortDescriptor</code>s</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<section class="footer">
<p>&copy; 2018 <a class="link" href="https://github.com/JohnEstropia" target="_blank" rel="external">John Estropia</a>. All rights reserved. (Last updated: 2018-12-19)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,909 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>CSSectionBy Class 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/Class/CSSectionBy" class="dashAnchor"></a>
<a title="CSSectionBy Class Reference"></a>
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
CoreStore Docs
</a>
(88% documented)
</p>
<p class="header-col--secondary">
<form role="search" action="../search.json">
<input type="text" placeholder="Search documentation" data-typeahead>
</form>
</p>
<p class="header-col header-col--secondary">
<a class="header-link" href="https://github.com/JohnEstropia/CoreStore">
<img class="header-icon" src="../img/gh.png"/>
View on GitHub
</a>
</p>
</header>
<p class="breadcrumbs">
<a class="breadcrumb" href="../index.html">CoreStore Reference</a>
<img class="carat" src="../img/carat.png" />
CSSectionBy Class Reference
</p>
<div class="content-wrapper">
<nav class="navigation">
<ul class="nav-groups">
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/AsynchronousDataTransaction.html">AsynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/AsynchronousDataTransaction/Result.html"> Result</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/BaseDataTransaction.html">BaseDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSAsynchronousDataTransaction.html">CSAsynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSBaseDataTransaction.html">CSBaseDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSCoreStore.html">CSCoreStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSDataStack.html">CSDataStack</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSError.html">CSError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSFrom.html">CSFrom</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSGroupBy.html">CSGroupBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSInMemoryStore.html">CSInMemoryStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSInto.html">CSInto</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSListMonitor.html">CSListMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSMigrationResult.html">CSMigrationResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSMigrationType.html">CSMigrationType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSObjectMonitor.html">CSObjectMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSOrderBy.html">CSOrderBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSQLiteStore.html">CSSQLiteStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSectionBy.html">CSSectionBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSelect.html">CSSelect</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSelectTerm.html">CSSelectTerm</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSetupResult.html">CSSetupResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSynchronousDataTransaction.html">CSSynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSTweak.html">CSTweak</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSUnsafeDataModelSchema.html">CSUnsafeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSUnsafeDataTransaction.html">CSUnsafeDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSWhere.html">CSWhere</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSXcodeDataModelSchema.html">CSXcodeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObject.html">CoreStoreObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectObjectDiff.html">CoreStoreObjectObjectDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectOrderedDiff.html">CoreStoreObjectOrderedDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectTransformableDiff.html">CoreStoreObjectTransformableDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectUnorderedDiff.html">CoreStoreObjectUnorderedDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectValueDiff.html">CoreStoreObjectValueDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreSchema.html">CoreStoreSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider.html">CustomSchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/CustomMapping.html"> CustomMapping</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html"> UnsafeSourceObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html"> UnsafeDestinationObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DataStack.html">DataStack</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DefaultLogger.html">DefaultLogger</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DynamicEntity.html">DynamicEntity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/Entity.html">Entity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ICloudStore.html">ICloudStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/InMemoryStore.html">InMemoryStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/InferredSchemaMappingProvider.html">InferredSchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ListMonitor.html">ListMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ObjectMonitor.html">ObjectMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SQLiteStore.html">SQLiteStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SchemaHistory.html">SchemaHistory</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SynchronousDataTransaction.html">SynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UnsafeDataModelSchema.html">UnsafeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UnsafeDataTransaction.html">UnsafeDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UserInfo.html">UserInfo</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/XcodeDataModelSchema.html">XcodeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/XcodeSchemaMappingProvider.html">XcodeSchemaMappingProvider</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Global Variables.html">Global Variables</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Global Variables.html#/s:9CoreStore0aB11ErrorDomainSSvp">CoreStoreErrorDomain</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CSErrorCode.html">CSErrorCode</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CSLocalStorageOptions.html">CSLocalStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStore.html">CoreStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStoreError.html">CoreStoreError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStoreErrorCode.html">CoreStoreErrorCode</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums.html#/s:9CoreStore8LogLevelO">LogLevel</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/MigrationResult.html">MigrationResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/MigrationType.html">MigrationType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer.html">RelationshipContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToOne.html"> ToOne</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToManyOrdered.html"> ToManyOrdered</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToManyUnordered.html"> ToManyUnordered</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SelectTerm.html">SelectTerm</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SetupResult.html">SetupResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer.html">TransformableContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer/Required.html"> Required</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer/Optional.html"> Optional</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer.html">ValueContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer/Required.html"> Required</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer/Optional.html"> Optional</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Bool.html">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/CGFloat.html">CGFloat</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Data.html">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Double.html">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Float.html">Float</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int.html">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int16.html">Int16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int32.html">Int32</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int64.html">Int64</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int8.html">Int8</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/KeyPath.html">KeyPath</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/KeyPathString.html">KeyPathString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSData.html">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSDate.html">NSDate</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObject.html">NSManagedObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObjectContext.html">NSManagedObjectContext</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObjectID.html">NSManagedObjectID</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSNull.html">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSNumber.html">NSNumber</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSString.html">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSURL.html">NSURL</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSUUID.html">NSUUID</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Progress.html">Progress</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/RawRepresentable.html">RawRepresentable</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Sequence.html">Sequence</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/String.html">String</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/URL.html">URL</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/UUID.html">UUID</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Functions.html">Functions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GGtAA0aB6ObjectCRbzAORb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_STR0_So0gH2IDC7ElementRt0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_STR0_So0gH2IDC7ElementRt0_r1_lF">~=(_:_:)</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/AnyWhereClause.html">AnyWhereClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSDeleteClause">CSDeleteClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSDynamicSchema.html">CSDynamicSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSFetchClause">CSFetchClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListObjectObserver.html">CSListObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListObserver.html">CSListObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListSectionObserver.html">CSListSectionObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSLocalStorage.html">CSLocalStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSObjectObserver.html">CSObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSQueryClause">CSQueryClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSStorageInterface.html">CSStorageInterface</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CloudStorage.html">CloudStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CoreDataNativeType">CoreDataNativeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreLogger.html">CoreStoreLogger</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreObjectKeyValueObservation.html">CoreStoreObjectKeyValueObservation</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreObjectiveCType.html">CoreStoreObjectiveCType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreSwiftType.html">CoreStoreSwiftType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore12DeleteClauseP">DeleteClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicKeyPath.html">DynamicKeyPath</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicObject.html">DynamicObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicSchema.html">DynamicSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/FetchChainableBuilderType.html">FetchChainableBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore11FetchClauseP">FetchClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/FetchableSource.html">FetchableSource</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/GroupByClause.html">GroupByClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ICloudStoreObserver.html">ICloudStoreObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore23ImportableAttributeTypeP">ImportableAttributeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ImportableObject.html">ImportableObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ImportableUniqueObject.html">ImportableUniqueObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListObjectObserver.html">ListObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListObserver.html">ListObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListSectionObserver.html">ListSectionObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/LocalStorage.html">LocalStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ObjectObserver.html">ObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/OrderByClause.html">OrderByClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryChainableBuilderType.html">QueryChainableBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore11QueryClauseP">QueryClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryableAttributeType.html">QueryableAttributeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryableSource.html">QueryableSource</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SchemaMappingProvider.html">SchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SectionMonitorBuilderType.html">SectionMonitorBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore26SelectAttributesResultTypeP">SelectAttributesResultType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SelectClause.html">SelectClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore16SelectResultTypeP">SelectResultType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/StorageInterface.html">StorageInterface</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/WhereClauseType.html">WhereClauseType</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/CloudStorageOptions.html">CloudStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/FetchChainBuilder.html">FetchChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/From.html">From</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/GroupBy.html">GroupBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Into.html">Into</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/LocalStorageOptions.html">LocalStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/MigrationChain.html">MigrationChain</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/OrderBy.html">OrderBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/OrderBy/SortKey.html"> SortKey</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/PartialObject.html">PartialObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/QueryChainBuilder.html">QueryChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SectionBy.html">SectionBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SectionMonitorChainBuilder.html">SectionMonitorChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Select.html">Select</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Tweak.html">Tweak</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/VersionLock.html">VersionLock</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Where.html">Where</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Typealiases.html">Type Aliases</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore9ClassNamea">ClassName</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore10EntityNamea">EntityName</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore18ModelConfigurationa">ModelConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore12ModelVersiona">ModelVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore22XcodeDataModelFileNamea">XcodeDataModelFileName</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section class="section">
<div class="section-content">
<h1>CSSectionBy</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">@available(OSX 10.12, *)</span>
<span class="kd">@objc</span>
<span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="kt">CSSectionBy</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
</div>
</div>
<p>The <code>CSSectionBy</code> serves as the Objective-C bridging type for <code><a href="../Structs/SectionBy.html">SectionBy</a></code>.</p>
<div class="aside aside-see-also">
<p class="aside-title">See also</p>
<code><a href="../Structs/SectionBy.html">SectionBy</a></code>
</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="/c:@M@CoreStore@objc(cs)CSSectionBy(cm)keyPath:"></a>
<a name="//apple_ref/swift/Method/keyPath(_:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@CoreStore@objc(cs)CSSectionBy(cm)keyPath:">keyPath(_:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Initializes a <code>CSSectionBy</code> clause with the key path to use to group <code><a href="../Classes/CSListMonitor.html">CSListMonitor</a></code> objects into sections</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">keyPath</span><span class="p">(</span><span class="n">_</span> <span class="nv">sectionKeyPath</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">CSSectionBy</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>sectionKeyPath</em>
</code>
</td>
<td>
<div>
<p>the key path to use to group the objects into sections</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div>
<h4>Return Value</h4>
<p>a <code>CSSectionBy</code> clause with the key path to use to group <code><a href="../Classes/CSListMonitor.html">CSListMonitor</a></code> objects into sections</p>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@CoreStore@objc(cs)CSSectionBy(cm)keyPath:sectionIndexTransformer:"></a>
<a name="//apple_ref/swift/Method/keyPath(_:sectionIndexTransformer:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@CoreStore@objc(cs)CSSectionBy(cm)keyPath:sectionIndexTransformer:">keyPath(_:sectionIndexTransformer:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Initializes a <code>CSSectionBy</code> clause with the key path to use to group <code><a href="../Classes/CSListMonitor.html">CSListMonitor</a></code> objects into sections, and a closure to transform the value for the key path to an appropriate section name</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">keyPath</span><span class="p">(</span><span class="n">_</span> <span class="nv">sectionKeyPath</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a></span><span class="p">,</span> <span class="nv">sectionIndexTransformer</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="p">(</span><span class="n">_</span> <span class="nv">sectionName</span><span class="p">:</span> <span class="kt">String</span><span class="p">?)</span> <span class="o">-&gt;</span> <span class="kt">String</span><span class="p">?)</span> <span class="o">-&gt;</span> <span class="kt">CSSectionBy</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>sectionKeyPath</em>
</code>
</td>
<td>
<div>
<p>the key path to use to group the objects into sections</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>sectionIndexTransformer</em>
</code>
</td>
<td>
<div>
<p>a closure to transform the value for the key path to an appropriate section name</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div>
<h4>Return Value</h4>
<p>a <code>CSSectionBy</code> clause with the key path to use to group <code><a href="../Classes/CSListMonitor.html">CSListMonitor</a></code> objects into sections</p>
</div>
</section>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<section class="footer">
<p>&copy; 2018 <a class="link" href="https://github.com/JohnEstropia" target="_blank" rel="external">John Estropia</a>. All rights reserved. (Last updated: 2018-12-19)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>
</html>

1200
docs/Classes/CSSelect.html Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

937
docs/Classes/CSTweak.html Normal file
View File

@@ -0,0 +1,937 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>CSTweak Class 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/Class/CSTweak" class="dashAnchor"></a>
<a title="CSTweak Class Reference"></a>
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
CoreStore Docs
</a>
(88% documented)
</p>
<p class="header-col--secondary">
<form role="search" action="../search.json">
<input type="text" placeholder="Search documentation" data-typeahead>
</form>
</p>
<p class="header-col header-col--secondary">
<a class="header-link" href="https://github.com/JohnEstropia/CoreStore">
<img class="header-icon" src="../img/gh.png"/>
View on GitHub
</a>
</p>
</header>
<p class="breadcrumbs">
<a class="breadcrumb" href="../index.html">CoreStore Reference</a>
<img class="carat" src="../img/carat.png" />
CSTweak Class Reference
</p>
<div class="content-wrapper">
<nav class="navigation">
<ul class="nav-groups">
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/AsynchronousDataTransaction.html">AsynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/AsynchronousDataTransaction/Result.html"> Result</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/BaseDataTransaction.html">BaseDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSAsynchronousDataTransaction.html">CSAsynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSBaseDataTransaction.html">CSBaseDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSCoreStore.html">CSCoreStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSDataStack.html">CSDataStack</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSError.html">CSError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSFrom.html">CSFrom</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSGroupBy.html">CSGroupBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSInMemoryStore.html">CSInMemoryStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSInto.html">CSInto</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSListMonitor.html">CSListMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSMigrationResult.html">CSMigrationResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSMigrationType.html">CSMigrationType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSObjectMonitor.html">CSObjectMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSOrderBy.html">CSOrderBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSQLiteStore.html">CSSQLiteStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSectionBy.html">CSSectionBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSelect.html">CSSelect</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSelectTerm.html">CSSelectTerm</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSetupResult.html">CSSetupResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSynchronousDataTransaction.html">CSSynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSTweak.html">CSTweak</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSUnsafeDataModelSchema.html">CSUnsafeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSUnsafeDataTransaction.html">CSUnsafeDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSWhere.html">CSWhere</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSXcodeDataModelSchema.html">CSXcodeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObject.html">CoreStoreObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectObjectDiff.html">CoreStoreObjectObjectDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectOrderedDiff.html">CoreStoreObjectOrderedDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectTransformableDiff.html">CoreStoreObjectTransformableDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectUnorderedDiff.html">CoreStoreObjectUnorderedDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectValueDiff.html">CoreStoreObjectValueDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreSchema.html">CoreStoreSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider.html">CustomSchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/CustomMapping.html"> CustomMapping</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html"> UnsafeSourceObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html"> UnsafeDestinationObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DataStack.html">DataStack</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DefaultLogger.html">DefaultLogger</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DynamicEntity.html">DynamicEntity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/Entity.html">Entity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ICloudStore.html">ICloudStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/InMemoryStore.html">InMemoryStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/InferredSchemaMappingProvider.html">InferredSchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ListMonitor.html">ListMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ObjectMonitor.html">ObjectMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SQLiteStore.html">SQLiteStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SchemaHistory.html">SchemaHistory</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SynchronousDataTransaction.html">SynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UnsafeDataModelSchema.html">UnsafeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UnsafeDataTransaction.html">UnsafeDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UserInfo.html">UserInfo</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/XcodeDataModelSchema.html">XcodeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/XcodeSchemaMappingProvider.html">XcodeSchemaMappingProvider</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Global Variables.html">Global Variables</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Global Variables.html#/s:9CoreStore0aB11ErrorDomainSSvp">CoreStoreErrorDomain</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CSErrorCode.html">CSErrorCode</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CSLocalStorageOptions.html">CSLocalStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStore.html">CoreStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStoreError.html">CoreStoreError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStoreErrorCode.html">CoreStoreErrorCode</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums.html#/s:9CoreStore8LogLevelO">LogLevel</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/MigrationResult.html">MigrationResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/MigrationType.html">MigrationType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer.html">RelationshipContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToOne.html"> ToOne</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToManyOrdered.html"> ToManyOrdered</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToManyUnordered.html"> ToManyUnordered</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SelectTerm.html">SelectTerm</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SetupResult.html">SetupResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer.html">TransformableContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer/Required.html"> Required</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer/Optional.html"> Optional</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer.html">ValueContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer/Required.html"> Required</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer/Optional.html"> Optional</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Bool.html">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/CGFloat.html">CGFloat</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Data.html">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Double.html">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Float.html">Float</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int.html">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int16.html">Int16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int32.html">Int32</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int64.html">Int64</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int8.html">Int8</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/KeyPath.html">KeyPath</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/KeyPathString.html">KeyPathString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSData.html">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSDate.html">NSDate</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObject.html">NSManagedObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObjectContext.html">NSManagedObjectContext</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObjectID.html">NSManagedObjectID</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSNull.html">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSNumber.html">NSNumber</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSString.html">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSURL.html">NSURL</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSUUID.html">NSUUID</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Progress.html">Progress</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/RawRepresentable.html">RawRepresentable</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Sequence.html">Sequence</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/String.html">String</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/URL.html">URL</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/UUID.html">UUID</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Functions.html">Functions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GGtAA0aB6ObjectCRbzAORb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_STR0_So0gH2IDC7ElementRt0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_STR0_So0gH2IDC7ElementRt0_r1_lF">~=(_:_:)</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/AnyWhereClause.html">AnyWhereClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSDeleteClause">CSDeleteClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSDynamicSchema.html">CSDynamicSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSFetchClause">CSFetchClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListObjectObserver.html">CSListObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListObserver.html">CSListObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListSectionObserver.html">CSListSectionObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSLocalStorage.html">CSLocalStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSObjectObserver.html">CSObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSQueryClause">CSQueryClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSStorageInterface.html">CSStorageInterface</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CloudStorage.html">CloudStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CoreDataNativeType">CoreDataNativeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreLogger.html">CoreStoreLogger</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreObjectKeyValueObservation.html">CoreStoreObjectKeyValueObservation</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreObjectiveCType.html">CoreStoreObjectiveCType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreSwiftType.html">CoreStoreSwiftType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore12DeleteClauseP">DeleteClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicKeyPath.html">DynamicKeyPath</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicObject.html">DynamicObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicSchema.html">DynamicSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/FetchChainableBuilderType.html">FetchChainableBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore11FetchClauseP">FetchClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/FetchableSource.html">FetchableSource</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/GroupByClause.html">GroupByClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ICloudStoreObserver.html">ICloudStoreObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore23ImportableAttributeTypeP">ImportableAttributeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ImportableObject.html">ImportableObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ImportableUniqueObject.html">ImportableUniqueObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListObjectObserver.html">ListObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListObserver.html">ListObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListSectionObserver.html">ListSectionObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/LocalStorage.html">LocalStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ObjectObserver.html">ObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/OrderByClause.html">OrderByClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryChainableBuilderType.html">QueryChainableBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore11QueryClauseP">QueryClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryableAttributeType.html">QueryableAttributeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryableSource.html">QueryableSource</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SchemaMappingProvider.html">SchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SectionMonitorBuilderType.html">SectionMonitorBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore26SelectAttributesResultTypeP">SelectAttributesResultType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SelectClause.html">SelectClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore16SelectResultTypeP">SelectResultType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/StorageInterface.html">StorageInterface</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/WhereClauseType.html">WhereClauseType</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/CloudStorageOptions.html">CloudStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/FetchChainBuilder.html">FetchChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/From.html">From</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/GroupBy.html">GroupBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Into.html">Into</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/LocalStorageOptions.html">LocalStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/MigrationChain.html">MigrationChain</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/OrderBy.html">OrderBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/OrderBy/SortKey.html"> SortKey</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/PartialObject.html">PartialObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/QueryChainBuilder.html">QueryChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SectionBy.html">SectionBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SectionMonitorChainBuilder.html">SectionMonitorChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Select.html">Select</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Tweak.html">Tweak</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/VersionLock.html">VersionLock</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Where.html">Where</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Typealiases.html">Type Aliases</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore9ClassNamea">ClassName</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore10EntityNamea">EntityName</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore18ModelConfigurationa">ModelConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore12ModelVersiona">ModelVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore22XcodeDataModelFileNamea">XcodeDataModelFileName</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section class="section">
<div class="section-content">
<h1>CSTweak</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="kt">CSTweak</span> <span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt"><a href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSFetchClause">CSFetchClause</a></span><span class="p">,</span> <span class="kt"><a href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSQueryClause">CSQueryClause</a></span><span class="p">,</span> <span class="kt"><a href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSDeleteClause">CSDeleteClause</a></span><span class="p">,</span> <span class="kt"><a href="../Protocols/CoreStoreObjectiveCType.html">CoreStoreObjectiveCType</a></span></code></pre>
</div>
</div>
<p>The <code>CSTweak</code> serves as the Objective-C bridging type for <code><a href="../Structs/Tweak.html">Tweak</a></code>.</p>
<div class="aside aside-see-also">
<p class="aside-title">See also</p>
<code><a href="../Structs/Tweak.html">Tweak</a></code>
</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="/c:@M@CoreStore@objc(cs)CSTweak(py)block"></a>
<a name="//apple_ref/swift/Property/block" class="dashAnchor"></a>
<a class="token" href="#/c:@M@CoreStore@objc(cs)CSTweak(py)block">block</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The block to customize the <code>NSFetchRequest</code></p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="k">var</span> <span class="nv">block</span><span class="p">:</span> <span class="p">(</span><span class="n">_</span> <span class="nv">fetchRequest</span><span class="p">:</span> <span class="kt">NSFetchRequest</span><span class="o">&lt;</span><span class="kt">NSFetchRequestResult</span><span class="o">&gt;</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@CoreStore@objc(cs)CSTweak(im)initWithBlock:"></a>
<a name="//apple_ref/swift/Method/init(block:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@CoreStore@objc(cs)CSTweak(im)initWithBlock:">init(block:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Initializes a <code>CSTweak</code> clause with a closure where the <code>NSFetchRequest</code> may be configured.</p>
<div class="aside aside-important">
<p class="aside-title">Important</p>
<code>CSTweak</code>&lsquo;s closure is executed only just before the fetch occurs, so make sure that any values captured by the closure is not prone to race conditions. Also, some utilities (such as <code><a href="../Classes/CSListMonitor.html">CSListMonitor</a></code>s) may keep <code><a href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSFetchClause">CSFetchClause</a></code>s in memory and may thus introduce retain cycles if reference captures are not handled properly.
</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">@objc</span>
<span class="kd">public</span> <span class="kd">convenience</span> <span class="nf">init</span><span class="p">(</span><span class="nv">block</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="p">(</span><span class="n">_</span> <span class="nv">fetchRequest</span><span class="p">:</span> <span class="kt">NSFetchRequest</span><span class="o">&lt;</span><span class="kt">NSFetchRequestResult</span><span class="o">&gt;</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>block</em>
</code>
</td>
<td>
<div>
<p>the block to customize the <code>NSFetchRequest</code></p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/CoreStoreObjectiveCType"></a>
<a name="//apple_ref/swift/Section/CoreStoreObjectiveCType" class="dashAnchor"></a>
<a href="#/CoreStoreObjectiveCType">
<h3 class="section-name">CoreStoreObjectiveCType</h3>
</a>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp"></a>
<a name="//apple_ref/swift/Property/bridgeToSwift" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp">bridgeToSwift</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">let</span> <span class="nv">bridgeToSwift</span><span class="p">:</span> <span class="kt"><a href="../Structs/Tweak.html">Tweak</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc"></a>
<a name="//apple_ref/swift/Method/init(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc">init(_:)</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="nf">init</span><span class="p">(</span><span class="n">_</span> <span class="nv">swiftValue</span><span class="p">:</span> <span class="kt"><a href="../Structs/Tweak.html">Tweak</a></span><span class="p">)</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<section class="footer">
<p>&copy; 2018 <a class="link" href="https://github.com/JohnEstropia" target="_blank" rel="external">John Estropia</a>. All rights reserved. (Last updated: 2018-12-19)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>
</html>

View File

@@ -0,0 +1,981 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>CSUnsafeDataModelSchema Class 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/Class/CSUnsafeDataModelSchema" class="dashAnchor"></a>
<a title="CSUnsafeDataModelSchema Class Reference"></a>
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
CoreStore Docs
</a>
(88% documented)
</p>
<p class="header-col--secondary">
<form role="search" action="../search.json">
<input type="text" placeholder="Search documentation" data-typeahead>
</form>
</p>
<p class="header-col header-col--secondary">
<a class="header-link" href="https://github.com/JohnEstropia/CoreStore">
<img class="header-icon" src="../img/gh.png"/>
View on GitHub
</a>
</p>
</header>
<p class="breadcrumbs">
<a class="breadcrumb" href="../index.html">CoreStore Reference</a>
<img class="carat" src="../img/carat.png" />
CSUnsafeDataModelSchema Class Reference
</p>
<div class="content-wrapper">
<nav class="navigation">
<ul class="nav-groups">
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/AsynchronousDataTransaction.html">AsynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/AsynchronousDataTransaction/Result.html"> Result</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/BaseDataTransaction.html">BaseDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSAsynchronousDataTransaction.html">CSAsynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSBaseDataTransaction.html">CSBaseDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSCoreStore.html">CSCoreStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSDataStack.html">CSDataStack</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSError.html">CSError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSFrom.html">CSFrom</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSGroupBy.html">CSGroupBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSInMemoryStore.html">CSInMemoryStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSInto.html">CSInto</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSListMonitor.html">CSListMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSMigrationResult.html">CSMigrationResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSMigrationType.html">CSMigrationType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSObjectMonitor.html">CSObjectMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSOrderBy.html">CSOrderBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSQLiteStore.html">CSSQLiteStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSectionBy.html">CSSectionBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSelect.html">CSSelect</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSelectTerm.html">CSSelectTerm</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSetupResult.html">CSSetupResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSynchronousDataTransaction.html">CSSynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSTweak.html">CSTweak</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSUnsafeDataModelSchema.html">CSUnsafeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSUnsafeDataTransaction.html">CSUnsafeDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSWhere.html">CSWhere</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSXcodeDataModelSchema.html">CSXcodeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObject.html">CoreStoreObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectObjectDiff.html">CoreStoreObjectObjectDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectOrderedDiff.html">CoreStoreObjectOrderedDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectTransformableDiff.html">CoreStoreObjectTransformableDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectUnorderedDiff.html">CoreStoreObjectUnorderedDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectValueDiff.html">CoreStoreObjectValueDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreSchema.html">CoreStoreSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider.html">CustomSchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/CustomMapping.html"> CustomMapping</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html"> UnsafeSourceObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html"> UnsafeDestinationObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DataStack.html">DataStack</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DefaultLogger.html">DefaultLogger</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DynamicEntity.html">DynamicEntity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/Entity.html">Entity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ICloudStore.html">ICloudStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/InMemoryStore.html">InMemoryStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/InferredSchemaMappingProvider.html">InferredSchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ListMonitor.html">ListMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ObjectMonitor.html">ObjectMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SQLiteStore.html">SQLiteStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SchemaHistory.html">SchemaHistory</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SynchronousDataTransaction.html">SynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UnsafeDataModelSchema.html">UnsafeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UnsafeDataTransaction.html">UnsafeDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UserInfo.html">UserInfo</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/XcodeDataModelSchema.html">XcodeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/XcodeSchemaMappingProvider.html">XcodeSchemaMappingProvider</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Global Variables.html">Global Variables</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Global Variables.html#/s:9CoreStore0aB11ErrorDomainSSvp">CoreStoreErrorDomain</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CSErrorCode.html">CSErrorCode</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CSLocalStorageOptions.html">CSLocalStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStore.html">CoreStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStoreError.html">CoreStoreError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStoreErrorCode.html">CoreStoreErrorCode</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums.html#/s:9CoreStore8LogLevelO">LogLevel</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/MigrationResult.html">MigrationResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/MigrationType.html">MigrationType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer.html">RelationshipContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToOne.html"> ToOne</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToManyOrdered.html"> ToManyOrdered</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToManyUnordered.html"> ToManyUnordered</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SelectTerm.html">SelectTerm</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SetupResult.html">SetupResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer.html">TransformableContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer/Required.html"> Required</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer/Optional.html"> Optional</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer.html">ValueContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer/Required.html"> Required</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer/Optional.html"> Optional</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Bool.html">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/CGFloat.html">CGFloat</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Data.html">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Double.html">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Float.html">Float</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int.html">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int16.html">Int16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int32.html">Int32</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int64.html">Int64</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int8.html">Int8</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/KeyPath.html">KeyPath</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/KeyPathString.html">KeyPathString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSData.html">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSDate.html">NSDate</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObject.html">NSManagedObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObjectContext.html">NSManagedObjectContext</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObjectID.html">NSManagedObjectID</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSNull.html">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSNumber.html">NSNumber</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSString.html">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSURL.html">NSURL</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSUUID.html">NSUUID</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Progress.html">Progress</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/RawRepresentable.html">RawRepresentable</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Sequence.html">Sequence</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/String.html">String</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/URL.html">URL</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/UUID.html">UUID</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Functions.html">Functions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GGtAA0aB6ObjectCRbzAORb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_STR0_So0gH2IDC7ElementRt0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_STR0_So0gH2IDC7ElementRt0_r1_lF">~=(_:_:)</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/AnyWhereClause.html">AnyWhereClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSDeleteClause">CSDeleteClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSDynamicSchema.html">CSDynamicSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSFetchClause">CSFetchClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListObjectObserver.html">CSListObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListObserver.html">CSListObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListSectionObserver.html">CSListSectionObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSLocalStorage.html">CSLocalStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSObjectObserver.html">CSObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSQueryClause">CSQueryClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSStorageInterface.html">CSStorageInterface</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CloudStorage.html">CloudStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CoreDataNativeType">CoreDataNativeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreLogger.html">CoreStoreLogger</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreObjectKeyValueObservation.html">CoreStoreObjectKeyValueObservation</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreObjectiveCType.html">CoreStoreObjectiveCType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreSwiftType.html">CoreStoreSwiftType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore12DeleteClauseP">DeleteClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicKeyPath.html">DynamicKeyPath</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicObject.html">DynamicObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicSchema.html">DynamicSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/FetchChainableBuilderType.html">FetchChainableBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore11FetchClauseP">FetchClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/FetchableSource.html">FetchableSource</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/GroupByClause.html">GroupByClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ICloudStoreObserver.html">ICloudStoreObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore23ImportableAttributeTypeP">ImportableAttributeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ImportableObject.html">ImportableObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ImportableUniqueObject.html">ImportableUniqueObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListObjectObserver.html">ListObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListObserver.html">ListObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListSectionObserver.html">ListSectionObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/LocalStorage.html">LocalStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ObjectObserver.html">ObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/OrderByClause.html">OrderByClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryChainableBuilderType.html">QueryChainableBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore11QueryClauseP">QueryClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryableAttributeType.html">QueryableAttributeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryableSource.html">QueryableSource</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SchemaMappingProvider.html">SchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SectionMonitorBuilderType.html">SectionMonitorBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore26SelectAttributesResultTypeP">SelectAttributesResultType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SelectClause.html">SelectClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore16SelectResultTypeP">SelectResultType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/StorageInterface.html">StorageInterface</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/WhereClauseType.html">WhereClauseType</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/CloudStorageOptions.html">CloudStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/FetchChainBuilder.html">FetchChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/From.html">From</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/GroupBy.html">GroupBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Into.html">Into</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/LocalStorageOptions.html">LocalStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/MigrationChain.html">MigrationChain</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/OrderBy.html">OrderBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/OrderBy/SortKey.html"> SortKey</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/PartialObject.html">PartialObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/QueryChainBuilder.html">QueryChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SectionBy.html">SectionBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SectionMonitorChainBuilder.html">SectionMonitorChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Select.html">Select</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Tweak.html">Tweak</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/VersionLock.html">VersionLock</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Where.html">Where</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Typealiases.html">Type Aliases</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore9ClassNamea">ClassName</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore10EntityNamea">EntityName</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore18ModelConfigurationa">ModelConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore12ModelVersiona">ModelVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore22XcodeDataModelFileNamea">XcodeDataModelFileName</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section class="section">
<div class="section-content">
<h1>CSUnsafeDataModelSchema</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="kt">CSUnsafeDataModelSchema</span> <span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt"><a href="../Protocols/CSDynamicSchema.html">CSDynamicSchema</a></span><span class="p">,</span> <span class="kt"><a href="../Protocols/CoreStoreObjectiveCType.html">CoreStoreObjectiveCType</a></span></code></pre>
</div>
</div>
<p>The <code>CSUnsafeDataModelSchema</code> serves as the Objective-C bridging type for <code><a href="../Classes/UnsafeDataModelSchema.html">UnsafeDataModelSchema</a></code>.</p>
<div class="aside aside-see-also">
<p class="aside-title">See also</p>
<code><a href="../Classes/UnsafeDataModelSchema.html">UnsafeDataModelSchema</a></code>
</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="/c:@M@CoreStore@objc(cs)CSUnsafeDataModelSchema(im)initWithModelName:model:"></a>
<a name="//apple_ref/swift/Method/init(modelName:model:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@CoreStore@objc(cs)CSUnsafeDataModelSchema(im)initWithModelName:model:">init(modelName:model:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Initializes a <code>CSUnsafeDataModelSchema</code> from an <code>NSManagedObjectModel</code>.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="kd">required</span> <span class="nf">init</span><span class="p">(</span><span class="nv">modelName</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:9CoreStore12ModelVersiona">ModelVersion</a></span><span class="p">,</span> <span class="nv">model</span><span class="p">:</span> <span class="kt">NSManagedObjectModel</span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>modelName</em>
</code>
</td>
<td>
<div>
<p>the model version, typically the file name of an *.xcdatamodeld file (without the file extension)</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>model</em>
</code>
</td>
<td>
<div>
<p>the <code>NSManagedObjectModel</code></p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/CSDynamicSchema"></a>
<a name="//apple_ref/swift/Section/CSDynamicSchema" class="dashAnchor"></a>
<a href="#/CSDynamicSchema">
<h3 class="section-name">CSDynamicSchema</h3>
</a>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/c:@M@CoreStore@objc(pl)CSDynamicSchema(py)modelVersion"></a>
<a name="//apple_ref/swift/Property/modelVersion" class="dashAnchor"></a>
<a class="token" href="#/c:@M@CoreStore@objc(pl)CSDynamicSchema(py)modelVersion">modelVersion</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">@objc</span>
<span class="kd">public</span> <span class="k">var</span> <span class="nv">modelVersion</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:9CoreStore12ModelVersiona">ModelVersion</a></span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@CoreStore@objc(pl)CSDynamicSchema(im)rawModel"></a>
<a name="//apple_ref/swift/Method/rawModel()" class="dashAnchor"></a>
<a class="token" href="#/c:@M@CoreStore@objc(pl)CSDynamicSchema(im)rawModel">rawModel()</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">@objc</span>
<span class="kd">public</span> <span class="kd">func</span> <span class="nf">rawModel</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">NSManagedObjectModel</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/CoreStoreObjectiveCType"></a>
<a name="//apple_ref/swift/Section/CoreStoreObjectiveCType" class="dashAnchor"></a>
<a href="#/CoreStoreObjectiveCType">
<h3 class="section-name">CoreStoreObjectiveCType</h3>
</a>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp"></a>
<a name="//apple_ref/swift/Property/bridgeToSwift" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp">bridgeToSwift</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">let</span> <span class="nv">bridgeToSwift</span><span class="p">:</span> <span class="kt"><a href="../Classes/UnsafeDataModelSchema.html">UnsafeDataModelSchema</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc"></a>
<a name="//apple_ref/swift/Method/init(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc">init(_:)</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">required</span> <span class="nf">init</span><span class="p">(</span><span class="n">_</span> <span class="nv">swiftValue</span><span class="p">:</span> <span class="kt"><a href="../Classes/UnsafeDataModelSchema.html">UnsafeDataModelSchema</a></span><span class="p">)</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<section class="footer">
<p>&copy; 2018 <a class="link" href="https://github.com/JohnEstropia" target="_blank" rel="external">John Estropia</a>. All rights reserved. (Last updated: 2018-12-19)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>
</html>

File diff suppressed because it is too large Load Diff

1102
docs/Classes/CSWhere.html Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,981 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>CSXcodeDataModelSchema Class 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/Class/CSXcodeDataModelSchema" class="dashAnchor"></a>
<a title="CSXcodeDataModelSchema Class Reference"></a>
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
CoreStore Docs
</a>
(88% documented)
</p>
<p class="header-col--secondary">
<form role="search" action="../search.json">
<input type="text" placeholder="Search documentation" data-typeahead>
</form>
</p>
<p class="header-col header-col--secondary">
<a class="header-link" href="https://github.com/JohnEstropia/CoreStore">
<img class="header-icon" src="../img/gh.png"/>
View on GitHub
</a>
</p>
</header>
<p class="breadcrumbs">
<a class="breadcrumb" href="../index.html">CoreStore Reference</a>
<img class="carat" src="../img/carat.png" />
CSXcodeDataModelSchema Class Reference
</p>
<div class="content-wrapper">
<nav class="navigation">
<ul class="nav-groups">
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/AsynchronousDataTransaction.html">AsynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/AsynchronousDataTransaction/Result.html"> Result</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/BaseDataTransaction.html">BaseDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSAsynchronousDataTransaction.html">CSAsynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSBaseDataTransaction.html">CSBaseDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSCoreStore.html">CSCoreStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSDataStack.html">CSDataStack</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSError.html">CSError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSFrom.html">CSFrom</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSGroupBy.html">CSGroupBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSInMemoryStore.html">CSInMemoryStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSInto.html">CSInto</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSListMonitor.html">CSListMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSMigrationResult.html">CSMigrationResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSMigrationType.html">CSMigrationType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSObjectMonitor.html">CSObjectMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSOrderBy.html">CSOrderBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSQLiteStore.html">CSSQLiteStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSectionBy.html">CSSectionBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSelect.html">CSSelect</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSelectTerm.html">CSSelectTerm</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSetupResult.html">CSSetupResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSSynchronousDataTransaction.html">CSSynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSTweak.html">CSTweak</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSUnsafeDataModelSchema.html">CSUnsafeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSUnsafeDataTransaction.html">CSUnsafeDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSWhere.html">CSWhere</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CSXcodeDataModelSchema.html">CSXcodeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObject.html">CoreStoreObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectObjectDiff.html">CoreStoreObjectObjectDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectOrderedDiff.html">CoreStoreObjectOrderedDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectTransformableDiff.html">CoreStoreObjectTransformableDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectUnorderedDiff.html">CoreStoreObjectUnorderedDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreObjectValueDiff.html">CoreStoreObjectValueDiff</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CoreStoreSchema.html">CoreStoreSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider.html">CustomSchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/CustomMapping.html"> CustomMapping</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/UnsafeSourceObject.html"> UnsafeSourceObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CustomSchemaMappingProvider/UnsafeDestinationObject.html"> UnsafeDestinationObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DataStack.html">DataStack</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DefaultLogger.html">DefaultLogger</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/DynamicEntity.html">DynamicEntity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/Entity.html">Entity</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ICloudStore.html">ICloudStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/InMemoryStore.html">InMemoryStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/InferredSchemaMappingProvider.html">InferredSchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ListMonitor.html">ListMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ObjectMonitor.html">ObjectMonitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SQLiteStore.html">SQLiteStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SchemaHistory.html">SchemaHistory</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SynchronousDataTransaction.html">SynchronousDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UnsafeDataModelSchema.html">UnsafeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UnsafeDataTransaction.html">UnsafeDataTransaction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/UserInfo.html">UserInfo</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/XcodeDataModelSchema.html">XcodeDataModelSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/XcodeSchemaMappingProvider.html">XcodeSchemaMappingProvider</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Global Variables.html">Global Variables</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Global Variables.html#/s:9CoreStore0aB11ErrorDomainSSvp">CoreStoreErrorDomain</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CSErrorCode.html">CSErrorCode</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CSLocalStorageOptions.html">CSLocalStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStore.html">CoreStore</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStoreError.html">CoreStoreError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/CoreStoreErrorCode.html">CoreStoreErrorCode</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums.html#/s:9CoreStore8LogLevelO">LogLevel</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/MigrationResult.html">MigrationResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/MigrationType.html">MigrationType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer.html">RelationshipContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToOne.html"> ToOne</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToManyOrdered.html"> ToManyOrdered</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/RelationshipContainer/ToManyUnordered.html"> ToManyUnordered</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SelectTerm.html">SelectTerm</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SetupResult.html">SetupResult</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer.html">TransformableContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer/Required.html"> Required</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TransformableContainer/Optional.html"> Optional</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer.html">ValueContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer/Required.html"> Required</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ValueContainer/Optional.html"> Optional</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Bool.html">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/CGFloat.html">CGFloat</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Data.html">Data</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Double.html">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Float.html">Float</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int.html">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int16.html">Int16</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int32.html">Int32</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int64.html">Int64</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Int8.html">Int8</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/KeyPath.html">KeyPath</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/KeyPathString.html">KeyPathString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSData.html">NSData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSDate.html">NSDate</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObject.html">NSManagedObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObjectContext.html">NSManagedObjectContext</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSManagedObjectID.html">NSManagedObjectID</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSNull.html">NSNull</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSNumber.html">NSNumber</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSString.html">NSString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSURL.html">NSURL</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/NSUUID.html">NSUUID</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Progress.html">Progress</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/RawRepresentable.html">RawRepresentable</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/Sequence.html">Sequence</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/String.html">String</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/URL.html">URL</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Extensions/UUID.html">UUID</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Functions.html">Functions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2neoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF">!=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1loiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2leoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&lt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_SgtAA0aB6ObjectCRbzAPRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GG_q_tAA0aB6ObjectCRbzAORb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_So17NSManagedObjectIDCtSo0gH0CRbzALRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAJRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAKRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2eeoiyAA5WhereVyxGs7KeyPathCyxq_SgG_So17NSManagedObjectIDCtSo0gH0CRbzAMRb_r0_lF">==(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore1goiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GG_q_SgtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GG_q_tAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_G_q_tSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2geoiyAA5WhereVyxGs7KeyPathCyxq_SgG_AHtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_SLR_r0_lF">&gt;=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8OptionalCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA14ValueContainerO8RequiredCyx_q_GGtAA0aB6ObjectCRbzAA23ImportableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxAA21RelationshipContainerO5ToOneCyx_q_GGtAA0aB6ObjectCRbzAORb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_GtSo15NSManagedObjectCRbzAJRb_STR0_So0gH2IDC7ElementRt0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAA22QueryableAttributeTypeR_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_7ElementQy0_Rs_STR0_r1_lF">~=(_:_:)</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Functions.html#/s:9CoreStore2teoiyAA5WhereVyxGq0__s7KeyPathCyxq_SgGtSo15NSManagedObjectCRbzAKRb_STR0_So0gH2IDC7ElementRt0_r1_lF">~=(_:_:)</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/AnyWhereClause.html">AnyWhereClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSDeleteClause">CSDeleteClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSDynamicSchema.html">CSDynamicSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSFetchClause">CSFetchClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListObjectObserver.html">CSListObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListObserver.html">CSListObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSListSectionObserver.html">CSListSectionObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSLocalStorage.html">CSLocalStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSObjectObserver.html">CSObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CSQueryClause">CSQueryClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CSStorageInterface.html">CSStorageInterface</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CloudStorage.html">CloudStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/c:@M@CoreStore@objc(pl)CoreDataNativeType">CoreDataNativeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreLogger.html">CoreStoreLogger</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreObjectKeyValueObservation.html">CoreStoreObjectKeyValueObservation</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreObjectiveCType.html">CoreStoreObjectiveCType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/CoreStoreSwiftType.html">CoreStoreSwiftType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore12DeleteClauseP">DeleteClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicKeyPath.html">DynamicKeyPath</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicObject.html">DynamicObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DynamicSchema.html">DynamicSchema</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/FetchChainableBuilderType.html">FetchChainableBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore11FetchClauseP">FetchClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/FetchableSource.html">FetchableSource</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/GroupByClause.html">GroupByClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ICloudStoreObserver.html">ICloudStoreObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore23ImportableAttributeTypeP">ImportableAttributeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ImportableObject.html">ImportableObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ImportableUniqueObject.html">ImportableUniqueObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListObjectObserver.html">ListObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListObserver.html">ListObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ListSectionObserver.html">ListSectionObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/LocalStorage.html">LocalStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ObjectObserver.html">ObjectObserver</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/OrderByClause.html">OrderByClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryChainableBuilderType.html">QueryChainableBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore11QueryClauseP">QueryClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryableAttributeType.html">QueryableAttributeType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/QueryableSource.html">QueryableSource</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SchemaMappingProvider.html">SchemaMappingProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SectionMonitorBuilderType.html">SectionMonitorBuilderType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore26SelectAttributesResultTypeP">SelectAttributesResultType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SelectClause.html">SelectClause</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols.html#/s:9CoreStore16SelectResultTypeP">SelectResultType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/StorageInterface.html">StorageInterface</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/WhereClauseType.html">WhereClauseType</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/CloudStorageOptions.html">CloudStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/FetchChainBuilder.html">FetchChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/From.html">From</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/GroupBy.html">GroupBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Into.html">Into</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/LocalStorageOptions.html">LocalStorageOptions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/MigrationChain.html">MigrationChain</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/OrderBy.html">OrderBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/OrderBy/SortKey.html"> SortKey</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/PartialObject.html">PartialObject</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/QueryChainBuilder.html">QueryChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SectionBy.html">SectionBy</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SectionMonitorChainBuilder.html">SectionMonitorChainBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Select.html">Select</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Tweak.html">Tweak</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/VersionLock.html">VersionLock</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/Where.html">Where</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Typealiases.html">Type Aliases</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore9ClassNamea">ClassName</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore10EntityNamea">EntityName</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore13KeyPathStringa">KeyPathString</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore18ModelConfigurationa">ModelConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore12ModelVersiona">ModelVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:9CoreStore22XcodeDataModelFileNamea">XcodeDataModelFileName</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section class="section">
<div class="section-content">
<h1>CSXcodeDataModelSchema</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="kt">CSXcodeDataModelSchema</span> <span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt"><a href="../Protocols/CSDynamicSchema.html">CSDynamicSchema</a></span><span class="p">,</span> <span class="kt"><a href="../Protocols/CoreStoreObjectiveCType.html">CoreStoreObjectiveCType</a></span></code></pre>
</div>
</div>
<p>The <code>CSXcodeDataModelSchema</code> serves as the Objective-C bridging type for <code><a href="../Classes/XcodeDataModelSchema.html">XcodeDataModelSchema</a></code>.</p>
<div class="aside aside-see-also">
<p class="aside-title">See also</p>
<code><a href="../Classes/XcodeDataModelSchema.html">XcodeDataModelSchema</a></code>
</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="/c:@M@CoreStore@objc(cs)CSXcodeDataModelSchema(im)initWithModelName:modelVersionFileURL:"></a>
<a name="//apple_ref/swift/Method/init(modelName:modelVersionFileURL:)" class="dashAnchor"></a>
<a class="token" href="#/c:@M@CoreStore@objc(cs)CSXcodeDataModelSchema(im)initWithModelName:modelVersionFileURL:">init(modelName:modelVersionFileURL:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Initializes an <code>CSXcodeDataModelSchema</code> from an *.xcdatamodeld file URL.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="kd">required</span> <span class="nf">init</span><span class="p">(</span><span class="nv">modelName</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:9CoreStore12ModelVersiona">ModelVersion</a></span><span class="p">,</span> <span class="nv">modelVersionFileURL</span><span class="p">:</span> <span class="kt">URL</span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>modelName</em>
</code>
</td>
<td>
<div>
<p>the model version, typically the file name of an *.xcdatamodeld file (without the file extension)</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>modelVersionFileURL</em>
</code>
</td>
<td>
<div>
<p>the file URL that points to the .xcdatamodeld&rsquo;s <q>momd</q> file.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/CSDynamicSchema"></a>
<a name="//apple_ref/swift/Section/CSDynamicSchema" class="dashAnchor"></a>
<a href="#/CSDynamicSchema">
<h3 class="section-name">CSDynamicSchema</h3>
</a>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/c:@M@CoreStore@objc(pl)CSDynamicSchema(py)modelVersion"></a>
<a name="//apple_ref/swift/Property/modelVersion" class="dashAnchor"></a>
<a class="token" href="#/c:@M@CoreStore@objc(pl)CSDynamicSchema(py)modelVersion">modelVersion</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">@objc</span>
<span class="kd">public</span> <span class="k">var</span> <span class="nv">modelVersion</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:9CoreStore12ModelVersiona">ModelVersion</a></span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@CoreStore@objc(pl)CSDynamicSchema(im)rawModel"></a>
<a name="//apple_ref/swift/Method/rawModel()" class="dashAnchor"></a>
<a class="token" href="#/c:@M@CoreStore@objc(pl)CSDynamicSchema(im)rawModel">rawModel()</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">@objc</span>
<span class="kd">public</span> <span class="kd">func</span> <span class="nf">rawModel</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">NSManagedObjectModel</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/CoreStoreObjectiveCType"></a>
<a name="//apple_ref/swift/Section/CoreStoreObjectiveCType" class="dashAnchor"></a>
<a href="#/CoreStoreObjectiveCType">
<h3 class="section-name">CoreStoreObjectiveCType</h3>
</a>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp"></a>
<a name="//apple_ref/swift/Property/bridgeToSwift" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore0aB14ObjectiveCTypeP13bridgeToSwift0G4TypeQzvp">bridgeToSwift</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">let</span> <span class="nv">bridgeToSwift</span><span class="p">:</span> <span class="kt"><a href="../Classes/XcodeDataModelSchema.html">XcodeDataModelSchema</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc"></a>
<a name="//apple_ref/swift/Method/init(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:9CoreStore0aB14ObjectiveCTypePyx9SwiftTypeQzcfc">init(_:)</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">required</span> <span class="nf">init</span><span class="p">(</span><span class="n">_</span> <span class="nv">swiftValue</span><span class="p">:</span> <span class="kt"><a href="../Classes/XcodeDataModelSchema.html">XcodeDataModelSchema</a></span><span class="p">)</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<section class="footer">
<p>&copy; 2018 <a class="link" href="https://github.com/JohnEstropia" target="_blank" rel="external">John Estropia</a>. All rights reserved. (Last updated: 2018-12-19)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>
</html>

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More