├── .DS_Store ├── SwiftUI Core Data Test ├── .DS_Store ├── Supporting Files │ ├── Assets.xcassets │ │ ├── Contents.json │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── SwiftUI Core Data Test.entitlements │ ├── Base.lproj │ │ └── LaunchScreen.storyboard │ └── Info.plist ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json ├── Core Data Model │ ├── .DS_Store │ ├── SwiftUI_Core_Data_Test.xcdatamodeld │ │ ├── .xccurrentversion │ │ └── SwiftUI_Core_Data_Test.xcdatamodel │ │ │ └── contents │ ├── Attribute+CoreDataProperties.swift │ ├── Item+CoreDataProperties.swift │ ├── ManagedObjectContextDidSaveNotifications.swift │ ├── CoreData.swift │ ├── Item+CoreDataClass.swift │ ├── Attribute+CoreDataClass.swift │ └── CoreDataDataSource.swift ├── Delegates │ ├── UserEnvironment.swift │ ├── AppDelegate.swift │ └── SceneDelegate.swift ├── Selections │ ├── ItemSelectionManager.swift │ ├── CheckmarkToggleStyle.swift │ ├── AddDeleteToggleStyle.swift │ ├── ListSelectionManager.swift │ └── ItemSelectionView.swift ├── Helper Views │ ├── ActivateButton.swift │ ├── HiddenNavigationLink.swift │ └── EditSaveDoneButton.swift ├── Item Views │ ├── AttributeListCell.swift │ ├── ItemListCell.swift │ ├── AttributeFormView.swift │ ├── AttributeAddView.swift │ ├── ItemAddView.swift │ ├── AttributeEditView.swift │ ├── ItemFormView.swift │ ├── ItemListView.swift │ └── ItemEditView.swift ├── Search │ ├── SearchView.swift │ └── SearchBar.swift ├── Tab View │ └── ContentView.swift └── Grouped │ └── AttributesGroupedView.swift ├── SwiftUI Core Data Test.xcodeproj ├── xcuserdata │ └── Chuck.xcuserdatad │ │ ├── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist │ │ └── xcschemes │ │ └── xcschememanagement.plist ├── project.xcworkspace │ ├── contents.xcworkspacedata │ ├── xcuserdata │ │ └── Chuck.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist └── project.pbxproj ├── README.md └── CodeExamples.swift /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Whiffer/SwiftUI-Core-Data-Test/HEAD/.DS_Store -------------------------------------------------------------------------------- /SwiftUI Core Data Test/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Whiffer/SwiftUI-Core-Data-Test/HEAD/SwiftUI Core Data Test/.DS_Store -------------------------------------------------------------------------------- /SwiftUI Core Data Test/Supporting Files/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /SwiftUI Core Data Test/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /SwiftUI Core Data Test/Core Data Model/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Whiffer/SwiftUI-Core-Data-Test/HEAD/SwiftUI Core Data Test/Core Data Model/.DS_Store -------------------------------------------------------------------------------- /SwiftUI Core Data Test.xcodeproj/xcuserdata/Chuck.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /SwiftUI Core Data Test.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /SwiftUI Core Data Test.xcodeproj/project.xcworkspace/xcuserdata/Chuck.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Whiffer/SwiftUI-Core-Data-Test/HEAD/SwiftUI Core Data Test.xcodeproj/project.xcworkspace/xcuserdata/Chuck.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /SwiftUI Core Data Test.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /SwiftUI Core Data Test/Delegates/UserEnvironment.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UserEnvironment.swift 3 | // SwiftUI Core Data Test 4 | // 5 | // Created by Chuck Hartman on 8/23/19. 6 | // Copyright © 2019 ForeTheGreen. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import SwiftUI 11 | 12 | class UserEnvironment: ObservableObject { 13 | 14 | } 15 | -------------------------------------------------------------------------------- /SwiftUI Core Data Test/Core Data Model/SwiftUI_Core_Data_Test.xcdatamodeld/.xccurrentversion: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | _XCCurrentVersionName 6 | SwiftUI_Core_Data_Test.xcdatamodel 7 | 8 | 9 | -------------------------------------------------------------------------------- /SwiftUI Core Data Test/Supporting Files/SwiftUI Core Data Test.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | com.apple.security.network.client 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /SwiftUI Core Data Test.xcodeproj/xcuserdata/Chuck.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | SwiftUI Core Data Test.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 139CD87822C2A4D500E99642 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /SwiftUI Core Data Test/Core Data Model/Attribute+CoreDataProperties.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Attribute+CoreDataProperties.swift 3 | // SwiftUI Core Data Test 4 | // 5 | // Created by Chuck Hartman on 8/19/19. 6 | // Copyright © 2019 ForeTheGreen. All rights reserved. 7 | // 8 | // 9 | 10 | import Foundation 11 | import CoreData 12 | 13 | 14 | extension Attribute { 15 | 16 | @nonobjc public class func fetchRequest() -> NSFetchRequest { 17 | return NSFetchRequest(entityName: "Attribute") 18 | } 19 | 20 | @NSManaged public var name: String 21 | @NSManaged public var order: Int32 22 | @NSManaged public var item: Item 23 | 24 | } 25 | -------------------------------------------------------------------------------- /SwiftUI Core Data Test/Selections/ItemSelectionManager.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ItemSelectionManager.swift 3 | // SwiftUI Core Data Test 4 | // 5 | // Created by Chuck Hartman on 8/7/19. 6 | // Copyright © 2019 ForeTheGreen. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | class ItemSelectionManager: ListSelectionManager { 12 | 13 | override func select(_ value: Item) { 14 | super.select(value) 15 | 16 | value.update(selected: true, commit: true) 17 | } 18 | 19 | override func deselect(_ value: Item) { 20 | super.deselect(value) 21 | 22 | value.update(selected: false, commit: true) 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /SwiftUI Core Data Test/Core Data Model/Item+CoreDataProperties.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Item+CoreDataProperties.swift 3 | // SwiftUI Core Data Test 4 | // 5 | // Created by Chuck Hartman on 8/19/19. 6 | // Copyright © 2019 ForeTheGreen. All rights reserved. 7 | // 8 | // 9 | 10 | import Foundation 11 | import CoreData 12 | 13 | 14 | extension Item { 15 | 16 | @nonobjc public class func fetchRequest() -> NSFetchRequest { 17 | return NSFetchRequest(entityName: "Item") 18 | } 19 | 20 | @NSManaged public var name: String 21 | @NSManaged public var order: Int32 22 | @NSManaged public var selected: Bool 23 | @NSManaged public var attribute: Attribute 24 | 25 | } 26 | -------------------------------------------------------------------------------- /SwiftUI Core Data Test/Helper Views/ActivateButton.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ActivateButton.swift 3 | // MyContainers 4 | // 5 | // Created by Chuck Hartman on 11/16/19. 6 | // Copyright © 2019 ForeTheGreen. All rights reserved. 7 | // 8 | 9 | import SwiftUI 10 | 11 | struct ActivateButton