From d4deed0cf7cfd713b73a12013a8ff03804abed2d Mon Sep 17 00:00:00 2001 From: jagbryrmiginte Date: Sun, 21 Jul 2019 12:09:53 +0200 Subject: [PATCH 01/58] Specify minimum deployment target for Swift Package Manager, fixes Issue #328 --- Package.swift | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Package.swift b/Package.swift index 271d129..39f6c58 100644 --- a/Package.swift +++ b/Package.swift @@ -28,6 +28,9 @@ import PackageDescription let package = Package( name: "CoreStore", + platforms: [ + .macOS(.v10_12), .iOS(.v10), .tvOS(.v10), .watchOS(.v3) + ], products: [ .library(name: "CoreStore", type: .static, targets: ["CoreStore"]) ], From f0dac2454cc657f9ae14a10491a2be7d06ad90bd Mon Sep 17 00:00:00 2001 From: jagbryrmiginte Date: Sun, 21 Jul 2019 12:12:30 +0200 Subject: [PATCH 02/58] Bump SPM package description to 5.0 to resolve compiler error --- Package.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index 39f6c58..f6ec31f 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:4.2 +// swift-tools-version:5.0 // // Package.swift // CoreStore From 8e3c44c072ed5e2d50af724817fe66e09b321829 Mon Sep 17 00:00:00 2001 From: Pushpendra Date: Fri, 13 Sep 2019 15:27:46 +0530 Subject: [PATCH 03/58] Added Support for Swift 5 Upgraded Xcode build version Added missing reference of for different targets --- .travis.yml | 26 +++++++++++++------------- CoreStore.xcodeproj/project.pbxproj | 12 ++++++++++++ 2 files changed, 25 insertions(+), 13 deletions(-) diff --git a/.travis.yml b/.travis.yml index 48d3626..ebabb75 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ language: objective-c -osx_image: xcode10.2 +osx_image: xcode11 sudo: false git: submodules: false @@ -11,16 +11,16 @@ env: - LANG=en_US.UTF-8 matrix: - 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" + - DESTINATION="OS=12.0,name=iPhone XS" SCHEME="CoreStore iOS" SDK=iphonesimulator13.0 RUN_TESTS="YES" POD_LINT="NO" + - DESTINATION="OS=11.0.1,name=iPhone 8" SCHEME="CoreStore iOS" SDK=iphonesimulator13.0 RUN_TESTS="YES" POD_LINT="NO" + - DESTINATION="OS=10.3.1,name=iPhone 7" SCHEME="CoreStore iOS" SDK=iphonesimulator13.0 RUN_TESTS="YES" POD_LINT="NO" + - DESTINATION="OS=10.1,name=iPhone 7" SCHEME="CoreStore iOS" SDK=iphonesimulator13.0 RUN_TESTS="YES" POD_LINT="NO" + - DESTINATION="OS=4.0,name=Apple Watch - 42mm" SCHEME="CoreStore watchOS" SDK=watchsimulator6.0 RUN_TESTS="NO" POD_LINT="NO" + - DESTINATION="OS=3.2,name=Apple Watch - 42mm" SCHEME="CoreStore watchOS" SDK=watchsimulator6.0 RUN_TESTS="NO" POD_LINT="NO" + - DESTINATION="OS=2.2,name=Apple Watch - 42mm" SCHEME="CoreStore watchOS" SDK=watchsimulator6.0 RUN_TESTS="NO" POD_LINT="NO" + - DESTINATION="OS=12.0,name=Apple TV 4K" SCHEME="CoreStore tvOS" SDK=appletvsimulator13.0 RUN_TESTS="YES" POD_LINT="NO" + - DESTINATION="OS=11.0,name=Apple TV 4K (at 1080p)" SCHEME="CoreStore tvOS" SDK=appletvsimulator13.0 RUN_TESTS="YES" POD_LINT="NO" + - DESTINATION="OS=10.2,name=Apple TV 1080p" SCHEME="CoreStore tvOS" SDK=appletvsimulator13.0 RUN_TESTS="YES" POD_LINT="NO" before_install: - gem install cocoapods --no-rdoc --no-ri --no-document - gem install xcpretty --no-rdoc --no-ri --no-document @@ -34,8 +34,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 "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; + - xcodebuild -workspace "CoreStore.xcworkspace" -scheme "CoreStoreDemo" -sdk "iphonesimulator13.0" -destination "OS=13.0,name=iPhone 8" -configuration Debug ONLY_ACTIVE_ARCH=NO build | xcpretty -c; + - xcodebuild -workspace "CoreStore.xcworkspace" -scheme "CoreStoreDemo" -sdk "iphonesimulator13.0" -destination "OS=13.0,name=iPhone 8" -configuration Release ONLY_ACTIVE_ARCH=NO build | xcpretty -c; - if [ $POD_LINT == "YES" ]; then pod lib lint --quick; fi diff --git a/CoreStore.xcodeproj/project.pbxproj b/CoreStore.xcodeproj/project.pbxproj index c28d06d..8a8f958 100644 --- a/CoreStore.xcodeproj/project.pbxproj +++ b/CoreStore.xcodeproj/project.pbxproj @@ -7,6 +7,12 @@ objects = { /* Begin PBXBuildFile section */ + 18166884232B9ED00097C275 /* KeyPath+KeyPaths.swift in Sources */ = {isa = PBXBuildFile; fileRef = B51B5C2C22D43E38009FA3BA /* KeyPath+KeyPaths.swift */; }; + 18166885232B9ED10097C275 /* KeyPath+KeyPaths.swift in Sources */ = {isa = PBXBuildFile; fileRef = B51B5C2C22D43E38009FA3BA /* KeyPath+KeyPaths.swift */; }; + 18166886232B9ED20097C275 /* KeyPath+KeyPaths.swift in Sources */ = {isa = PBXBuildFile; fileRef = B51B5C2C22D43E38009FA3BA /* KeyPath+KeyPaths.swift */; }; + 18166887232B9ED60097C275 /* String+KeyPaths.swift in Sources */ = {isa = PBXBuildFile; fileRef = B51B5C2A22D43931009FA3BA /* String+KeyPaths.swift */; }; + 18166888232B9ED70097C275 /* String+KeyPaths.swift in Sources */ = {isa = PBXBuildFile; fileRef = B51B5C2A22D43931009FA3BA /* String+KeyPaths.swift */; }; + 18166889232B9ED80097C275 /* String+KeyPaths.swift in Sources */ = {isa = PBXBuildFile; fileRef = B51B5C2A22D43931009FA3BA /* String+KeyPaths.swift */; }; 2F03A53619C5C6DA005002A5 /* CoreStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F03A53519C5C6DA005002A5 /* CoreStore.h */; settings = {ATTRIBUTES = (Public, ); }; }; 2F03A54D19C5C872005002A5 /* CoreData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2F03A54C19C5C872005002A5 /* CoreData.framework */; }; 2F291E2719C6D3CF007AF63F /* CoreStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F291E2619C6D3CF007AF63F /* CoreStore.swift */; }; @@ -2121,6 +2127,7 @@ B509C7F51E54511B0061C547 /* ImportableAttributeType.swift in Sources */, 82BA18B31C4BBD3900A0916E /* ImportableUniqueObject.swift in Sources */, B5E1B5951CAA0C15007FD580 /* CSObjectMonitor.swift in Sources */, + 18166887232B9ED60097C275 /* String+KeyPaths.swift in Sources */, B5ECDC2B1CA81CC700C7F112 /* CSDataStack+Transaction.swift in Sources */, B56923F11EB827F6007C4DC9 /* XcodeSchemaMappingProvider.swift in Sources */, 82BA18A11C4BBD1D00A0916E /* CoreStore.swift in Sources */, @@ -2215,6 +2222,7 @@ B5A991ED1E9DC2CE0091A2E3 /* VersionLock.swift in Sources */, B5ECDBEE1CA6BF2000C7F112 /* CSFrom.swift in Sources */, B52F743E1E9B8724005F3DAC /* DynamicSchema.swift in Sources */, + 18166884232B9ED00097C275 /* KeyPath+KeyPaths.swift in Sources */, B5E8A72121C1015300EF006A /* CoreStoreObject+Observing.swift in Sources */, B5474D162227C08700B21FEC /* CoreStoreFetchRequest.swift in Sources */, B56924001EB82976007C4DC9 /* CSUnsafeDataModelSchema.swift in Sources */, @@ -2316,6 +2324,7 @@ B509C7F71E54511B0061C547 /* ImportableAttributeType.swift in Sources */, B5220E1F1D130810009BC71E /* CSListObserver.swift in Sources */, B52DD1941BE1F92500949AFE /* CoreStore.swift in Sources */, + 18166889232B9ED80097C275 /* String+KeyPaths.swift in Sources */, B52DD1A61BE1F92F00949AFE /* BaseDataTransaction+Importing.swift in Sources */, B56923F31EB827F6007C4DC9 /* XcodeSchemaMappingProvider.swift in Sources */, B5220E1D1D13080A009BC71E /* CSDataStack+Observing.swift in Sources */, @@ -2410,6 +2419,7 @@ B5A991EF1E9DC2CE0091A2E3 /* VersionLock.swift in Sources */, B5220E201D130813009BC71E /* CSObjectMonitor.swift in Sources */, B52F74401E9B8724005F3DAC /* DynamicSchema.swift in Sources */, + 18166886232B9ED20097C275 /* KeyPath+KeyPaths.swift in Sources */, B5E8A72321C1015300EF006A /* CoreStoreObject+Observing.swift in Sources */, B5474D182227C08700B21FEC /* CoreStoreFetchRequest.swift in Sources */, B56924021EB82976007C4DC9 /* CSUnsafeDataModelSchema.swift in Sources */, @@ -2511,6 +2521,7 @@ B509C7F61E54511B0061C547 /* ImportableAttributeType.swift in Sources */, B5E1B5961CAA0C15007FD580 /* CSObjectMonitor.swift in Sources */, B5ECDC2C1CA81CC700C7F112 /* CSDataStack+Transaction.swift in Sources */, + 18166888232B9ED70097C275 /* String+KeyPaths.swift in Sources */, B56321911BD65216006C9394 /* BaseDataTransaction+Importing.swift in Sources */, B56923F21EB827F6007C4DC9 /* XcodeSchemaMappingProvider.swift in Sources */, B546F95A1C99B17400D5AC55 /* CSCoreStore+Setup.swift in Sources */, @@ -2605,6 +2616,7 @@ B5A991EE1E9DC2CE0091A2E3 /* VersionLock.swift in Sources */, B5ECDBEF1CA6BF2000C7F112 /* CSFrom.swift in Sources */, B52F743F1E9B8724005F3DAC /* DynamicSchema.swift in Sources */, + 18166885232B9ED10097C275 /* KeyPath+KeyPaths.swift in Sources */, B5E8A72221C1015300EF006A /* CoreStoreObject+Observing.swift in Sources */, B5474D172227C08700B21FEC /* CoreStoreFetchRequest.swift in Sources */, B56924011EB82976007C4DC9 /* CSUnsafeDataModelSchema.swift in Sources */, From 6d75dcbc329965703aa8bd397a802b87fca1dbd0 Mon Sep 17 00:00:00 2001 From: dmatushkin Date: Sun, 15 Sep 2019 14:57:20 +0400 Subject: [PATCH 04/58] Fix for build on iOS with Swift Package Manager --- Sources/CoreStore+CustomDebugStringConvertible.swift | 2 +- Sources/CoreStoreSchema.swift | 2 +- Sources/DataStack+Migration.swift | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Sources/CoreStore+CustomDebugStringConvertible.swift b/Sources/CoreStore+CustomDebugStringConvertible.swift index 894932a..0973a55 100644 --- a/Sources/CoreStore+CustomDebugStringConvertible.swift +++ b/Sources/CoreStore+CustomDebugStringConvertible.swift @@ -1204,7 +1204,7 @@ extension NSEntityDescription: CoreStoreDebugStringConvertible { info.append(("compoundIndexes", self.compoundIndexes)) } - if #available(macOS 10.11, *) { + if #available(macOS 10.11, iOS 9.0, *) { info.append(("uniquenessConstraints", self.uniquenessConstraints)) } diff --git a/Sources/CoreStoreSchema.swift b/Sources/CoreStoreSchema.swift index 0db2166..967e763 100644 --- a/Sources/CoreStoreSchema.swift +++ b/Sources/CoreStoreSchema.swift @@ -451,7 +451,7 @@ public final class CoreStoreSchema: DynamicSchema { } for (entity, entityDescription) in entityDescriptionsByEntity { - if #available(macOS 10.11, *) { + if #available(macOS 10.11, iOS 9.0, *) { let uniqueConstraints = entity.uniqueConstraints.filter({ !$0.isEmpty }) if !uniqueConstraints.isEmpty { diff --git a/Sources/DataStack+Migration.swift b/Sources/DataStack+Migration.swift index bda75e1..12632fa 100644 --- a/Sources/DataStack+Migration.swift +++ b/Sources/DataStack+Migration.swift @@ -750,7 +750,7 @@ extension DataStack { } let fileManager = FileManager.default let systemTemporaryDirectoryURL: URL - if #available(macOS 10.12, *) { + if #available(macOS 10.12, iOS 10.0, *) { systemTemporaryDirectoryURL = fileManager.temporaryDirectory } From c5a996d5ed62e0511a17b6f3138a42d50cc9d665 Mon Sep 17 00:00:00 2001 From: John Estropia Date: Fri, 4 Oct 2019 08:43:04 +0900 Subject: [PATCH 05/58] WIP: do not use yet --- CoreStore.xcodeproj/project.pbxproj | 20 ++ .../CoreStoreDemo.xcodeproj/project.pbxproj | 20 ++ .../CoreStoreDemo/Base.lproj/Main.storyboard | 185 +++++++----- .../CoreStoreDemo/MenuViewController.swift | 92 ++++++ .../SwiftUIHostingController.swift | 22 ++ .../SwiftUI Demo/SwiftUIView.swift | 90 ++++++ Sources/Internals.DiffDelegate.swift | 276 ++++++++++++++++++ Sources/LiveList.swift | 130 +++++++++ 8 files changed, 761 insertions(+), 74 deletions(-) create mode 100644 CoreStoreDemo/CoreStoreDemo/MenuViewController.swift create mode 100644 CoreStoreDemo/CoreStoreDemo/SwiftUI Demo/SwiftUIHostingController.swift create mode 100644 CoreStoreDemo/CoreStoreDemo/SwiftUI Demo/SwiftUIView.swift create mode 100644 Sources/Internals.DiffDelegate.swift create mode 100644 Sources/LiveList.swift diff --git a/CoreStore.xcodeproj/project.pbxproj b/CoreStore.xcodeproj/project.pbxproj index e4f95bb..075a457 100644 --- a/CoreStore.xcodeproj/project.pbxproj +++ b/CoreStore.xcodeproj/project.pbxproj @@ -70,6 +70,14 @@ 82BA18D81C4BBD7100A0916E /* Internals.WeakObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5E84F2D1AFF849C0064E85B /* Internals.WeakObject.swift */; }; 82BA18DC1C4BBD9C00A0916E /* Model.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = B5D372821A39CD6900F583D9 /* Model.xcdatamodeld */; }; 82BA18DD1C4BBE1400A0916E /* NSFetchedResultsController+Convenience.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5202CF91C04688100DED140 /* NSFetchedResultsController+Convenience.swift */; }; + B501322A2344ECB500FC238B /* LiveList.swift in Sources */ = {isa = PBXBuildFile; fileRef = B50132292344ECB500FC238B /* LiveList.swift */; }; + B501322B2346A9AE00FC238B /* LiveList.swift in Sources */ = {isa = PBXBuildFile; fileRef = B50132292344ECB500FC238B /* LiveList.swift */; }; + B501322D2346A9B000FC238B /* LiveList.swift in Sources */ = {isa = PBXBuildFile; fileRef = B50132292344ECB500FC238B /* LiveList.swift */; }; + B501322E2346A9B100FC238B /* LiveList.swift in Sources */ = {isa = PBXBuildFile; fileRef = B50132292344ECB500FC238B /* LiveList.swift */; }; + B50132302346B76E00FC238B /* Internals.DiffDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B501322F2346B76E00FC238B /* Internals.DiffDelegate.swift */; }; + B50132312346B76E00FC238B /* Internals.DiffDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B501322F2346B76E00FC238B /* Internals.DiffDelegate.swift */; }; + B50132322346B76E00FC238B /* Internals.DiffDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B501322F2346B76E00FC238B /* Internals.DiffDelegate.swift */; }; + B50132332346B76E00FC238B /* Internals.DiffDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B501322F2346B76E00FC238B /* Internals.DiffDelegate.swift */; }; B501FDDD1CA8D05000BE22EF /* CSSectionBy.swift in Sources */ = {isa = PBXBuildFile; fileRef = B501FDDC1CA8D05000BE22EF /* CSSectionBy.swift */; }; B501FDDF1CA8D05000BE22EF /* CSSectionBy.swift in Sources */ = {isa = PBXBuildFile; fileRef = B501FDDC1CA8D05000BE22EF /* CSSectionBy.swift */; }; B501FDE01CA8D05000BE22EF /* CSSectionBy.swift in Sources */ = {isa = PBXBuildFile; fileRef = B501FDDC1CA8D05000BE22EF /* CSSectionBy.swift */; }; @@ -775,6 +783,8 @@ 82BA18DE1C4BBE2600A0916E /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS9.1.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; 82BA18E01C4BBE2C00A0916E /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS9.1.sdk/System/Library/Frameworks/CoreData.framework; sourceTree = DEVELOPER_DIR; }; B500810F2290CDF800F4CEA5 /* bitrise.yml */ = {isa = PBXFileReference; lastKnownFileType = text; path = bitrise.yml; sourceTree = SOURCE_ROOT; }; + B50132292344ECB500FC238B /* LiveList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LiveList.swift; sourceTree = ""; }; + B501322F2346B76E00FC238B /* Internals.DiffDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Internals.DiffDelegate.swift; sourceTree = ""; }; B501FDDC1CA8D05000BE22EF /* CSSectionBy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CSSectionBy.swift; sourceTree = ""; }; B501FDE11CA8D1F500BE22EF /* CSListMonitor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CSListMonitor.swift; sourceTree = ""; }; B501FDE61CA8D20500BE22EF /* CSListObserver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CSListObserver.swift; sourceTree = ""; }; @@ -1536,6 +1546,7 @@ B5E84F1C1AFF84860064E85B /* ObjectMonitor.swift */, B5E84F1F1AFF84860064E85B /* ObjectObserver.swift */, B5E84F1D1AFF84860064E85B /* ListMonitor.swift */, + B50132292344ECB500FC238B /* LiveList.swift */, B5E84F1E1AFF84860064E85B /* ListObserver.swift */, ); name = Observing; @@ -1564,6 +1575,7 @@ B5474D142227C08700B21FEC /* Internals.CoreStoreFetchRequest.swift */, B51260921E9B28F100402229 /* Internals.EntityIdentifier.swift */, B54A6A541BA15F2A007870FD /* Internals.FetchedResultsControllerDelegate.swift */, + B501322F2346B76E00FC238B /* Internals.DiffDelegate.swift */, B5FAD6AB1B51285300714891 /* Internals.MigrationManager.swift */, B5E84F2B1AFF849C0064E85B /* Internals.NotificationObserver.swift */, B5DE522A230BD7CC00A22534 /* Internals.swift */, @@ -1921,6 +1933,7 @@ B5ECDBFF1CA80CBA00C7F112 /* CSWhere.swift in Sources */, B5ECDC051CA8138100C7F112 /* CSOrderBy.swift in Sources */, B5E1B5981CAA0C23007FD580 /* CSObjectObserver.swift in Sources */, + B501322A2344ECB500FC238B /* LiveList.swift in Sources */, B5DAFB4A2203E01D003FCCD0 /* KeyPathGenericBindings.swift in Sources */, B5519A5F1CA21954002BEF78 /* CSAsynchronousDataTransaction.swift in Sources */, B52FD3AA1E3B3EF10001D919 /* NSManagedObject+Logging.swift in Sources */, @@ -1943,6 +1956,7 @@ B51B5C2D22D43E38009FA3BA /* KeyPath+KeyPaths.swift in Sources */, B5E5FA4E22D162F400330931 /* ObjectSnapshot.swift in Sources */, B5E1B5A81CAA49E2007FD580 /* CSDataStack+Migrating.swift in Sources */, + B50132302346B76E00FC238B /* Internals.DiffDelegate.swift in Sources */, B5D339F11E94AF5800C880DE /* CoreStoreStrings.swift in Sources */, B56007161B4018AB00A9A8F9 /* MigrationChain.swift in Sources */, B5E1B59D1CAA2568007FD580 /* CSDataStack+Observing.swift in Sources */, @@ -2170,6 +2184,7 @@ 82BA18C11C4BBD5300A0916E /* CoreStore+Observing.swift in Sources */, 82BA18BC1C4BBD4A00A0916E /* OrderBy.swift in Sources */, 82BA18B01C4BBD3100A0916E /* NSManagedObject+Transaction.swift in Sources */, + B50132312346B76E00FC238B /* Internals.DiffDelegate.swift in Sources */, 82BA18D41C4BBD7100A0916E /* NSManagedObjectContext+Querying.swift in Sources */, 82BA18D51C4BBD7100A0916E /* NSManagedObjectContext+Setup.swift in Sources */, B501FDE91CA8D20500BE22EF /* CSListObserver.swift in Sources */, @@ -2244,6 +2259,7 @@ 18166884232B9ED00097C275 /* KeyPath+KeyPaths.swift in Sources */, B5E8A72121C1015300EF006A /* CoreStoreObject+Observing.swift in Sources */, B5474D162227C08700B21FEC /* Internals.CoreStoreFetchRequest.swift in Sources */, + B501322B2346A9AE00FC238B /* LiveList.swift in Sources */, B56924001EB82976007C4DC9 /* CSUnsafeDataModelSchema.swift in Sources */, B5215CAF1FA4812500139E3A /* SectionMonitorBuilder.swift in Sources */, 82BA18D61C4BBD7100A0916E /* NSManagedObjectContext+Transaction.swift in Sources */, @@ -2368,6 +2384,7 @@ B52DD1C81BE1F94600949AFE /* NSManagedObjectContext+Setup.swift in Sources */, B52DD1C31BE1F94600949AFE /* Internals.NotificationObserver.swift in Sources */, B52DD1A81BE1F93200949AFE /* DataStack+Querying.swift in Sources */, + B50132332346B76E00FC238B /* Internals.DiffDelegate.swift in Sources */, B5220E221D130818009BC71E /* CSSectionBy.swift in Sources */, B52DD1BC1BE1F94000949AFE /* MigrationResult.swift in Sources */, B52DD19D1BE1F92C00949AFE /* BaseDataTransaction.swift in Sources */, @@ -2442,6 +2459,7 @@ 18166886232B9ED20097C275 /* KeyPath+KeyPaths.swift in Sources */, B5E8A72321C1015300EF006A /* CoreStoreObject+Observing.swift in Sources */, B5474D182227C08700B21FEC /* Internals.CoreStoreFetchRequest.swift in Sources */, + B501322E2346A9B100FC238B /* LiveList.swift in Sources */, B56924021EB82976007C4DC9 /* CSUnsafeDataModelSchema.swift in Sources */, B5215CB11FA4812500139E3A /* SectionMonitorBuilder.swift in Sources */, B5220E171D1306DF009BC71E /* UnsafeDataTransaction+Observing.swift in Sources */, @@ -2566,6 +2584,7 @@ B56321971BD65216006C9394 /* Select.swift in Sources */, B56321AB1BD6521C006C9394 /* Internals.FetchedResultsControllerDelegate.swift in Sources */, B563219C1BD65216006C9394 /* SectionBy.swift in Sources */, + B50132322346B76E00FC238B /* Internals.DiffDelegate.swift in Sources */, B56321B21BD6521C006C9394 /* NSManagedObjectContext+Querying.swift in Sources */, B5FE4DA41C8481E100FA6A91 /* StorageInterface.swift in Sources */, B56321B31BD6521C006C9394 /* NSManagedObjectContext+Setup.swift in Sources */, @@ -2640,6 +2659,7 @@ 18166885232B9ED10097C275 /* KeyPath+KeyPaths.swift in Sources */, B5E8A72221C1015300EF006A /* CoreStoreObject+Observing.swift in Sources */, B5474D172227C08700B21FEC /* Internals.CoreStoreFetchRequest.swift in Sources */, + B501322D2346A9B000FC238B /* LiveList.swift in Sources */, B56924011EB82976007C4DC9 /* CSUnsafeDataModelSchema.swift in Sources */, B5215CB01FA4812500139E3A /* SectionMonitorBuilder.swift in Sources */, B56321B41BD6521C006C9394 /* NSManagedObjectContext+Transaction.swift in Sources */, diff --git a/CoreStoreDemo/CoreStoreDemo.xcodeproj/project.pbxproj b/CoreStoreDemo/CoreStoreDemo.xcodeproj/project.pbxproj index 9d3c230..ac94d63 100644 --- a/CoreStoreDemo/CoreStoreDemo.xcodeproj/project.pbxproj +++ b/CoreStoreDemo/CoreStoreDemo.xcodeproj/project.pbxproj @@ -7,6 +7,9 @@ objects = { /* Begin PBXBuildFile section */ + B50132242344E24300FC238B /* SwiftUIView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B50132232344E24300FC238B /* SwiftUIView.swift */; }; + B50132262344E44B00FC238B /* MenuViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B50132252344E44B00FC238B /* MenuViewController.swift */; }; + B50132282344E5E900FC238B /* SwiftUIHostingController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B50132272344E5E900FC238B /* SwiftUIHostingController.swift */; }; B503FADF1AFDC71700F90881 /* ListObserverDemoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B503FADB1AFDC71700F90881 /* ListObserverDemoViewController.swift */; }; B503FAE01AFDC71700F90881 /* ObjectObserverDemoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B503FADC1AFDC71700F90881 /* ObjectObserverDemoViewController.swift */; }; B503FAE11AFDC71700F90881 /* Palette.swift in Sources */ = {isa = PBXBuildFile; fileRef = B503FADD1AFDC71700F90881 /* Palette.swift */; }; @@ -59,6 +62,9 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + B50132232344E24300FC238B /* SwiftUIView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftUIView.swift; sourceTree = ""; }; + B50132252344E44B00FC238B /* MenuViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MenuViewController.swift; sourceTree = ""; }; + B50132272344E5E900FC238B /* SwiftUIHostingController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftUIHostingController.swift; sourceTree = ""; }; B503FADB1AFDC71700F90881 /* ListObserverDemoViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ListObserverDemoViewController.swift; sourceTree = ""; }; B503FADC1AFDC71700F90881 /* ObjectObserverDemoViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ObjectObserverDemoViewController.swift; sourceTree = ""; }; B503FADD1AFDC71700F90881 /* Palette.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Palette.swift; sourceTree = ""; }; @@ -114,6 +120,15 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + B50132222344E20B00FC238B /* SwiftUI Demo */ = { + isa = PBXGroup; + children = ( + B50132232344E24300FC238B /* SwiftUIView.swift */, + B50132272344E5E900FC238B /* SwiftUIHostingController.swift */, + ); + path = "SwiftUI Demo"; + sourceTree = ""; + }; B503FADA1AFDC71700F90881 /* List and Object Observers Demo */ = { isa = PBXGroup; children = ( @@ -166,6 +181,8 @@ isa = PBXGroup; children = ( B54AAD4E1AF4D26E00848AE0 /* AppDelegate.swift */, + B50132252344E44B00FC238B /* MenuViewController.swift */, + B50132222344E20B00FC238B /* SwiftUI Demo */, B566E3271B117AE700F4F0C6 /* Stack Setup Demo */, B503FADA1AFDC71700F90881 /* List and Object Observers Demo */, B52977DB1B120F2C003D50A5 /* Transactions Demo */, @@ -311,6 +328,7 @@ buildActionMask = 2147483647; files = ( B56965181B2E20CC0075EE4A /* TimeZone.swift in Sources */, + B50132262344E44B00FC238B /* MenuViewController.swift in Sources */, B56965291B3582D30075EE4A /* MigrationDemo.xcdatamodeld in Sources */, B5E599321B5240F50084BD5F /* OrganismTableViewCell.swift in Sources */, B5EE25851B36E23C0000406B /* OrganismV1.swift in Sources */, @@ -332,10 +350,12 @@ B560070F1B3EC90F00A9A8F9 /* OrganismV2ToV3MigrationPolicy.swift in Sources */, B503FADF1AFDC71700F90881 /* ListObserverDemoViewController.swift in Sources */, B54AAD4F1AF4D26E00848AE0 /* AppDelegate.swift in Sources */, + B50132282344E5E900FC238B /* SwiftUIHostingController.swift in Sources */, B56964D71B231AE90075EE4A /* StackSetupDemo.xcdatamodeld in Sources */, B56964DC1B231BCB0075EE4A /* FemaleAccount.swift in Sources */, B5EE259E1B3EC1B20000406B /* OrganismProtocol.swift in Sources */, B5EE258C1B36E40D0000406B /* MigrationsDemoViewController.swift in Sources */, + B50132242344E24300FC238B /* SwiftUIView.swift in Sources */, B569651C1B30889A0075EE4A /* QueryingResultsViewController.swift in Sources */, B5125C121B521B78003A42C7 /* OrganismV2ToV3.xcmappingmodel in Sources */, ); diff --git a/CoreStoreDemo/CoreStoreDemo/Base.lproj/Main.storyboard b/CoreStoreDemo/CoreStoreDemo/Base.lproj/Main.storyboard index ef13862..3a6c376 100644 --- a/CoreStoreDemo/CoreStoreDemo/Base.lproj/Main.storyboard +++ b/CoreStoreDemo/CoreStoreDemo/Base.lproj/Main.storyboard @@ -1,11 +1,9 @@ - - - - + + - + @@ -68,10 +66,10 @@ - + - +