├── .github └── ISSUE_TEMPLATE │ ├── swiftui-template---release-0-2.md │ └── swiftui-template---release-0-6.md ├── 01 ├── 01 │ └── HelloWorld │ │ ├── HelloWorld.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── HelloWorld │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── ContentView.swift │ │ ├── HelloWorldApp.swift │ │ └── Preview Content │ │ └── Preview Assets.xcassets │ │ └── Contents.json ├── 02 │ └── HelloWorld │ │ ├── HelloWorld.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── HelloWorld │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── ContentView.swift │ │ ├── HelloWorldApp.swift │ │ └── Preview Content │ │ └── Preview Assets.xcassets │ │ └── Contents.json └── 03 │ ├── HelloWorld 2 │ ├── HelloWorld.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ └── HelloWorld │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── ContentView.swift │ │ ├── HelloWorldApp.swift │ │ ├── Info.plist │ │ └── Preview Content │ │ └── Preview Assets.xcassets │ │ └── Contents.json │ └── HelloWorld │ ├── HelloWorld.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── dimsum.xcuserdatad │ │ ├── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist │ │ └── xcschemes │ │ └── xcschememanagement.plist │ └── HelloWorld │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── ContentView.swift │ ├── HelloWorldApp.swift │ └── Preview Content │ └── Preview Assets.xcassets │ └── Contents.json ├── 02 ├── 01 │ └── HelloSwiftUI │ │ ├── HelloSwiftUI.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── HelloSwiftUI │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── ContentView.swift │ │ ├── HelloSwiftUIApp.swift │ │ └── Preview Content │ │ └── Preview Assets.xcassets │ │ └── Contents.json ├── 02 │ └── HelloSwiftUI │ │ ├── HelloSwiftUI.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── HelloSwiftUI │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── ContentView.swift │ │ ├── HelloSwiftUIApp.swift │ │ └── Preview Content │ │ └── Preview Assets.xcassets │ │ └── Contents.json ├── 03 │ └── HelloSwiftUI │ │ ├── HelloSwiftUI.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ ├── xcshareddata │ │ │ └── xcschemes │ │ │ │ └── HelloSwiftUI.xcscheme │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── HelloSwiftUI │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Contents.json │ │ └── Cover.imageset │ │ │ ├── Contents.json │ │ │ └── Cover.png │ │ ├── ContentView.swift │ │ ├── HelloSwiftUIApp.swift │ │ └── Preview Content │ │ └── Preview Assets.xcassets │ │ └── Contents.json ├── 04 │ └── HelloSwiftUI │ │ ├── HelloSwiftUI.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ ├── xcshareddata │ │ │ └── xcschemes │ │ │ │ └── HelloSwiftUI.xcscheme │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── HelloSwiftUI │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Contents.json │ │ └── Cover.imageset │ │ │ ├── Contents.json │ │ │ └── Cover.png │ │ ├── ContentView.swift │ │ ├── HelloSwiftUIApp.swift │ │ └── Preview Content │ │ └── Preview Assets.xcassets │ │ └── Contents.json ├── 05 │ └── HelloSwiftUI │ │ ├── HelloSwiftUI.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ ├── xcshareddata │ │ │ └── xcschemes │ │ │ │ └── HelloSwiftUI.xcscheme │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── HelloSwiftUI │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Contents.json │ │ └── Cover.imageset │ │ │ ├── Contents.json │ │ │ └── Cover.png │ │ ├── ContentView.swift │ │ ├── HelloSwiftUIApp.swift │ │ └── Preview Content │ │ └── Preview Assets.xcassets │ │ └── Contents.json ├── 06 │ └── HelloSwiftUI │ │ ├── HelloSwiftUI.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ ├── xcshareddata │ │ │ └── xcschemes │ │ │ │ └── HelloSwiftUI.xcscheme │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── HelloSwiftUI │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Contents.json │ │ └── Cover.imageset │ │ │ ├── Contents.json │ │ │ └── Cover.png │ │ ├── ContentView.swift │ │ ├── HelloSwiftUIApp.swift │ │ └── Preview Content │ │ └── Preview Assets.xcassets │ │ └── Contents.json ├── 07 │ └── HelloSwiftUI │ │ ├── HelloSwiftUI.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ ├── xcshareddata │ │ │ └── xcschemes │ │ │ │ └── HelloSwiftUI.xcscheme │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── HelloSwiftUI │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Contents.json │ │ └── Cover.imageset │ │ │ ├── Contents.json │ │ │ └── Cover.png │ │ ├── ContentView.swift │ │ ├── HelloSwiftUIApp.swift │ │ └── Preview Content │ │ └── Preview Assets.xcassets │ │ └── Contents.json ├── 08 │ └── HelloSwiftUI │ │ ├── HelloSwiftUI.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ ├── xcshareddata │ │ │ └── xcschemes │ │ │ │ └── HelloSwiftUI.xcscheme │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── HelloSwiftUI │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Contents.json │ │ └── Cover.imageset │ │ │ ├── Contents.json │ │ │ └── Cover.png │ │ ├── CheckerBoard.swift │ │ ├── ContentView.swift │ │ ├── HelloSwiftUIApp.swift │ │ └── Preview Content │ │ └── Preview Assets.xcassets │ │ └── Contents.json ├── 09 │ └── HelloSwiftUI │ │ ├── HelloSwiftUI.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ ├── xcshareddata │ │ │ └── xcschemes │ │ │ │ └── HelloSwiftUI.xcscheme │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── HelloSwiftUI │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Contents.json │ │ └── Cover.imageset │ │ │ ├── Contents.json │ │ │ └── Cover.png │ │ ├── CheckerBoard.swift │ │ ├── ContentView.swift │ │ ├── HelloSwiftUIApp.swift │ │ └── Preview Content │ │ └── Preview Assets.xcassets │ │ └── Contents.json └── Cover.png ├── 03 ├── 01 │ └── Action │ │ ├── Action.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── Action │ │ ├── ActionApp.swift │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── ContentView.swift │ │ └── Preview Content │ │ └── Preview Assets.xcassets │ │ └── Contents.json ├── 02 │ └── Action │ │ ├── Action.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── Action │ │ ├── ActionApp.swift │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── ContentView.swift │ │ └── Preview Content │ │ └── Preview Assets.xcassets │ │ └── Contents.json ├── 03 │ └── Action │ │ ├── Action.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── Action │ │ ├── ActionApp.swift │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── ContentView.swift │ │ ├── IntDisplay.swift │ │ └── Preview Content │ │ └── Preview Assets.xcassets │ │ └── Contents.json ├── 04 │ └── Action │ │ ├── Action.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── Action │ │ ├── ActionApp.swift │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── ContentView.swift │ │ ├── DisplayModifier.swift │ │ ├── DoubleBorderButtonStyle.swift │ │ ├── IntDisplay.swift │ │ └── Preview Content │ │ └── Preview Assets.xcassets │ │ └── Contents.json ├── 05 │ └── Action │ │ ├── Action.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── Action │ │ ├── ActionApp.swift │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── ContentView.swift │ │ ├── DisplayModifier.swift │ │ ├── DoubleBorderButtonStyle.swift │ │ ├── IntDisplay.swift │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ └── SymbolButton.swift ├── 06 │ └── Action │ │ ├── Action.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── Action │ │ ├── ActionApp.swift │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── ContentView.swift │ │ ├── DecreaseButton.swift │ │ ├── DisplayModifier.swift │ │ ├── DoubleBorderButtonStyle.swift │ │ ├── IncreaseButton.swift │ │ ├── IntDisplay.swift │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ └── SymbolButton.swift ├── 07 │ └── Action │ │ ├── Action.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── Action │ │ ├── ActionApp.swift │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── ContentView.swift │ │ ├── DecreaseButton.swift │ │ ├── DisplayModifier.swift │ │ ├── DoubleBorderButtonStyle.swift │ │ ├── IncreaseButton.swift │ │ ├── IntDisplay.swift │ │ ├── Model.swift │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ └── SymbolButton.swift └── 08 │ └── Action │ ├── Action.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── dimsum.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist │ └── Action │ ├── ActionApp.swift │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── ContentView.swift │ ├── DecreaseButton.swift │ ├── DisplayModifier.swift │ ├── DoubleBorderButtonStyle.swift │ ├── IncreaseButton.swift │ ├── IntDisplay.swift │ ├── Model.swift │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ └── SymbolButton.swift ├── 04 ├── 01 copy │ └── Symbols │ │ ├── Symbols.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── Symbols │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── ContentView.swift │ │ ├── Model │ │ ├── ObjectsAndTools.swift │ │ └── Utilities.swift │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ ├── SurroundLabelStyle.swift │ │ ├── SymbolsApp.swift │ │ └── SystemLabel.swift ├── 01 │ └── SymbolExplorer │ │ ├── SymbolExplorer.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── SymbolExplorer │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── ContentView.swift │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ └── SymbolExplorerApp.swift ├── 02 │ └── Symbols │ │ ├── Symbols.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── Symbols │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── ContentView.swift │ │ ├── Model │ │ ├── ObjectsAndTools.swift │ │ ├── Symbol.swift │ │ └── Utilities.swift │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ ├── SurroundLabelStyle.swift │ │ ├── SymbolsApp.swift │ │ └── SystemLabel.swift ├── 03 │ └── Symbols │ │ ├── Symbols.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── Symbols │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── ContentView.swift │ │ ├── Model │ │ ├── ObjectsAndTools.swift │ │ ├── Symbol.swift │ │ └── Utilities.swift │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ ├── SurroundLabelStyle.swift │ │ ├── SymbolsApp.swift │ │ └── SystemLabel.swift ├── 04 │ └── Symbols │ │ ├── Symbols.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── Symbols │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── ContentView.swift │ │ ├── Model │ │ ├── ObjectsAndTools.swift │ │ ├── Symbol.swift │ │ └── Utilities.swift │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ ├── SurroundLabelStyle.swift │ │ ├── SymbolsApp.swift │ │ └── SystemLabel.swift ├── 05 │ └── Symbols │ │ ├── Symbols.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── Symbols │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── ContentView.swift │ │ ├── Model │ │ ├── ObjectsAndTools.swift │ │ ├── Symbol.swift │ │ └── Utilities.swift │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ ├── SurroundLabelStyle.swift │ │ ├── SymbolsApp.swift │ │ └── SystemLabel.swift ├── 06 │ └── Symbols │ │ ├── Symbols.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── Symbols │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── ContentView.swift │ │ ├── Model │ │ ├── Node.swift │ │ ├── ObjectsAndTools.swift │ │ ├── Symbol.swift │ │ └── Utilities.swift │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ ├── SurroundLabelStyle.swift │ │ ├── SymbolsApp.swift │ │ └── SystemLabel.swift ├── 07 │ └── Symbols │ │ ├── Symbols.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── Symbols │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── ContentView.swift │ │ ├── Model │ │ ├── Node.swift │ │ ├── ObjectsAndTools.swift │ │ ├── Symbol.swift │ │ └── Utilities.swift │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ ├── SurroundLabelStyle.swift │ │ ├── SymbolsApp.swift │ │ └── SystemLabel.swift ├── Extras │ ├── ObjectsAndTools.swift │ └── Utilities.swift └── SymbolExtras │ ├── .gitignore │ ├── Package.swift │ └── Sources │ └── SymbolExtras │ ├── Node.swift │ ├── ObjectsAndTools.swift │ ├── SingleNames.swift │ ├── Symbol.swift │ ├── TabColors.swift │ └── Utilities.swift ├── 05 ├── 01 │ └── CheckIn │ │ ├── CheckIn.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── CheckIn │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── CheckInApp.swift │ │ ├── ContentView.swift │ │ ├── CurrentView.swift │ │ ├── HistoryView.swift │ │ └── Preview Content │ │ └── Preview Assets.xcassets │ │ └── Contents.json ├── 02 │ └── CheckIn │ │ ├── CheckIn.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── CheckIn │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── CheckInApp.swift │ │ ├── ContentView.swift │ │ ├── CurrentView.swift │ │ ├── CurrentViewSupport.swift │ │ ├── HistoryView.swift │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ └── TextEntryModifier.swift ├── 03 │ └── CheckIn │ │ ├── CheckIn.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── CheckIn │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── CheckInApp.swift │ │ ├── ContentView.swift │ │ ├── CurrentView.swift │ │ ├── CurrentViewSupport.swift │ │ ├── HistoryView.swift │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ └── TextEntryModifier.swift ├── 04 │ └── CheckIn │ │ ├── CheckIn.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── CheckIn │ │ ├── AccentColorPicker.swift │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── CheckInApp.swift │ │ ├── ContentView.swift │ │ ├── CurrentView.swift │ │ ├── CurrentViewSupport.swift │ │ ├── HistoryView.swift │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ └── TextEntryModifier.swift ├── 05 │ └── CheckIn │ │ ├── CheckIn.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── CheckIn │ │ ├── Accent.swift │ │ ├── AccentColorPicker.swift │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── CheckInApp.swift │ │ ├── ContentView.swift │ │ ├── CurrentView.swift │ │ ├── CurrentViewSupport.swift │ │ ├── HistoryView.swift │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ └── TextEntryModifier.swift ├── 06 │ └── CheckIn │ │ ├── CheckIn.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── CheckIn │ │ ├── Accent.swift │ │ ├── AccentColorPicker.swift │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── CheckInApp.swift │ │ ├── ContentView.swift │ │ ├── CurrentView.swift │ │ ├── CurrentViewSupport.swift │ │ ├── History.swift │ │ ├── HistoryView.swift │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ ├── Snapshot.swift │ │ └── TextEntryModifier.swift ├── 07 │ └── CheckIn │ │ ├── CheckIn.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── CheckIn │ │ ├── Accent.swift │ │ ├── AccentColorPicker.swift │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── CheckInApp.swift │ │ ├── ContentView.swift │ │ ├── CurrentView.swift │ │ ├── CurrentViewSupport.swift │ │ ├── History.swift │ │ ├── HistoryView.swift │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ ├── Snapshot.swift │ │ └── TextEntryModifier.swift ├── 08 │ └── CheckIn │ │ ├── CheckIn.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── CheckIn │ │ ├── Accent.swift │ │ ├── AccentColorPicker.swift │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── CheckInApp.swift │ │ ├── ContentView.swift │ │ ├── CurrentView.swift │ │ ├── CurrentViewSupport.swift │ │ ├── DestinationView.swift │ │ ├── History.swift │ │ ├── HistoryView.swift │ │ ├── ObjectsAndTools.swift │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ ├── Snapshot.swift │ │ └── TextEntryModifier.swift ├── 09 │ └── CheckIn │ │ ├── CheckIn.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── CheckIn │ │ ├── Accent.swift │ │ ├── AccentColorPicker.swift │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── CheckInApp.swift │ │ ├── ContentView.swift │ │ ├── CurrentView.swift │ │ ├── CurrentViewSupport.swift │ │ ├── DestinationView.swift │ │ ├── History.swift │ │ ├── HistoryView.swift │ │ ├── ObjectsAndTools.swift │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ ├── Snapshot.swift │ │ └── TextEntryModifier.swift └── Extras │ └── ObjectsAndTools.swift ├── 06 ├── 01 │ └── Mood │ │ ├── Mood.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ ├── xcdebugger │ │ │ └── Breakpoints_v2.xcbkptlist │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── Mood │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── ContentView.swift │ │ ├── MoodApp.swift │ │ └── Preview Content │ │ └── Preview Assets.xcassets │ │ └── Contents.json ├── 02 │ └── Mood │ │ ├── Mood.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ ├── xcdebugger │ │ │ └── Breakpoints_v2.xcbkptlist │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── Mood │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── ContentView.swift │ │ ├── MoodApp.swift │ │ └── Preview Content │ │ └── Preview Assets.xcassets │ │ └── Contents.json ├── 03 │ └── Mood │ │ ├── Mood.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ ├── xcdebugger │ │ │ └── Breakpoints_v2.xcbkptlist │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── Mood │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── ContentView.swift │ │ ├── MoodApp.swift │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ └── SwiftyMoji.swift ├── 04 │ └── Mood │ │ ├── Mood.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ ├── xcdebugger │ │ │ └── Breakpoints_v2.xcbkptlist │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── Mood │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── ContentView.swift │ │ ├── Eyes.swift │ │ ├── MoodApp.swift │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ └── SwiftyMoji.swift ├── 05 │ └── Mood │ │ ├── Mood.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ ├── xcdebugger │ │ │ └── Breakpoints_v2.xcbkptlist │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── Mood │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── ContentView.swift │ │ ├── Eyes.swift │ │ ├── MoodApp.swift │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ └── SwiftyMoji.swift ├── 06 │ └── Mood │ │ ├── Mood.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ ├── xcdebugger │ │ │ └── Breakpoints_v2.xcbkptlist │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── Mood │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── ContentView.swift │ │ ├── Eyes.swift │ │ ├── MoodApp.swift │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ └── SwiftyMoji.swift └── 07 │ └── Mood │ ├── Mood.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── dimsum.xcuserdatad │ │ ├── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist │ │ └── xcschemes │ │ └── xcschememanagement.plist │ └── Mood │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── ContentView.swift │ ├── Eyes.swift │ ├── MoodApp.swift │ ├── Mouth.swift │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ └── SwiftyMoji.swift ├── Cover.png ├── Prequel ├── 01 │ ├── ManualGoodbye1 │ │ ├── ManualGoodbye1.xcodeproj │ │ │ ├── project.pbxproj │ │ │ ├── project.xcworkspace │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ ├── xcshareddata │ │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ │ └── xcuserdata │ │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ │ └── UserInterfaceState.xcuserstate │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── xcschemes │ │ │ │ └── xcschememanagement.plist │ │ └── ManualGoodbye1 │ │ │ ├── AppDelegate.swift │ │ │ ├── Assets.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ │ ├── Base.lproj │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ │ ├── Info.plist │ │ │ ├── SceneDelegate.swift │ │ │ └── ViewController.swift │ ├── ManualGoodbye2 │ │ ├── ManualGoodbye2.xcodeproj │ │ │ ├── project.pbxproj │ │ │ ├── project.xcworkspace │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ ├── xcshareddata │ │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ │ └── xcuserdata │ │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ │ └── UserInterfaceState.xcuserstate │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── xcschemes │ │ │ │ └── xcschememanagement.plist │ │ └── ManualGoodbye2 │ │ │ ├── AppDelegate.swift │ │ │ ├── Assets.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ │ ├── Base.lproj │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ │ ├── GreetingButton.swift │ │ │ ├── GreetingLabel.swift │ │ │ ├── Info.plist │ │ │ ├── SceneDelegate.swift │ │ │ ├── VerticalStackView.swift │ │ │ └── ViewController.swift │ └── VisualGoodbye │ │ ├── VisualGoodbye.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcuserdata │ │ │ │ └── dimsum.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── dimsum.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── VisualGoodbye │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── SceneDelegate.swift │ │ └── ViewController.swift └── A SwiftUI Kickstart Prequel - Daniel H Steinberg.pdf └── README.md /.github/ISSUE_TEMPLATE/swiftui-template---release-0-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: SwiftUI template - release 0.5 3 | about: Suggestion or correction for A SwiftUI Kickstart 4 | title: Chapter ___, Section _____ 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | 11 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/swiftui-template---release-0-6.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: SwiftUI template - release 0.6 3 | about: Suggestion or correction for A SwiftUI Kickstart 4 | title: Chapter ___, Section _____ 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | 11 | -------------------------------------------------------------------------------- /01/01/HelloWorld/HelloWorld.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /01/01/HelloWorld/HelloWorld.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/01/01/HelloWorld/HelloWorld.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /01/01/HelloWorld/HelloWorld.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | HelloWorld.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /01/01/HelloWorld/HelloWorld/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /01/01/HelloWorld/HelloWorld/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /01/01/HelloWorld/HelloWorld/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct ContentView: View { 4 | var body: some View { 5 | VStack { 6 | Image(systemName: "globe") 7 | .imageScale(.large) 8 | .foregroundStyle(.tint) 9 | Text("Hello, world!") 10 | } 11 | .padding() 12 | } 13 | } 14 | 15 | #Preview { 16 | ContentView() 17 | } 18 | -------------------------------------------------------------------------------- /01/01/HelloWorld/HelloWorld/HelloWorldApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct HelloWorldApp: App { 5 | var body: some Scene { 6 | WindowGroup { 7 | ContentView() 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /01/01/HelloWorld/HelloWorld/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /01/02/HelloWorld/HelloWorld.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /01/02/HelloWorld/HelloWorld.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/01/02/HelloWorld/HelloWorld.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /01/02/HelloWorld/HelloWorld.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | HelloWorld.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /01/02/HelloWorld/HelloWorld/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /01/02/HelloWorld/HelloWorld/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /01/02/HelloWorld/HelloWorld/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct ContentView: View { 4 | var body: some View { 5 | VStack { 6 | Image(systemName: "globe") 7 | .imageScale(.large) 8 | .foregroundStyle(.tint) 9 | Text("Hello, world!") 10 | } 11 | .padding() 12 | } 13 | } 14 | 15 | #Preview { 16 | ContentView() 17 | } 18 | -------------------------------------------------------------------------------- /01/02/HelloWorld/HelloWorld/HelloWorldApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct HelloWorldApp: App { 5 | var body: some Scene { 6 | WindowGroup { 7 | ContentView() 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /01/02/HelloWorld/HelloWorld/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /01/03/HelloWorld 2/HelloWorld.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /01/03/HelloWorld 2/HelloWorld.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /01/03/HelloWorld 2/HelloWorld.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/01/03/HelloWorld 2/HelloWorld.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /01/03/HelloWorld 2/HelloWorld.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | HelloWorld.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /01/03/HelloWorld 2/HelloWorld/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /01/03/HelloWorld 2/HelloWorld/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /01/03/HelloWorld 2/HelloWorld/HelloWorldApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct HelloWorldApp: App { 5 | var body: some Scene { 6 | WindowGroup { 7 | ContentView() 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /01/03/HelloWorld 2/HelloWorld/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /01/03/HelloWorld/HelloWorld.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /01/03/HelloWorld/HelloWorld.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /01/03/HelloWorld/HelloWorld.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/01/03/HelloWorld/HelloWorld.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /01/03/HelloWorld/HelloWorld.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /01/03/HelloWorld/HelloWorld.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | HelloWorld.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /01/03/HelloWorld/HelloWorld/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /01/03/HelloWorld/HelloWorld/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /01/03/HelloWorld/HelloWorld/HelloWorldApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct HelloWorldApp: App { 5 | var body: some Scene { 6 | WindowGroup { 7 | ContentView() 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /01/03/HelloWorld/HelloWorld/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /02/01/HelloSwiftUI/HelloSwiftUI.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /02/01/HelloSwiftUI/HelloSwiftUI.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/02/01/HelloSwiftUI/HelloSwiftUI.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /02/01/HelloSwiftUI/HelloSwiftUI.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | HelloSwiftUI.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /02/01/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /02/01/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /02/01/HelloSwiftUI/HelloSwiftUI/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct ContentView: View { 4 | var body: some View { 5 | Text("Hello") 6 | } 7 | } 8 | 9 | #Preview { 10 | ContentView() 11 | } 12 | -------------------------------------------------------------------------------- /02/01/HelloSwiftUI/HelloSwiftUI/HelloSwiftUIApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // HelloSwiftUIApp.swift 3 | // HelloSwiftUI 4 | // 5 | // Created by Daniel Steinberg on 12/12/24. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct HelloSwiftUIApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /02/01/HelloSwiftUI/HelloSwiftUI/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /02/02/HelloSwiftUI/HelloSwiftUI.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /02/02/HelloSwiftUI/HelloSwiftUI.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/02/02/HelloSwiftUI/HelloSwiftUI.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /02/02/HelloSwiftUI/HelloSwiftUI.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | HelloSwiftUI.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /02/02/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /02/02/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /02/02/HelloSwiftUI/HelloSwiftUI/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct ContentView: View { 4 | var body: some View { 5 | Text("Hello") 6 | } 7 | } 8 | 9 | #Preview { 10 | ContentView() 11 | } 12 | -------------------------------------------------------------------------------- /02/02/HelloSwiftUI/HelloSwiftUI/HelloSwiftUIApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // HelloSwiftUIApp.swift 3 | // HelloSwiftUI 4 | // 5 | // Created by Daniel Steinberg on 12/12/24. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct HelloSwiftUIApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /02/02/HelloSwiftUI/HelloSwiftUI/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /02/03/HelloSwiftUI/HelloSwiftUI.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /02/03/HelloSwiftUI/HelloSwiftUI.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/02/03/HelloSwiftUI/HelloSwiftUI.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /02/03/HelloSwiftUI/HelloSwiftUI.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | HelloSwiftUI.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 6209937F2D0B0E4500DBA774 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /02/03/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /02/03/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /02/03/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Cover.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "Cover.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /02/03/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Cover.imageset/Cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/02/03/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Cover.imageset/Cover.png -------------------------------------------------------------------------------- /02/03/HelloSwiftUI/HelloSwiftUI/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct ContentView: View { 4 | var body: some View { 5 | Image("Cover") 6 | .resizable() 7 | .scaledToFit() 8 | } 9 | } 10 | 11 | #Preview { 12 | ContentView() 13 | } 14 | -------------------------------------------------------------------------------- /02/03/HelloSwiftUI/HelloSwiftUI/HelloSwiftUIApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // HelloSwiftUIApp.swift 3 | // HelloSwiftUI 4 | // 5 | // Created by Daniel Steinberg on 12/12/24. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct HelloSwiftUIApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /02/03/HelloSwiftUI/HelloSwiftUI/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /02/04/HelloSwiftUI/HelloSwiftUI.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /02/04/HelloSwiftUI/HelloSwiftUI.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/02/04/HelloSwiftUI/HelloSwiftUI.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /02/04/HelloSwiftUI/HelloSwiftUI.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | HelloSwiftUI.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 6209937F2D0B0E4500DBA774 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /02/04/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /02/04/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /02/04/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Cover.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "Cover.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /02/04/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Cover.imageset/Cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/02/04/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Cover.imageset/Cover.png -------------------------------------------------------------------------------- /02/04/HelloSwiftUI/HelloSwiftUI/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct ContentView: View { 4 | var body: some View { 5 | Image("Cover") 6 | .resizable() 7 | .scaledToFit() 8 | Text("Cover") 9 | } 10 | } 11 | 12 | #Preview { 13 | ContentView() 14 | } 15 | -------------------------------------------------------------------------------- /02/04/HelloSwiftUI/HelloSwiftUI/HelloSwiftUIApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // HelloSwiftUIApp.swift 3 | // HelloSwiftUI 4 | // 5 | // Created by Daniel Steinberg on 12/12/24. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct HelloSwiftUIApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /02/04/HelloSwiftUI/HelloSwiftUI/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /02/05/HelloSwiftUI/HelloSwiftUI.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /02/05/HelloSwiftUI/HelloSwiftUI.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/02/05/HelloSwiftUI/HelloSwiftUI.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /02/05/HelloSwiftUI/HelloSwiftUI.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | HelloSwiftUI.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 6209937F2D0B0E4500DBA774 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /02/05/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /02/05/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /02/05/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Cover.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "Cover.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /02/05/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Cover.imageset/Cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/02/05/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Cover.imageset/Cover.png -------------------------------------------------------------------------------- /02/05/HelloSwiftUI/HelloSwiftUI/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct ContentView: View { 4 | var body: some View { 5 | VStack { 6 | Text("A SwiftUI Kickstart") 7 | HStack { 8 | Button("Back", action: {}) 9 | Button("Forward", action: {}) 10 | } 11 | } 12 | } 13 | } 14 | 15 | #Preview { 16 | ContentView() 17 | } 18 | -------------------------------------------------------------------------------- /02/05/HelloSwiftUI/HelloSwiftUI/HelloSwiftUIApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // HelloSwiftUIApp.swift 3 | // HelloSwiftUI 4 | // 5 | // Created by Daniel Steinberg on 12/12/24. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct HelloSwiftUIApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /02/05/HelloSwiftUI/HelloSwiftUI/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /02/06/HelloSwiftUI/HelloSwiftUI.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /02/06/HelloSwiftUI/HelloSwiftUI.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/02/06/HelloSwiftUI/HelloSwiftUI.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /02/06/HelloSwiftUI/HelloSwiftUI.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | HelloSwiftUI.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 6209937F2D0B0E4500DBA774 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /02/06/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /02/06/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /02/06/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Cover.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "Cover.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /02/06/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Cover.imageset/Cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/02/06/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Cover.imageset/Cover.png -------------------------------------------------------------------------------- /02/06/HelloSwiftUI/HelloSwiftUI/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct ContentView: View { 4 | var body: some View { 5 | VStack(spacing: 10) { 6 | Text("A SwiftUI Kickstart") 7 | HStack(spacing: 20) { 8 | Button("Back", action: {}) 9 | Button("Forward", action: {}) 10 | } 11 | } 12 | } 13 | } 14 | 15 | #Preview { 16 | ContentView() 17 | } 18 | -------------------------------------------------------------------------------- /02/06/HelloSwiftUI/HelloSwiftUI/HelloSwiftUIApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // HelloSwiftUIApp.swift 3 | // HelloSwiftUI 4 | // 5 | // Created by Daniel Steinberg on 12/12/24. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct HelloSwiftUIApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /02/06/HelloSwiftUI/HelloSwiftUI/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /02/07/HelloSwiftUI/HelloSwiftUI.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /02/07/HelloSwiftUI/HelloSwiftUI.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/02/07/HelloSwiftUI/HelloSwiftUI.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /02/07/HelloSwiftUI/HelloSwiftUI.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | HelloSwiftUI.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 6209937F2D0B0E4500DBA774 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /02/07/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /02/07/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /02/07/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Cover.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "Cover.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /02/07/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Cover.imageset/Cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/02/07/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Cover.imageset/Cover.png -------------------------------------------------------------------------------- /02/07/HelloSwiftUI/HelloSwiftUI/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct ContentView: View { 4 | var body: some View { 5 | Text("A SwiftUI Kickstart") 6 | .background(.yellow) 7 | .padding() 8 | .background(.blue) 9 | .font(.title) 10 | .padding() 11 | .background(.mint) 12 | .foregroundStyle(.purple) 13 | .padding() 14 | .background(.red.opacity(0.2)) 15 | .border(.red, width: 5) 16 | } 17 | } 18 | 19 | #Preview { 20 | ContentView() 21 | } 22 | -------------------------------------------------------------------------------- /02/07/HelloSwiftUI/HelloSwiftUI/HelloSwiftUIApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // HelloSwiftUIApp.swift 3 | // HelloSwiftUI 4 | // 5 | // Created by Daniel Steinberg on 12/12/24. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct HelloSwiftUIApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /02/07/HelloSwiftUI/HelloSwiftUI/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /02/08/HelloSwiftUI/HelloSwiftUI.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /02/08/HelloSwiftUI/HelloSwiftUI.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/02/08/HelloSwiftUI/HelloSwiftUI.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /02/08/HelloSwiftUI/HelloSwiftUI.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | HelloSwiftUI.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 6209937F2D0B0E4500DBA774 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /02/08/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /02/08/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /02/08/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Cover.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "Cover.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /02/08/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Cover.imageset/Cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/02/08/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Cover.imageset/Cover.png -------------------------------------------------------------------------------- /02/08/HelloSwiftUI/HelloSwiftUI/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct ContentView: View { 4 | var body: some View { 5 | CheckerBoard { 6 | Text("Kickstart") 7 | } 8 | } 9 | } 10 | 11 | #Preview { 12 | ContentView() 13 | } 14 | -------------------------------------------------------------------------------- /02/08/HelloSwiftUI/HelloSwiftUI/HelloSwiftUIApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // HelloSwiftUIApp.swift 3 | // HelloSwiftUI 4 | // 5 | // Created by Daniel Steinberg on 12/12/24. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct HelloSwiftUIApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /02/08/HelloSwiftUI/HelloSwiftUI/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /02/09/HelloSwiftUI/HelloSwiftUI.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /02/09/HelloSwiftUI/HelloSwiftUI.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/02/09/HelloSwiftUI/HelloSwiftUI.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /02/09/HelloSwiftUI/HelloSwiftUI.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | HelloSwiftUI.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 6209937F2D0B0E4500DBA774 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /02/09/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /02/09/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /02/09/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Cover.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "Cover.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /02/09/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Cover.imageset/Cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/02/09/HelloSwiftUI/HelloSwiftUI/Assets.xcassets/Cover.imageset/Cover.png -------------------------------------------------------------------------------- /02/09/HelloSwiftUI/HelloSwiftUI/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct ContentView: View { 4 | var body: some View { 5 | CheckerBoard { 6 | Image("Cover") 7 | .resizable() 8 | .scaledToFit() 9 | Text("Kickstart") 10 | .padding() 11 | } 12 | } 13 | } 14 | 15 | #Preview { 16 | ContentView() 17 | } 18 | -------------------------------------------------------------------------------- /02/09/HelloSwiftUI/HelloSwiftUI/HelloSwiftUIApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // HelloSwiftUIApp.swift 3 | // HelloSwiftUI 4 | // 5 | // Created by Daniel Steinberg on 12/12/24. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct HelloSwiftUIApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /02/09/HelloSwiftUI/HelloSwiftUI/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /02/Cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/02/Cover.png -------------------------------------------------------------------------------- /03/01/Action/Action.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /03/01/Action/Action.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/03/01/Action/Action.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /03/01/Action/Action.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Action.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /03/01/Action/Action/ActionApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct ActionApp: App { 5 | var body: some Scene { 6 | WindowGroup { 7 | ContentView() 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /03/01/Action/Action/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /03/01/Action/Action/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /03/01/Action/Action/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /03/02/Action/Action.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /03/02/Action/Action.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/03/02/Action/Action.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /03/02/Action/Action.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Action.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /03/02/Action/Action/ActionApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct ActionApp: App { 5 | var body: some Scene { 6 | WindowGroup { 7 | ContentView() 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /03/02/Action/Action/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /03/02/Action/Action/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /03/02/Action/Action/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct ContentView: View { 4 | @State private var currentValue = 0 5 | } 6 | 7 | extension ContentView { 8 | var body: some View { 9 | VStack { 10 | Text(currentValue.description) 11 | HStack(spacing: 20) { 12 | Button { 13 | currentValue -= 1 14 | } label: { 15 | Image(systemName: "arrow.backward") 16 | } 17 | Button { 18 | currentValue += 1 19 | } label: { 20 | Image(systemName: "arrow.forward") 21 | } 22 | } 23 | } 24 | } 25 | } 26 | 27 | 28 | #Preview { 29 | ContentView() 30 | } 31 | -------------------------------------------------------------------------------- /03/02/Action/Action/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /03/03/Action/Action.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /03/03/Action/Action.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/03/03/Action/Action.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /03/03/Action/Action.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Action.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /03/03/Action/Action/ActionApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct ActionApp: App { 5 | var body: some Scene { 6 | WindowGroup { 7 | ContentView() 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /03/03/Action/Action/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /03/03/Action/Action/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /03/03/Action/Action/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct ContentView: View { 4 | @State private var currentValue = 0 5 | } 6 | 7 | extension ContentView { 8 | var body: some View { 9 | VStack(spacing: 30) { 10 | IntDisplay(value: currentValue) 11 | HStack(spacing: 20) { 12 | Button { 13 | currentValue -= 1 14 | } label: { 15 | Image(systemName: "arrow.backward") 16 | } 17 | Button { 18 | currentValue += 1 19 | } label: { 20 | Image(systemName: "arrow.forward") 21 | } 22 | } 23 | } 24 | } 25 | } 26 | 27 | 28 | #Preview { 29 | ContentView() 30 | } 31 | -------------------------------------------------------------------------------- /03/03/Action/Action/IntDisplay.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct IntDisplay: View { 4 | let value: Int 5 | } 6 | 7 | extension IntDisplay { 8 | var body: some View { 9 | Text(value.description) 10 | .font(.largeTitle) 11 | .foregroundStyle(.secondary) 12 | } 13 | } 14 | 15 | #Preview { 16 | IntDisplay(value: 7) 17 | } 18 | -------------------------------------------------------------------------------- /03/03/Action/Action/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /03/04/Action/Action.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /03/04/Action/Action.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/03/04/Action/Action.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /03/04/Action/Action.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Action.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /03/04/Action/Action/ActionApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct ActionApp: App { 5 | var body: some Scene { 6 | WindowGroup { 7 | ContentView() 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /03/04/Action/Action/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /03/04/Action/Action/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /03/04/Action/Action/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct ContentView: View { 4 | @State private var currentValue = 0 5 | } 6 | 7 | extension ContentView { 8 | var body: some View { 9 | VStack(spacing: 30) { 10 | IntDisplay(value: currentValue) 11 | HStack(spacing: 20) { 12 | Button { 13 | currentValue -= 1 14 | } label: { 15 | Image(systemName: "arrow.backward") 16 | } 17 | Button { 18 | currentValue += 1 19 | } label: { 20 | Image(systemName: "arrow.forward") 21 | } 22 | } 23 | } 24 | } 25 | } 26 | 27 | 28 | #Preview { 29 | ContentView() 30 | } 31 | -------------------------------------------------------------------------------- /03/04/Action/Action/DisplayModifier.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct DisplayModifier: ViewModifier { 4 | func body(content: Content) -> some View { 5 | content 6 | .font(.largeTitle) 7 | .foregroundStyle(.secondary) 8 | } 9 | } 10 | 11 | #Preview { 12 | Text("Hello, world!") 13 | .modifier(DisplayModifier()) 14 | } 15 | -------------------------------------------------------------------------------- /03/04/Action/Action/DoubleBorderButtonStyle.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct DoubleBorderButtonStyle: ButtonStyle { 4 | func makeBody(configuration: Configuration) -> some View { 5 | configuration.label 6 | .padding(4) 7 | .border(.mint) 8 | .padding(4) 9 | .border(.mint) 10 | } 11 | } 12 | 13 | #Preview { 14 | Button("Hello, world!"){ } 15 | .buttonStyle(DoubleBorderButtonStyle()) 16 | } 17 | -------------------------------------------------------------------------------- /03/04/Action/Action/IntDisplay.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct IntDisplay: View { 4 | let value: Int 5 | } 6 | 7 | extension IntDisplay { 8 | var body: some View { 9 | Text(value.description) 10 | .modifier(DisplayModifier()) 11 | } 12 | } 13 | 14 | #Preview { 15 | IntDisplay(value: 7) 16 | } 17 | -------------------------------------------------------------------------------- /03/04/Action/Action/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /03/05/Action/Action.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /03/05/Action/Action.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/03/05/Action/Action.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /03/05/Action/Action.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Action.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /03/05/Action/Action/ActionApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct ActionApp: App { 5 | var body: some Scene { 6 | WindowGroup { 7 | ContentView() 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /03/05/Action/Action/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /03/05/Action/Action/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /03/05/Action/Action/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct ContentView: View { 4 | @State private var currentValue = 0 5 | } 6 | 7 | extension ContentView { 8 | var body: some View { 9 | VStack(spacing: 30) { 10 | IntDisplay(value: currentValue) 11 | HStack(spacing: 20) { 12 | SymbolButton("arrow.backward") { currentValue -= 1 } 13 | SymbolButton("arrow.forward") { currentValue += 1 } 14 | } 15 | } 16 | } 17 | } 18 | 19 | 20 | #Preview { 21 | ContentView() 22 | } 23 | -------------------------------------------------------------------------------- /03/05/Action/Action/DisplayModifier.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct DisplayModifier: ViewModifier { 4 | func body(content: Content) -> some View { 5 | content 6 | .font(.largeTitle) 7 | .foregroundStyle(.secondary) 8 | } 9 | } 10 | 11 | #Preview { 12 | Text("Hello, world!") 13 | .modifier(DisplayModifier()) 14 | } 15 | -------------------------------------------------------------------------------- /03/05/Action/Action/DoubleBorderButtonStyle.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct DoubleBorderButtonStyle: ButtonStyle { 4 | func makeBody(configuration: Configuration) -> some View { 5 | configuration.label 6 | .padding(4) 7 | .border(.mint) 8 | .padding(4) 9 | .border(.mint) 10 | } 11 | } 12 | 13 | #Preview { 14 | Button("Hello, world!"){ } 15 | .buttonStyle(DoubleBorderButtonStyle()) 16 | } 17 | -------------------------------------------------------------------------------- /03/05/Action/Action/IntDisplay.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct IntDisplay: View { 4 | let value: Int 5 | } 6 | 7 | extension IntDisplay { 8 | var body: some View { 9 | Text(value.description) 10 | .modifier(DisplayModifier()) 11 | } 12 | } 13 | 14 | #Preview { 15 | IntDisplay(value: 7) 16 | } 17 | -------------------------------------------------------------------------------- /03/05/Action/Action/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /03/05/Action/Action/SymbolButton.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct SymbolButton: View { 4 | let symbolName: String 5 | let action: () -> Void 6 | 7 | init(_ symbolName: String, 8 | action: @escaping () -> Void) { 9 | self.symbolName = symbolName 10 | self.action = action 11 | } 12 | } 13 | 14 | extension SymbolButton { 15 | var body: some View { 16 | Button(action: action) { 17 | Image(systemName: symbolName) 18 | } 19 | .buttonStyle(DoubleBorderButtonStyle()) 20 | } 21 | } 22 | 23 | #Preview { 24 | SymbolButton("questionmark", 25 | action: {}) 26 | } 27 | -------------------------------------------------------------------------------- /03/06/Action/Action.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /03/06/Action/Action.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/03/06/Action/Action.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /03/06/Action/Action.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Action.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /03/06/Action/Action/ActionApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct ActionApp: App { 5 | var body: some Scene { 6 | WindowGroup { 7 | ContentView() 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /03/06/Action/Action/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /03/06/Action/Action/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /03/06/Action/Action/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | 4 | 5 | struct ContentView: View { 6 | @State private var currentValue = 0 7 | } 8 | 9 | extension ContentView { 10 | var body: some View { 11 | VStack(spacing: 30) { 12 | IntDisplay(value: currentValue) 13 | HStack(spacing: 20) { 14 | DecreaseButton(value: $currentValue) 15 | IncreaseButton(value: $currentValue) 16 | } 17 | } 18 | } 19 | } 20 | 21 | 22 | #Preview { 23 | ContentView() 24 | } 25 | -------------------------------------------------------------------------------- /03/06/Action/Action/DecreaseButton.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct DecreaseButton: View { 4 | @Binding var value: Int 5 | } 6 | 7 | extension DecreaseButton { 8 | var body: some View { 9 | Button { 10 | value -= 1 11 | } label: { 12 | Image(systemName: "arrow.backward") 13 | } 14 | .buttonStyle(DoubleBorderButtonStyle()) 15 | } 16 | } 17 | 18 | #Preview { 19 | @Previewable @State var localStateValue = 0 20 | DecreaseButton(value: $localStateValue ) 21 | } 22 | 23 | -------------------------------------------------------------------------------- /03/06/Action/Action/DisplayModifier.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct DisplayModifier: ViewModifier { 4 | func body(content: Content) -> some View { 5 | content 6 | .font(.largeTitle) 7 | .foregroundStyle(.secondary) 8 | } 9 | } 10 | 11 | #Preview { 12 | Text("Hello, world!") 13 | .modifier(DisplayModifier()) 14 | } 15 | -------------------------------------------------------------------------------- /03/06/Action/Action/DoubleBorderButtonStyle.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct DoubleBorderButtonStyle: ButtonStyle { 4 | func makeBody(configuration: Configuration) -> some View { 5 | configuration.label 6 | .padding(4) 7 | .border(.mint) 8 | .padding(4) 9 | .border(.mint) 10 | } 11 | } 12 | 13 | #Preview { 14 | Button("Hello, world!"){ } 15 | .buttonStyle(DoubleBorderButtonStyle()) 16 | } 17 | -------------------------------------------------------------------------------- /03/06/Action/Action/IncreaseButton.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct IncreaseButton: View { 4 | @Binding var value: Int 5 | } 6 | 7 | extension IncreaseButton { 8 | var body: some View { 9 | Button { 10 | value += 1 11 | } label: { 12 | Image(systemName: "arrow.forward") 13 | } 14 | .buttonStyle(DoubleBorderButtonStyle()) 15 | } 16 | } 17 | 18 | #Preview { 19 | @Previewable @State var localStateValue = 0 20 | IncreaseButton(value: $localStateValue ) 21 | } 22 | 23 | -------------------------------------------------------------------------------- /03/06/Action/Action/IntDisplay.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct IntDisplay: View { 4 | let value: Int 5 | } 6 | 7 | extension IntDisplay { 8 | var body: some View { 9 | Text(value.description) 10 | .modifier(DisplayModifier()) 11 | } 12 | } 13 | 14 | #Preview { 15 | IntDisplay(value: 7) 16 | } 17 | -------------------------------------------------------------------------------- /03/06/Action/Action/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /03/06/Action/Action/SymbolButton.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct SymbolButton: View { 4 | let symbolName: String 5 | let action: () -> Void 6 | 7 | init(_ symbolName: String, 8 | action: @escaping () -> Void) { 9 | self.symbolName = symbolName 10 | self.action = action 11 | } 12 | } 13 | 14 | extension SymbolButton { 15 | var body: some View { 16 | Button(action: action) { 17 | Image(systemName: symbolName) 18 | } 19 | .buttonStyle(DoubleBorderButtonStyle()) 20 | } 21 | } 22 | 23 | #Preview { 24 | SymbolButton("questionmark", 25 | action: {}) 26 | } 27 | -------------------------------------------------------------------------------- /03/07/Action/Action.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /03/07/Action/Action.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/03/07/Action/Action.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /03/07/Action/Action.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Action.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /03/07/Action/Action/ActionApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct ActionApp: App { 5 | @State private var model = Model() 6 | } 7 | 8 | extension ActionApp { 9 | var body: some Scene { 10 | WindowGroup { 11 | ContentView() 12 | .environmentObject(model) 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /03/07/Action/Action/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /03/07/Action/Action/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /03/07/Action/Action/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct ContentView: View { 4 | } 5 | 6 | extension ContentView { 7 | var body: some View { 8 | VStack(spacing: 30) { 9 | IntDisplay() 10 | HStack(spacing: 20) { 11 | DecreaseButton() 12 | IncreaseButton() 13 | } 14 | } 15 | } 16 | } 17 | 18 | 19 | #Preview { 20 | ContentView() 21 | .environmentObject(Model()) 22 | } 23 | -------------------------------------------------------------------------------- /03/07/Action/Action/DecreaseButton.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct DecreaseButton: View { 4 | @EnvironmentObject private var model: Model 5 | } 6 | 7 | extension DecreaseButton { 8 | var body: some View { 9 | Button { 10 | model.decrease() 11 | } label: { 12 | Image(systemName: "arrow.backward") 13 | } 14 | .buttonStyle(DoubleBorderButtonStyle()) 15 | } 16 | } 17 | 18 | #Preview { 19 | DecreaseButton() 20 | .environmentObject(Model()) 21 | } 22 | 23 | -------------------------------------------------------------------------------- /03/07/Action/Action/DisplayModifier.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct DisplayModifier: ViewModifier { 4 | func body(content: Content) -> some View { 5 | content 6 | .font(.largeTitle) 7 | .foregroundStyle(.secondary) 8 | } 9 | } 10 | 11 | #Preview { 12 | Text("Hello, world!") 13 | .modifier(DisplayModifier()) 14 | } 15 | -------------------------------------------------------------------------------- /03/07/Action/Action/DoubleBorderButtonStyle.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct DoubleBorderButtonStyle: ButtonStyle { 4 | func makeBody(configuration: Configuration) -> some View { 5 | configuration.label 6 | .padding(4) 7 | .border(.mint) 8 | .padding(4) 9 | .border(.mint) 10 | } 11 | } 12 | 13 | #Preview { 14 | Button("Hello, world!"){ } 15 | .buttonStyle(DoubleBorderButtonStyle()) 16 | } 17 | -------------------------------------------------------------------------------- /03/07/Action/Action/IncreaseButton.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct IncreaseButton: View { 4 | @EnvironmentObject private var model: Model 5 | } 6 | 7 | extension IncreaseButton { 8 | var body: some View { 9 | Button { 10 | model.increase() 11 | } label: { 12 | Image(systemName: "arrow.forward") 13 | } 14 | .buttonStyle(DoubleBorderButtonStyle()) 15 | } 16 | } 17 | 18 | #Preview { 19 | IncreaseButton() 20 | .environmentObject(Model()) 21 | } 22 | 23 | -------------------------------------------------------------------------------- /03/07/Action/Action/IntDisplay.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct IntDisplay: View { 4 | @EnvironmentObject private var model: Model 5 | } 6 | 7 | extension IntDisplay { 8 | var body: some View { 9 | Text(model.value.description) 10 | .modifier(DisplayModifier()) 11 | } 12 | } 13 | 14 | #Preview { 15 | IntDisplay() 16 | .environmentObject(Model()) 17 | } 18 | -------------------------------------------------------------------------------- /03/07/Action/Action/Model.swift: -------------------------------------------------------------------------------- 1 | import Combine 2 | 3 | class Model: ObservableObject { 4 | @Published private(set) var value = 0 5 | } 6 | 7 | extension Model { 8 | func increase() { 9 | value += 1 10 | } 11 | func decrease() { 12 | value -= 1 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /03/07/Action/Action/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /03/07/Action/Action/SymbolButton.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct SymbolButton: View { 4 | let symbolName: String 5 | let action: () -> Void 6 | 7 | init(_ symbolName: String, 8 | action: @escaping () -> Void) { 9 | self.symbolName = symbolName 10 | self.action = action 11 | } 12 | } 13 | 14 | extension SymbolButton { 15 | var body: some View { 16 | Button(action: action) { 17 | Image(systemName: symbolName) 18 | } 19 | .buttonStyle(DoubleBorderButtonStyle()) 20 | } 21 | } 22 | 23 | #Preview { 24 | SymbolButton("questionmark", 25 | action: {}) 26 | } 27 | -------------------------------------------------------------------------------- /03/08/Action/Action.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /03/08/Action/Action.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/03/08/Action/Action.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /03/08/Action/Action.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Action.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /03/08/Action/Action/ActionApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct ActionApp: App { 5 | } 6 | 7 | extension ActionApp { 8 | var body: some Scene { 9 | WindowGroup { 10 | ContentView() 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /03/08/Action/Action/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /03/08/Action/Action/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /03/08/Action/Action/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct ContentView: View { 4 | @State var model = Model() 5 | } 6 | 7 | extension ContentView { 8 | var body: some View { 9 | VStack(spacing: 30) { 10 | IntDisplay(model: model) 11 | HStack(spacing: 20) { 12 | DecreaseButton(model: model) 13 | IncreaseButton(model: model) 14 | } 15 | } 16 | } 17 | } 18 | 19 | 20 | #Preview { 21 | ContentView() 22 | } 23 | -------------------------------------------------------------------------------- /03/08/Action/Action/DecreaseButton.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct DecreaseButton: View { 4 | let model: Model 5 | } 6 | 7 | extension DecreaseButton { 8 | var body: some View { 9 | Button { 10 | model.decrease() 11 | } label: { 12 | Image(systemName: "arrow.backward") 13 | } 14 | .buttonStyle(DoubleBorderButtonStyle()) 15 | } 16 | } 17 | 18 | #Preview { 19 | DecreaseButton(model: Model()) 20 | } 21 | 22 | -------------------------------------------------------------------------------- /03/08/Action/Action/DisplayModifier.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct DisplayModifier: ViewModifier { 4 | func body(content: Content) -> some View { 5 | content 6 | .font(.largeTitle) 7 | .foregroundStyle(.secondary) 8 | } 9 | } 10 | 11 | #Preview { 12 | Text("Hello, world!") 13 | .modifier(DisplayModifier()) 14 | } 15 | -------------------------------------------------------------------------------- /03/08/Action/Action/DoubleBorderButtonStyle.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct DoubleBorderButtonStyle: ButtonStyle { 4 | func makeBody(configuration: Configuration) -> some View { 5 | configuration.label 6 | .padding(4) 7 | .border(.mint) 8 | .padding(4) 9 | .border(.mint) 10 | } 11 | } 12 | 13 | #Preview { 14 | Button("Hello, world!"){ } 15 | .buttonStyle(DoubleBorderButtonStyle()) 16 | } 17 | -------------------------------------------------------------------------------- /03/08/Action/Action/IncreaseButton.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct IncreaseButton: View { 4 | let model: Model 5 | } 6 | 7 | extension IncreaseButton { 8 | var body: some View { 9 | Button { 10 | model.increase() 11 | } label: { 12 | Image(systemName: "arrow.forward") 13 | } 14 | .buttonStyle(DoubleBorderButtonStyle()) 15 | } 16 | } 17 | 18 | #Preview { 19 | IncreaseButton(model: Model()) 20 | } 21 | 22 | -------------------------------------------------------------------------------- /03/08/Action/Action/IntDisplay.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct IntDisplay: View { 4 | let model: Model 5 | } 6 | 7 | extension IntDisplay { 8 | var body: some View { 9 | Text(model.value.description) 10 | .modifier(DisplayModifier()) 11 | } 12 | } 13 | 14 | #Preview { 15 | IntDisplay(model: Model()) 16 | } 17 | -------------------------------------------------------------------------------- /03/08/Action/Action/Model.swift: -------------------------------------------------------------------------------- 1 | import Observation 2 | 3 | @Observable 4 | class Model { 5 | private(set) var value = 0 6 | } 7 | 8 | extension Model { 9 | func increase() { 10 | value += 1 11 | } 12 | func decrease() { 13 | value -= 1 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /03/08/Action/Action/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /03/08/Action/Action/SymbolButton.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct SymbolButton: View { 4 | let symbolName: String 5 | let action: () -> Void 6 | 7 | init(_ symbolName: String, 8 | action: @escaping () -> Void) { 9 | self.symbolName = symbolName 10 | self.action = action 11 | } 12 | } 13 | 14 | extension SymbolButton { 15 | var body: some View { 16 | Button(action: action) { 17 | Image(systemName: symbolName) 18 | } 19 | .buttonStyle(DoubleBorderButtonStyle()) 20 | } 21 | } 22 | 23 | #Preview { 24 | SymbolButton("questionmark", 25 | action: {}) 26 | } 27 | -------------------------------------------------------------------------------- /04/01 copy/Symbols/Symbols.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /04/01 copy/Symbols/Symbols.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /04/01 copy/Symbols/Symbols.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/04/01 copy/Symbols/Symbols.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /04/01 copy/Symbols/Symbols.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Symbols.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /04/01 copy/Symbols/Symbols/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /04/01 copy/Symbols/Symbols/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /04/01 copy/Symbols/Symbols/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct ContentView: View { 4 | var body: some View { 5 | SystemLabel(symbolNames[104]) 6 | .labelStyle(SurroundLabelStyle()) 7 | } 8 | } 9 | 10 | struct ContentView_Previews: PreviewProvider { 11 | static var previews: some View { 12 | ContentView() 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /04/01 copy/Symbols/Symbols/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /04/01 copy/Symbols/Symbols/SurroundLabelStyle.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct SurroundLabelStyle: LabelStyle { 4 | func makeBody(configuration: Configuration) -> some View { 5 | VStack { 6 | HStack(spacing: 20) { 7 | configuration.icon 8 | .foregroundColor(.purple) 9 | configuration.icon 10 | .scaleEffect(2.0) 11 | configuration.icon 12 | .foregroundColor(.orange) 13 | } 14 | configuration.title 15 | .font(.headline) 16 | .padding() 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /04/01 copy/Symbols/Symbols/SymbolsApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct SymbolsApp: App { 5 | var body: some Scene { 6 | WindowGroup { 7 | ContentView() 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /04/01 copy/Symbols/Symbols/SystemLabel.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct SystemLabel { 4 | let name: String 5 | 6 | init(_ name: String) { 7 | self.name = name 8 | } 9 | } 10 | 11 | extension SystemLabel: View { 12 | var body: some View { 13 | Label(name, 14 | systemImage: name) 15 | } 16 | } 17 | 18 | struct SystemLabel_Previews: PreviewProvider { 19 | static var previews: some View { 20 | SystemLabel("questionmark") 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /04/01/SymbolExplorer/SymbolExplorer.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /04/01/SymbolExplorer/SymbolExplorer.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/04/01/SymbolExplorer/SymbolExplorer.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /04/01/SymbolExplorer/SymbolExplorer.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | SymbolExplorer.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /04/01/SymbolExplorer/SymbolExplorer/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /04/01/SymbolExplorer/SymbolExplorer/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /04/01/SymbolExplorer/SymbolExplorer/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct ContentView: View { 4 | var body: some View { 5 | VStack { 6 | Image(systemName: "globe") 7 | .imageScale(.large) 8 | .foregroundStyle(.tint) 9 | Text("Hello, world!") 10 | } 11 | .padding() 12 | } 13 | } 14 | 15 | #Preview { 16 | ContentView() 17 | } 18 | -------------------------------------------------------------------------------- /04/01/SymbolExplorer/SymbolExplorer/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /04/01/SymbolExplorer/SymbolExplorer/SymbolExplorerApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct SymbolExplorerApp: App { 5 | var body: some Scene { 6 | WindowGroup { 7 | ContentView() 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /04/02/Symbols/Symbols.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /04/02/Symbols/Symbols.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /04/02/Symbols/Symbols.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/04/02/Symbols/Symbols.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /04/02/Symbols/Symbols.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Symbols.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /04/02/Symbols/Symbols/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /04/02/Symbols/Symbols/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /04/02/Symbols/Symbols/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct ContentView: View { 4 | var body: some View { 5 | VStack { 6 | ForEach(symbols) {symbol in 7 | SystemLabel(symbol.name) 8 | } 9 | } 10 | } 11 | } 12 | 13 | struct ContentView_Previews: PreviewProvider { 14 | static var previews: some View { 15 | ContentView() 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /04/02/Symbols/Symbols/Model/Symbol.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | let symbols = symbolNames.map(Symbol.init) 4 | 5 | struct Symbol: Identifiable { 6 | let name: String 7 | let id = UUID() 8 | } 9 | -------------------------------------------------------------------------------- /04/02/Symbols/Symbols/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /04/02/Symbols/Symbols/SurroundLabelStyle.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct SurroundLabelStyle: LabelStyle { 4 | func makeBody(configuration: Configuration) -> some View { 5 | VStack { 6 | HStack(spacing: 20) { 7 | configuration.icon 8 | .foregroundColor(.purple) 9 | configuration.icon 10 | .scaleEffect(2.0) 11 | configuration.icon 12 | .foregroundColor(.orange) 13 | } 14 | configuration.title 15 | .font(.headline) 16 | .padding() 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /04/02/Symbols/Symbols/SymbolsApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct SymbolsApp: App { 5 | var body: some Scene { 6 | WindowGroup { 7 | ContentView() 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /04/02/Symbols/Symbols/SystemLabel.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct SystemLabel { 4 | let name: String 5 | 6 | init(_ name: String) { 7 | self.name = name 8 | } 9 | } 10 | 11 | extension SystemLabel: View { 12 | var body: some View { 13 | Label(name, 14 | systemImage: name) 15 | } 16 | } 17 | 18 | struct SystemLabel_Previews: PreviewProvider { 19 | static var previews: some View { 20 | SystemLabel("questionmark") 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /04/03/Symbols/Symbols.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /04/03/Symbols/Symbols.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /04/03/Symbols/Symbols.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/04/03/Symbols/Symbols.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /04/03/Symbols/Symbols.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Symbols.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /04/03/Symbols/Symbols/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /04/03/Symbols/Symbols/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /04/03/Symbols/Symbols/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct ContentView: View { 4 | var body: some View { 5 | ScrollView { 6 | LazyVStack { 7 | ForEach(symbols) {symbol in 8 | SystemLabel(symbol.name) 9 | } 10 | } 11 | } 12 | } 13 | } 14 | 15 | struct ContentView_Previews: PreviewProvider { 16 | static var previews: some View { 17 | ContentView() 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /04/03/Symbols/Symbols/Model/Symbol.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | let symbols = symbolNames.map(Symbol.init) 4 | 5 | struct Symbol: Identifiable { 6 | let name: String 7 | let id = UUID() 8 | } 9 | -------------------------------------------------------------------------------- /04/03/Symbols/Symbols/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /04/03/Symbols/Symbols/SurroundLabelStyle.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct SurroundLabelStyle: LabelStyle { 4 | func makeBody(configuration: Configuration) -> some View { 5 | VStack { 6 | HStack(spacing: 20) { 7 | configuration.icon 8 | .foregroundColor(.purple) 9 | configuration.icon 10 | .scaleEffect(2.0) 11 | configuration.icon 12 | .foregroundColor(.orange) 13 | } 14 | configuration.title 15 | .font(.headline) 16 | .padding() 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /04/03/Symbols/Symbols/SymbolsApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct SymbolsApp: App { 5 | var body: some Scene { 6 | WindowGroup { 7 | ContentView() 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /04/03/Symbols/Symbols/SystemLabel.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct SystemLabel { 4 | let name: String 5 | 6 | init(_ name: String) { 7 | self.name = name 8 | } 9 | } 10 | 11 | extension SystemLabel: View { 12 | var body: some View { 13 | Label(name, 14 | systemImage: name) 15 | } 16 | } 17 | 18 | struct SystemLabel_Previews: PreviewProvider { 19 | static var previews: some View { 20 | SystemLabel("questionmark") 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /04/04/Symbols/Symbols.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /04/04/Symbols/Symbols.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /04/04/Symbols/Symbols.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/04/04/Symbols/Symbols.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /04/04/Symbols/Symbols.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Symbols.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /04/04/Symbols/Symbols/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /04/04/Symbols/Symbols/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /04/04/Symbols/Symbols/Model/Symbol.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | let symbols = symbolNames.map(Symbol.init) 4 | 5 | struct Symbol: Identifiable, Hashable { 6 | let name: String 7 | let id = UUID() 8 | } 9 | -------------------------------------------------------------------------------- /04/04/Symbols/Symbols/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /04/04/Symbols/Symbols/SurroundLabelStyle.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct SurroundLabelStyle: LabelStyle { 4 | func makeBody(configuration: Configuration) -> some View { 5 | VStack { 6 | HStack(spacing: 20) { 7 | configuration.icon 8 | .foregroundColor(.purple) 9 | configuration.icon 10 | .scaleEffect(2.0) 11 | configuration.icon 12 | .foregroundColor(.orange) 13 | } 14 | configuration.title 15 | .font(.headline) 16 | .padding() 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /04/04/Symbols/Symbols/SymbolsApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct SymbolsApp: App { 5 | var body: some Scene { 6 | WindowGroup { 7 | ContentView() 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /04/04/Symbols/Symbols/SystemLabel.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct SystemLabel { 4 | let name: String 5 | 6 | init(_ name: String) { 7 | self.name = name 8 | } 9 | } 10 | 11 | extension SystemLabel: View { 12 | var body: some View { 13 | Label(name, 14 | systemImage: name) 15 | } 16 | } 17 | 18 | struct SystemLabel_Previews: PreviewProvider { 19 | static var previews: some View { 20 | SystemLabel("questionmark") 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /04/05/Symbols/Symbols.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /04/05/Symbols/Symbols.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /04/05/Symbols/Symbols.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/04/05/Symbols/Symbols.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /04/05/Symbols/Symbols.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Symbols.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /04/05/Symbols/Symbols/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /04/05/Symbols/Symbols/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /04/05/Symbols/Symbols/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct ContentView { 4 | let columns = [GridItem(.adaptive(minimum: 60, 5 | maximum: 100))] 6 | } 7 | 8 | extension ContentView: View { 9 | var body: some View { 10 | ScrollView { 11 | LazyVGrid(columns: columns) { 12 | ForEach(symbols) {symbol in 13 | Image(systemName: symbol.name) 14 | .resizable() 15 | .scaledToFit() 16 | } 17 | } 18 | } 19 | } 20 | } 21 | 22 | 23 | struct ContentView_Previews: PreviewProvider { 24 | static var previews: some View { 25 | ContentView() 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /04/05/Symbols/Symbols/Model/Symbol.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | let symbols = symbolNames.map(Symbol.init) 4 | 5 | struct Symbol: Identifiable, Hashable { 6 | let name: String 7 | let id = UUID() 8 | } 9 | -------------------------------------------------------------------------------- /04/05/Symbols/Symbols/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /04/05/Symbols/Symbols/SurroundLabelStyle.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct SurroundLabelStyle: LabelStyle { 4 | func makeBody(configuration: Configuration) -> some View { 5 | VStack { 6 | HStack(spacing: 20) { 7 | configuration.icon 8 | .foregroundColor(.purple) 9 | configuration.icon 10 | .scaleEffect(2.0) 11 | configuration.icon 12 | .foregroundColor(.orange) 13 | } 14 | configuration.title 15 | .font(.headline) 16 | .padding() 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /04/05/Symbols/Symbols/SymbolsApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct SymbolsApp: App { 5 | var body: some Scene { 6 | WindowGroup { 7 | ContentView() 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /04/05/Symbols/Symbols/SystemLabel.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct SystemLabel { 4 | let name: String 5 | 6 | init(_ name: String) { 7 | self.name = name 8 | } 9 | } 10 | 11 | extension SystemLabel: View { 12 | var body: some View { 13 | Label(name, 14 | systemImage: name) 15 | } 16 | } 17 | 18 | struct SystemLabel_Previews: PreviewProvider { 19 | static var previews: some View { 20 | SystemLabel("questionmark") 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /04/06/Symbols/Symbols.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /04/06/Symbols/Symbols.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /04/06/Symbols/Symbols.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/04/06/Symbols/Symbols.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /04/06/Symbols/Symbols.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Symbols.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /04/06/Symbols/Symbols/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /04/06/Symbols/Symbols/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /04/06/Symbols/Symbols/Model/Node.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | let roots = root(of: symbolNames).map(Node.init) 4 | 5 | struct Node: Identifiable { 6 | let id = UUID() 7 | let name: String 8 | } 9 | -------------------------------------------------------------------------------- /04/06/Symbols/Symbols/Model/Symbol.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | let symbols = symbolNames.map(Symbol.init) 4 | 5 | struct Symbol: Identifiable, Hashable { 6 | let name: String 7 | let id = UUID() 8 | } 9 | -------------------------------------------------------------------------------- /04/06/Symbols/Symbols/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /04/06/Symbols/Symbols/SurroundLabelStyle.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct SurroundLabelStyle: LabelStyle { 4 | func makeBody(configuration: Configuration) -> some View { 5 | VStack { 6 | HStack(spacing: 20) { 7 | configuration.icon 8 | .foregroundColor(.purple) 9 | configuration.icon 10 | .scaleEffect(2.0) 11 | configuration.icon 12 | .foregroundColor(.orange) 13 | } 14 | configuration.title 15 | .font(.headline) 16 | .padding() 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /04/06/Symbols/Symbols/SymbolsApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct SymbolsApp: App { 5 | var body: some Scene { 6 | WindowGroup { 7 | ContentView() 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /04/06/Symbols/Symbols/SystemLabel.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct SystemLabel { 4 | let name: String 5 | 6 | init(_ name: String) { 7 | self.name = name 8 | } 9 | } 10 | 11 | extension SystemLabel: View { 12 | var body: some View { 13 | Label(name, 14 | systemImage: name) 15 | } 16 | } 17 | 18 | struct SystemLabel_Previews: PreviewProvider { 19 | static var previews: some View { 20 | SystemLabel("questionmark") 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /04/07/Symbols/Symbols.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /04/07/Symbols/Symbols.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /04/07/Symbols/Symbols.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/04/07/Symbols/Symbols.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /04/07/Symbols/Symbols.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Symbols.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /04/07/Symbols/Symbols/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /04/07/Symbols/Symbols/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /04/07/Symbols/Symbols/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct ContentView: View { 4 | var body: some View { 5 | List (roots, 6 | children: \.childNodes) {root in 7 | Text(root.name) 8 | } 9 | } 10 | } 11 | 12 | 13 | 14 | struct ContentView_Previews: PreviewProvider { 15 | static var previews: some View { 16 | ContentView() 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /04/07/Symbols/Symbols/Model/Node.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | let roots = root(of: symbolNames).map(Node.init) 4 | 5 | struct Node: Identifiable { 6 | let id = UUID() 7 | let name: String 8 | let childNodes: [Node]? 9 | 10 | init(name: String) { 11 | self.name = name 12 | 13 | if name.hasNoChildren { 14 | childNodes = nil 15 | } else { 16 | childNodes 17 | = subNodeNames(for: name) 18 | .map{nextNode in 19 | Node(name: "\(name).\(nextNode)") 20 | } 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /04/07/Symbols/Symbols/Model/Symbol.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | let symbols = symbolNames.map(Symbol.init) 4 | 5 | struct Symbol: Identifiable, Hashable { 6 | let name: String 7 | let id = UUID() 8 | } 9 | -------------------------------------------------------------------------------- /04/07/Symbols/Symbols/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /04/07/Symbols/Symbols/SurroundLabelStyle.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct SurroundLabelStyle: LabelStyle { 4 | func makeBody(configuration: Configuration) -> some View { 5 | VStack { 6 | HStack(spacing: 20) { 7 | configuration.icon 8 | .foregroundColor(.purple) 9 | configuration.icon 10 | .scaleEffect(2.0) 11 | configuration.icon 12 | .foregroundColor(.orange) 13 | } 14 | configuration.title 15 | .font(.headline) 16 | .padding() 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /04/07/Symbols/Symbols/SymbolsApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct SymbolsApp: App { 5 | var body: some Scene { 6 | WindowGroup { 7 | ContentView() 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /04/07/Symbols/Symbols/SystemLabel.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct SystemLabel { 4 | let name: String 5 | 6 | init(_ name: String) { 7 | self.name = name 8 | } 9 | } 10 | 11 | extension SystemLabel: View { 12 | var body: some View { 13 | Label(name, 14 | systemImage: name) 15 | } 16 | } 17 | 18 | struct SystemLabel_Previews: PreviewProvider { 19 | static var previews: some View { 20 | SystemLabel("questionmark") 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /04/SymbolExtras/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /.build 3 | /Packages 4 | xcuserdata/ 5 | DerivedData/ 6 | .swiftpm/configuration/registries.json 7 | .swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata 8 | .netrc 9 | -------------------------------------------------------------------------------- /04/SymbolExtras/Sources/SymbolExtras/Node.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | public let roots 4 | = root(of: symbolNames) 5 | .map(Node.init) 6 | 7 | public struct Node: Identifiable, Sendable, Hashable { 8 | public let id = UUID() 9 | public let name: String 10 | public let childNodes: [Node]? 11 | 12 | public init(name: String) { 13 | self.name = name 14 | 15 | if name.hasNoChildren { 16 | childNodes = nil 17 | } else { 18 | childNodes 19 | = subNodeNames(for: name) 20 | .map{nextNode in 21 | Node(name: "\(name).\(nextNode)") 22 | } 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /04/SymbolExtras/Sources/SymbolExtras/Symbol.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | public let symbols = symbolNames.map(Symbol.init) 4 | 5 | public struct Symbol: Identifiable, Hashable, Sendable { 6 | public let name: String 7 | public let id = UUID() 8 | } 9 | -------------------------------------------------------------------------------- /04/SymbolExtras/Sources/SymbolExtras/TabColors.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | public let symbolTabColors: [Color] = [.primary, .blue, .green, 4 | .secondary, .red, .purple, .yellow] 5 | 6 | extension Color: @retroactive Identifiable { 7 | public var id: Int { 8 | self.hashValue 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /05/01/CheckIn/CheckIn.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /05/01/CheckIn/CheckIn.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /05/01/CheckIn/CheckIn.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/05/01/CheckIn/CheckIn.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /05/01/CheckIn/CheckIn.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | CheckIn.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /05/01/CheckIn/CheckIn/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /05/01/CheckIn/CheckIn/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /05/01/CheckIn/CheckIn/CheckInApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct CheckInApp: App { 5 | var body: some Scene { 6 | WindowGroup { 7 | ContentView() 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /05/01/CheckIn/CheckIn/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct ContentView { 4 | } 5 | 6 | extension ContentView: View { 7 | var body: some View { 8 | TabView { 9 | CurrentView() 10 | .tabItem { 11 | Label("Record Mood", 12 | systemImage: "tray.and.arrow.down") 13 | } 14 | HistoryView() 15 | .tabItem { 16 | Label("History", 17 | systemImage: "tray.full") 18 | } 19 | } 20 | } 21 | } 22 | 23 | struct ContentView_Previews: PreviewProvider { 24 | static var previews: some View { 25 | ContentView() 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /05/01/CheckIn/CheckIn/CurrentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct CurrentView { 4 | 5 | } 6 | 7 | extension CurrentView: View { 8 | var body: some View { 9 | Text("Current View") 10 | } 11 | } 12 | 13 | struct CurrentView_Previews: PreviewProvider { 14 | static var previews: some View { 15 | CurrentView() 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /05/01/CheckIn/CheckIn/HistoryView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct HistoryView { 4 | } 5 | 6 | extension HistoryView: View { 7 | var body: some View { 8 | Text("History View") 9 | } 10 | } 11 | 12 | struct HistoryView_Previews: PreviewProvider { 13 | static var previews: some View { 14 | HistoryView() 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /05/01/CheckIn/CheckIn/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /05/02/CheckIn/CheckIn.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /05/02/CheckIn/CheckIn.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /05/02/CheckIn/CheckIn.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/05/02/CheckIn/CheckIn.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /05/02/CheckIn/CheckIn.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | CheckIn.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /05/02/CheckIn/CheckIn/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /05/02/CheckIn/CheckIn/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /05/02/CheckIn/CheckIn/CheckInApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct CheckInApp: App { 5 | var body: some Scene { 6 | WindowGroup { 7 | ContentView() 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /05/02/CheckIn/CheckIn/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct ContentView { 4 | } 5 | 6 | extension ContentView: View { 7 | var body: some View { 8 | TabView { 9 | CurrentView() 10 | .tabItem { 11 | Label("Record Mood", 12 | systemImage: "tray.and.arrow.down") 13 | } 14 | HistoryView() 15 | .tabItem { 16 | Label("History", 17 | systemImage: "tray.full") 18 | } 19 | } 20 | } 21 | } 22 | 23 | struct ContentView_Previews: PreviewProvider { 24 | static var previews: some View { 25 | ContentView() 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /05/02/CheckIn/CheckIn/CurrentViewSupport.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | class CurrentViewSupport: ObservableObject { 4 | @Published var rating = "" 5 | let minimumRating = 0 6 | let maximumRating = 100 7 | } 8 | 9 | extension CurrentViewSupport { 10 | func clearRating() { 11 | rating = "" 12 | } 13 | var prompt: String { 14 | "Range \(minimumRating) - \(maximumRating)" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /05/02/CheckIn/CheckIn/HistoryView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct HistoryView { 4 | } 5 | 6 | extension HistoryView: View { 7 | var body: some View { 8 | Text("History View") 9 | } 10 | } 11 | 12 | struct HistoryView_Previews: PreviewProvider { 13 | static var previews: some View { 14 | HistoryView() 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /05/02/CheckIn/CheckIn/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /05/02/CheckIn/CheckIn/TextEntryModifier.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct TextEntryModifier: ViewModifier { 4 | func body(content: Content) -> some View { 5 | content 6 | .textFieldStyle(.roundedBorder) 7 | .multilineTextAlignment(.center) 8 | .padding(.horizontal, 40) 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /05/03/CheckIn/CheckIn.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /05/03/CheckIn/CheckIn.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /05/03/CheckIn/CheckIn.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/05/03/CheckIn/CheckIn.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /05/03/CheckIn/CheckIn.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | CheckIn.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /05/03/CheckIn/CheckIn/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /05/03/CheckIn/CheckIn/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /05/03/CheckIn/CheckIn/CheckInApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct CheckInApp: App { 5 | var body: some Scene { 6 | WindowGroup { 7 | ContentView() 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /05/03/CheckIn/CheckIn/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct ContentView { 4 | } 5 | 6 | extension ContentView: View { 7 | var body: some View { 8 | TabView { 9 | CurrentView() 10 | .tabItem { 11 | Label("Record Mood", 12 | systemImage: "tray.and.arrow.down") 13 | } 14 | HistoryView() 15 | .tabItem { 16 | Label("History", 17 | systemImage: "tray.full") 18 | } 19 | } 20 | } 21 | } 22 | 23 | struct ContentView_Previews: PreviewProvider { 24 | static var previews: some View { 25 | ContentView() 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /05/03/CheckIn/CheckIn/HistoryView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct HistoryView { 4 | } 5 | 6 | extension HistoryView: View { 7 | var body: some View { 8 | Text("History View") 9 | } 10 | } 11 | 12 | struct HistoryView_Previews: PreviewProvider { 13 | static var previews: some View { 14 | HistoryView() 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /05/03/CheckIn/CheckIn/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /05/03/CheckIn/CheckIn/TextEntryModifier.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct TextEntryModifier: ViewModifier { 4 | func body(content: Content) -> some View { 5 | content 6 | .textFieldStyle(.roundedBorder) 7 | .multilineTextAlignment(.center) 8 | .padding(.horizontal, 40) 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /05/04/CheckIn/CheckIn.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /05/04/CheckIn/CheckIn.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /05/04/CheckIn/CheckIn.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/05/04/CheckIn/CheckIn.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /05/04/CheckIn/CheckIn.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | CheckIn.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /05/04/CheckIn/CheckIn/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /05/04/CheckIn/CheckIn/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /05/04/CheckIn/CheckIn/CheckInApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct CheckInApp: App { 5 | var body: some Scene { 6 | WindowGroup { 7 | ContentView() 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /05/04/CheckIn/CheckIn/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct ContentView { 4 | } 5 | 6 | extension ContentView: View { 7 | var body: some View { 8 | TabView { 9 | CurrentView() 10 | .tabItem { 11 | Label("Record Mood", 12 | systemImage: "tray.and.arrow.down") 13 | } 14 | HistoryView() 15 | .tabItem { 16 | Label("History", 17 | systemImage: "tray.full") 18 | } 19 | } 20 | } 21 | } 22 | 23 | struct ContentView_Previews: PreviewProvider { 24 | static var previews: some View { 25 | ContentView() 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /05/04/CheckIn/CheckIn/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /05/04/CheckIn/CheckIn/TextEntryModifier.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct TextEntryModifier: ViewModifier { 4 | func body(content: Content) -> some View { 5 | content 6 | .textFieldStyle(.roundedBorder) 7 | .multilineTextAlignment(.center) 8 | .padding(.horizontal, 40) 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /05/05/CheckIn/CheckIn.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /05/05/CheckIn/CheckIn.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /05/05/CheckIn/CheckIn.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/05/05/CheckIn/CheckIn.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /05/05/CheckIn/CheckIn.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | CheckIn.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /05/05/CheckIn/CheckIn/Accent.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | class Accent: ObservableObject { 4 | @Published var color: Color = .accentColor 5 | } 6 | -------------------------------------------------------------------------------- /05/05/CheckIn/CheckIn/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /05/05/CheckIn/CheckIn/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /05/05/CheckIn/CheckIn/CheckInApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct CheckInApp: App { 5 | @StateObject private var accent = Accent() 6 | 7 | var body: some Scene { 8 | WindowGroup { 9 | ContentView() 10 | .accentColor(accent.color) 11 | .environmentObject(accent) 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /05/05/CheckIn/CheckIn/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct ContentView { 4 | } 5 | 6 | extension ContentView: View { 7 | var body: some View { 8 | TabView { 9 | CurrentView() 10 | .tabItem { 11 | Label("Record Mood", 12 | systemImage: "tray.and.arrow.down") 13 | } 14 | HistoryView() 15 | .tabItem { 16 | Label("History", 17 | systemImage: "tray.full") 18 | } 19 | } 20 | } 21 | } 22 | 23 | struct ContentView_Previews: PreviewProvider { 24 | static var previews: some View { 25 | ContentView() 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /05/05/CheckIn/CheckIn/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /05/05/CheckIn/CheckIn/TextEntryModifier.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct TextEntryModifier: ViewModifier { 4 | func body(content: Content) -> some View { 5 | content 6 | .textFieldStyle(.roundedBorder) 7 | .multilineTextAlignment(.center) 8 | .padding(.horizontal, 40) 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /05/06/CheckIn/CheckIn.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /05/06/CheckIn/CheckIn.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /05/06/CheckIn/CheckIn.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/05/06/CheckIn/CheckIn.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /05/06/CheckIn/CheckIn.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | CheckIn.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /05/06/CheckIn/CheckIn/Accent.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | class Accent: ObservableObject { 4 | @Published var color: Color = .accentColor 5 | } 6 | -------------------------------------------------------------------------------- /05/06/CheckIn/CheckIn/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /05/06/CheckIn/CheckIn/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /05/06/CheckIn/CheckIn/CheckInApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct CheckInApp: App { 5 | @StateObject private var accent = Accent() 6 | 7 | var body: some Scene { 8 | WindowGroup { 9 | ContentView() 10 | .accentColor(accent.color) 11 | .environmentObject(accent) 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /05/06/CheckIn/CheckIn/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct ContentView { 4 | let history = History() 5 | } 6 | 7 | extension ContentView: View { 8 | var body: some View { 9 | TabView { 10 | CurrentView(history: history) 11 | .tabItem { 12 | Label("Record Mood", 13 | systemImage: "tray.and.arrow.down") 14 | } 15 | HistoryView(history: history) 16 | .tabItem { 17 | Label("History", 18 | systemImage: "tray.full") 19 | } 20 | } 21 | } 22 | } 23 | 24 | struct ContentView_Previews: PreviewProvider { 25 | static var previews: some View { 26 | ContentView() 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /05/06/CheckIn/CheckIn/History.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | class History: ObservableObject { 4 | @Published private(set) var snapshots: [Snapshot] = [] 5 | } 6 | 7 | extension History { 8 | func add(_ rating: Int) { 9 | snapshots.append(Snapshot(rating: rating)) 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /05/06/CheckIn/CheckIn/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /05/06/CheckIn/CheckIn/Snapshot.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | struct Snapshot: Identifiable { 4 | let rating: Int 5 | let date = Date() 6 | let id = UUID() 7 | } 8 | -------------------------------------------------------------------------------- /05/06/CheckIn/CheckIn/TextEntryModifier.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct TextEntryModifier: ViewModifier { 4 | func body(content: Content) -> some View { 5 | content 6 | .textFieldStyle(.roundedBorder) 7 | .multilineTextAlignment(.center) 8 | .padding(.horizontal, 40) 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /05/07/CheckIn/CheckIn.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /05/07/CheckIn/CheckIn.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /05/07/CheckIn/CheckIn.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/05/07/CheckIn/CheckIn.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /05/07/CheckIn/CheckIn.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | CheckIn.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /05/07/CheckIn/CheckIn/Accent.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | class Accent: ObservableObject { 4 | @Published var color: Color = .accentColor 5 | } 6 | -------------------------------------------------------------------------------- /05/07/CheckIn/CheckIn/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /05/07/CheckIn/CheckIn/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /05/07/CheckIn/CheckIn/CheckInApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct CheckInApp: App { 5 | @StateObject private var accent = Accent() 6 | 7 | var body: some Scene { 8 | WindowGroup { 9 | ContentView() 10 | .accentColor(accent.color) 11 | .environmentObject(accent) 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /05/07/CheckIn/CheckIn/History.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | import UIKit 3 | import SwiftUI 4 | 5 | class History: ObservableObject { 6 | @Published private(set) var snapshots: [Snapshot] = [] 7 | } 8 | 9 | extension History { 10 | func add(_ rating: Int) { 11 | snapshots.append(Snapshot(rating: rating)) 12 | } 13 | 14 | func remove(_ indexSet: IndexSet) { 15 | _ = indexSet.map{index in 16 | snapshots.remove(at: index) 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /05/07/CheckIn/CheckIn/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /05/07/CheckIn/CheckIn/Snapshot.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | struct Snapshot: Identifiable { 4 | let rating: Int 5 | let date = Date() 6 | let id = UUID() 7 | } 8 | -------------------------------------------------------------------------------- /05/07/CheckIn/CheckIn/TextEntryModifier.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct TextEntryModifier: ViewModifier { 4 | func body(content: Content) -> some View { 5 | content 6 | .textFieldStyle(.roundedBorder) 7 | .multilineTextAlignment(.center) 8 | .padding(.horizontal, 40) 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /05/08/CheckIn/CheckIn.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /05/08/CheckIn/CheckIn.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /05/08/CheckIn/CheckIn.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/05/08/CheckIn/CheckIn.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /05/08/CheckIn/CheckIn.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | CheckIn.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /05/08/CheckIn/CheckIn/Accent.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | class Accent: ObservableObject { 4 | @Published var color: Color = .accentColor 5 | } 6 | -------------------------------------------------------------------------------- /05/08/CheckIn/CheckIn/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /05/08/CheckIn/CheckIn/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /05/08/CheckIn/CheckIn/CheckInApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct CheckInApp: App { 5 | @StateObject private var accent = Accent() 6 | 7 | var body: some Scene { 8 | WindowGroup { 9 | ContentView() 10 | .accentColor(accent.color) 11 | .environmentObject(accent) 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /05/08/CheckIn/CheckIn/History.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | import UIKit 3 | import SwiftUI 4 | 5 | class History: ObservableObject { 6 | @Published private(set) var snapshots: [Snapshot] = [] 7 | } 8 | 9 | extension History { 10 | func add(_ rating: Int) { 11 | snapshots.append(Snapshot(rating: rating)) 12 | } 13 | 14 | func remove(_ indexSet: IndexSet) { 15 | _ = indexSet.map{index in 16 | snapshots.remove(at: index) 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /05/08/CheckIn/CheckIn/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /05/08/CheckIn/CheckIn/Snapshot.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | struct Snapshot: Identifiable { 4 | let rating: Int 5 | let date = Date() 6 | let id = UUID() 7 | } 8 | -------------------------------------------------------------------------------- /05/08/CheckIn/CheckIn/TextEntryModifier.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct TextEntryModifier: ViewModifier { 4 | func body(content: Content) -> some View { 5 | content 6 | .textFieldStyle(.roundedBorder) 7 | .multilineTextAlignment(.center) 8 | .padding(.horizontal, 40) 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /05/09/CheckIn/CheckIn.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /05/09/CheckIn/CheckIn.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /05/09/CheckIn/CheckIn.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/05/09/CheckIn/CheckIn.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /05/09/CheckIn/CheckIn.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | CheckIn.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /05/09/CheckIn/CheckIn/Accent.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | class Accent: ObservableObject { 4 | @Published var color: Color = .accentColor 5 | } 6 | -------------------------------------------------------------------------------- /05/09/CheckIn/CheckIn/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /05/09/CheckIn/CheckIn/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /05/09/CheckIn/CheckIn/CheckInApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct CheckInApp: App { 5 | @StateObject private var accent = Accent() 6 | 7 | var body: some Scene { 8 | WindowGroup { 9 | ContentView() 10 | .accentColor(accent.color) 11 | .environmentObject(accent) 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /05/09/CheckIn/CheckIn/History.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | import UIKit 3 | import SwiftUI 4 | 5 | class History: ObservableObject { 6 | @Published private(set) var snapshots: [Snapshot] = [] 7 | } 8 | 9 | extension History { 10 | func add(_ rating: Int) { 11 | snapshots.append(Snapshot(rating: rating)) 12 | } 13 | 14 | func remove(_ indexSet: IndexSet) { 15 | _ = indexSet.map{index in 16 | snapshots.remove(at: index) 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /05/09/CheckIn/CheckIn/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /05/09/CheckIn/CheckIn/Snapshot.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | struct Snapshot: Identifiable { 4 | let rating: Int 5 | let date = Date() 6 | let id = UUID() 7 | } 8 | -------------------------------------------------------------------------------- /05/09/CheckIn/CheckIn/TextEntryModifier.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct TextEntryModifier: ViewModifier { 4 | func body(content: Content) -> some View { 5 | content 6 | .textFieldStyle(.roundedBorder) 7 | .multilineTextAlignment(.center) 8 | .padding(.horizontal, 40) 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /06/01/Mood/Mood.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /06/01/Mood/Mood.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /06/01/Mood/Mood.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/06/01/Mood/Mood.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /06/01/Mood/Mood.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /06/01/Mood/Mood.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Mood.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /06/01/Mood/Mood/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /06/01/Mood/Mood/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /06/01/Mood/Mood/MoodApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct MoodApp: App { 5 | var body: some Scene { 6 | WindowGroup { 7 | ContentView() 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /06/01/Mood/Mood/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /06/02/Mood/Mood.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /06/02/Mood/Mood.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /06/02/Mood/Mood.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/06/02/Mood/Mood.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /06/02/Mood/Mood.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /06/02/Mood/Mood.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Mood.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /06/02/Mood/Mood/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /06/02/Mood/Mood/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /06/02/Mood/Mood/MoodApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct MoodApp: App { 5 | var body: some Scene { 6 | WindowGroup { 7 | ContentView() 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /06/02/Mood/Mood/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /06/03/Mood/Mood.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /06/03/Mood/Mood.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /06/03/Mood/Mood.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/06/03/Mood/Mood.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /06/03/Mood/Mood.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /06/03/Mood/Mood.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Mood.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /06/03/Mood/Mood/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /06/03/Mood/Mood/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /06/03/Mood/Mood/MoodApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct MoodApp: App { 5 | var body: some Scene { 6 | WindowGroup { 7 | ContentView() 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /06/03/Mood/Mood/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /06/03/Mood/Mood/SwiftyMoji.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct SwiftyMoji { 4 | let value: Double 5 | } 6 | 7 | extension SwiftyMoji: View { 8 | var body: some View { 9 | Circle() 10 | .foregroundColor(color) 11 | } 12 | } 13 | 14 | extension SwiftyMoji { 15 | var color: Color { 16 | Color(red: (100 - value)/50, 17 | green: value/50, 18 | blue: 0) 19 | } 20 | } 21 | 22 | struct SwiftyMoji_Previews: PreviewProvider { 23 | static var previews: some View { 24 | SwiftyMoji(value: 60) 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /06/04/Mood/Mood.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /06/04/Mood/Mood.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /06/04/Mood/Mood.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/06/04/Mood/Mood.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /06/04/Mood/Mood.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /06/04/Mood/Mood.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Mood.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /06/04/Mood/Mood/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /06/04/Mood/Mood/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /06/04/Mood/Mood/Eyes.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct Eyes { 4 | 5 | } 6 | 7 | extension Eyes: View { 8 | var body: some View { 9 | HStack { 10 | Circle() 11 | Spacer() 12 | Circle() 13 | } 14 | .foregroundColor(.black) 15 | } 16 | } 17 | 18 | struct Eyes_Previews: PreviewProvider { 19 | static var previews: some View { 20 | Eyes() 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /06/04/Mood/Mood/MoodApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct MoodApp: App { 5 | var body: some Scene { 6 | let systemBackground = Color(UIColor.systemBackground) 7 | WindowGroup { 8 | ContentView() 9 | .background(.thinMaterial) 10 | .background(LinearGradient(colors: [systemBackground, 11 | .primary, 12 | systemBackground], 13 | startPoint: .top, 14 | endPoint: .bottom)) 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /06/04/Mood/Mood/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /06/04/Mood/Mood/SwiftyMoji.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct SwiftyMoji { 4 | let value: Double 5 | } 6 | 7 | extension SwiftyMoji: View { 8 | var body: some View { 9 | ZStack { 10 | Circle() 11 | .foregroundColor(color) 12 | Eyes() 13 | } 14 | } 15 | } 16 | 17 | extension SwiftyMoji { 18 | var color: Color { 19 | Color(red: (100 - value)/50, 20 | green: value/50, 21 | blue: 0) 22 | } 23 | } 24 | 25 | struct SwiftyMoji_Previews: PreviewProvider { 26 | static var previews: some View { 27 | SwiftyMoji(value: 60) 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /06/05/Mood/Mood.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /06/05/Mood/Mood.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /06/05/Mood/Mood.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/06/05/Mood/Mood.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /06/05/Mood/Mood.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /06/05/Mood/Mood.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Mood.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /06/05/Mood/Mood/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /06/05/Mood/Mood/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /06/05/Mood/Mood/Eyes.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct Eyes { 4 | 5 | } 6 | 7 | extension Eyes: View { 8 | var body: some View { 9 | HStack { 10 | Circle() 11 | Spacer() 12 | Circle() 13 | } 14 | .foregroundColor(.black) 15 | .frame(width: 300, 16 | height: 20, 17 | alignment: .center) 18 | .offset(x: 0, y: -40) 19 | } 20 | } 21 | 22 | struct Eyes_Previews: PreviewProvider { 23 | static var previews: some View { 24 | Eyes() 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /06/05/Mood/Mood/MoodApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct MoodApp: App { 5 | var body: some Scene { 6 | let systemBackground = Color(UIColor.systemBackground) 7 | WindowGroup { 8 | ContentView() 9 | .background(.thinMaterial) 10 | .background(LinearGradient(colors: [systemBackground, 11 | .primary, 12 | systemBackground], 13 | startPoint: .top, 14 | endPoint: .bottom)) 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /06/05/Mood/Mood/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /06/05/Mood/Mood/SwiftyMoji.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct SwiftyMoji { 4 | let value: Double 5 | } 6 | 7 | extension SwiftyMoji: View { 8 | var body: some View { 9 | ZStack { 10 | Circle() 11 | .foregroundColor(color) 12 | Eyes() 13 | } 14 | } 15 | } 16 | 17 | extension SwiftyMoji { 18 | var color: Color { 19 | Color(red: (100 - value)/50, 20 | green: value/50, 21 | blue: 0) 22 | } 23 | } 24 | 25 | struct SwiftyMoji_Previews: PreviewProvider { 26 | static var previews: some View { 27 | SwiftyMoji(value: 60) 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /06/06/Mood/Mood.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /06/06/Mood/Mood.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /06/06/Mood/Mood.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/06/06/Mood/Mood.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /06/06/Mood/Mood.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /06/06/Mood/Mood.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Mood.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /06/06/Mood/Mood/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /06/06/Mood/Mood/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /06/06/Mood/Mood/Eyes.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct Eyes { 4 | let size: CGFloat 5 | } 6 | 7 | extension Eyes: View { 8 | var body: some View { 9 | HStack { 10 | Circle() 11 | Spacer() 12 | Circle() 13 | } 14 | .foregroundColor(.black) 15 | .frame(width: size * 3 / 4, 16 | height: size / 12, 17 | alignment: .center) 18 | .offset(x: 0, y: -size / 8) 19 | } 20 | } 21 | 22 | struct Eyes_Previews: PreviewProvider { 23 | static var previews: some View { 24 | Eyes(size: 100) 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /06/06/Mood/Mood/MoodApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct MoodApp: App { 5 | var body: some Scene { 6 | let systemBackground = Color(UIColor.systemBackground) 7 | WindowGroup { 8 | ContentView() 9 | .background(.thinMaterial) 10 | .background(LinearGradient(colors: [systemBackground, 11 | .primary, 12 | systemBackground], 13 | startPoint: .top, 14 | endPoint: .bottom)) 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /06/06/Mood/Mood/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /06/07/Mood/Mood.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /06/07/Mood/Mood.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /06/07/Mood/Mood.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/06/07/Mood/Mood.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /06/07/Mood/Mood.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /06/07/Mood/Mood.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Mood.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /06/07/Mood/Mood/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /06/07/Mood/Mood/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /06/07/Mood/Mood/Eyes.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | struct Eyes { 4 | let size: CGFloat 5 | } 6 | 7 | extension Eyes: View { 8 | var body: some View { 9 | HStack { 10 | Circle() 11 | Spacer() 12 | Circle() 13 | } 14 | .foregroundColor(.black) 15 | .frame(width: size * 3 / 4, 16 | height: size / 12, 17 | alignment: .center) 18 | .offset(x: 0, y: -size / 8) 19 | } 20 | } 21 | 22 | struct Eyes_Previews: PreviewProvider { 23 | static var previews: some View { 24 | Eyes(size: 100) 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /06/07/Mood/Mood/MoodApp.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | 3 | @main 4 | struct MoodApp: App { 5 | var body: some Scene { 6 | let systemBackground = Color(UIColor.systemBackground) 7 | WindowGroup { 8 | ContentView() 9 | .background(.thinMaterial) 10 | .background(LinearGradient(colors: [systemBackground, 11 | .primary, 12 | systemBackground], 13 | startPoint: .top, 14 | endPoint: .bottom)) 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /06/07/Mood/Mood/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/Cover.png -------------------------------------------------------------------------------- /Prequel/01/ManualGoodbye1/ManualGoodbye1.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Prequel/01/ManualGoodbye1/ManualGoodbye1.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Prequel/01/ManualGoodbye1/ManualGoodbye1.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/Prequel/01/ManualGoodbye1/ManualGoodbye1.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Prequel/01/ManualGoodbye1/ManualGoodbye1.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | ManualGoodbye1.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Prequel/01/ManualGoodbye1/ManualGoodbye1/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Prequel/01/ManualGoodbye2/ManualGoodbye2.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Prequel/01/ManualGoodbye2/ManualGoodbye2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Prequel/01/ManualGoodbye2/ManualGoodbye2.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/Prequel/01/ManualGoodbye2/ManualGoodbye2.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Prequel/01/ManualGoodbye2/ManualGoodbye2.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | ManualGoodbye2.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Prequel/01/ManualGoodbye2/ManualGoodbye2/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Prequel/01/ManualGoodbye2/ManualGoodbye2/GreetingButton.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | 3 | class GreetingButton: UIButton { 4 | convenience init(title: String, 5 | target: AnyObject, 6 | selector: Selector) { 7 | self.init(type: .roundedRect) 8 | setTitle(title, for: .normal) 9 | addTarget(target, action: selector, for: .touchUpInside) 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Prequel/01/ManualGoodbye2/ManualGoodbye2/GreetingLabel.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | 3 | class GreetingLabel: UILabel { 4 | convenience init(displaying text: String) { 5 | self.init() 6 | textColor = .secondaryLabel 7 | font = UIFont.preferredFont(forTextStyle: .title1) 8 | self.text = text 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Prequel/01/VisualGoodbye/VisualGoodbye.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Prequel/01/VisualGoodbye/VisualGoodbye.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Prequel/01/VisualGoodbye/VisualGoodbye.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/Prequel/01/VisualGoodbye/VisualGoodbye.xcodeproj/project.xcworkspace/xcuserdata/dimsum.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Prequel/01/VisualGoodbye/VisualGoodbye.xcodeproj/xcuserdata/dimsum.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | VisualGoodbye.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Prequel/01/VisualGoodbye/VisualGoodbye/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Prequel/01/VisualGoodbye/VisualGoodbye/ViewController.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | 3 | class ViewController: UIViewController { 4 | @IBOutlet private weak var greetingLabel: UILabel! 5 | 6 | @IBAction private func greet(_ button: UIButton) { 7 | button.isEnabled = false 8 | greetingLabel.text = "Hello, World!" 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /Prequel/A SwiftUI Kickstart Prequel - Daniel H Steinberg.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/editorscut/ec009-SwiftUIKickstart/95c4b34a36f19776ab422436fc39e03c0c47b6bb/Prequel/A SwiftUI Kickstart Prequel - Daniel H Steinberg.pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ec009-SwiftUIKickstart 2 | Code for the book A SwiftUI Kickstart 3 | 4 | 5 | 6 | This is the code for the Swift 5.3 update to A SwiftUI Kickstart. 7 | 8 | Updated for v 0.0.0.6 October 10, 2020 9 | 10 | The code requires Xcode 12 11 | 12 | The book can be found at http://editorscut.com 13 | 14 | Restrictions in the book apply 15 | 16 | Copyright 2020 Dim Sum Thinking, Inc 17 | 18 | Code is to illustrate concepts taught in the book. You really shouldn't use it in shipping apps. 19 | --------------------------------------------------------------------------------