├── .DS_Store ├── 2958897~dark@2x.png ├── 4ecf0924-ea2b-4faa-aea8-7bfc0b3fe419.png ├── 640px-Signal_Sampling.svg.png ├── AppNotificationDelegate ├── AppNotificationDelegate.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist └── AppNotificationDelegate │ ├── AppDelegatesParent.swift │ ├── AppNotificationDelegateApp.swift │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── ContentView.swift │ ├── NotificationsDelegate.swift │ └── Preview Content │ └── Preview Assets.xcassets │ └── Contents.json ├── AppleDeviceNotifications ├── .DS_Store ├── 3544497_dark@2x.png ├── 3559454_dark@2x.png ├── 58245c65-723d-4785-84e1-11d7534c6e11.png ├── AppleDeviceNotifications.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist ├── AppleDeviceNotifications │ ├── AppNotificationUtils.swift │ ├── AppleDeviceNotificationsApp.swift │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ ├── ContentView.swift │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ └── SettingsViewModel.swift └── README.md ├── AppleSwiftUICharts ├── AppleSwiftUICharts.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist └── AppleSwiftUICharts │ ├── AppleSwiftUIChartsApp.swift │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── ContentView.swift │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ ├── charts │ ├── ApolloStageBurnChart.swift │ ├── CompanyProfitsChart.swift │ ├── FoodAreaMarkChart.swift │ ├── FoodChartCenterStack.swift │ ├── FoodStackedAreaMarkChart.swift │ ├── FoodTruckSingleBarChart.swift │ ├── HoursOfSunshineChart.swift │ ├── ToyShapesChart.swift │ └── WeeklySalesBarChart.swift │ └── data │ ├── ApolloStageBurnData.swift │ ├── CompanyProfits.swift │ ├── FoodData.swift │ ├── PancakeSales.swift │ ├── SalesSummary.swift │ ├── SunshineData.swift │ └── ToyShape.swift ├── CameraCaptureLab ├── CameraCaptureLab.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist └── CameraCaptureLab │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── CameraCaptureLabApp.swift │ ├── CameraCaptureView.swift │ ├── ContentView.swift │ └── Preview Content │ └── Preview Assets.xcassets │ └── Contents.json ├── CodeAlong ├── CombineCustomPubSub │ ├── CombineCustomPubSub.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcuserdata │ │ │ │ └── samuelowino.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ └── CombineCustomPubSub │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── CombineCustomPubSubApp.swift │ │ ├── ContentView.swift │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ ├── combine │ │ └── FruitsSubscription.swift │ │ ├── errors │ │ └── FruitDeliveryError.swift │ │ ├── model │ │ └── Fruit.swift │ │ ├── repository │ │ └── FruitsRepository.swift │ │ └── viewModel │ │ └── FruitsViewModel.swift └── iosconfcodealong │ ├── iosconfcodealong.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist │ └── iosconfcodealong │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── ContentView.swift │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ └── iosconfcodealongApp.swift ├── ColorSelectorApp ├── .DS_Store ├── ColorSelectorApp.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist └── ColorSelectorApp │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── ColorDetailView.swift │ ├── ColorSelectorAppApp.swift │ ├── ContentView.swift │ └── Preview Content │ └── Preview Assets.xcassets │ └── Contents.json ├── ComposingLayouts ├── .DS_Store ├── ComposingLayouts.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist └── ComposingLayouts │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ ├── charleyrivers.imageset │ │ ├── Contents.json │ │ └── charleyrivers.jpg │ ├── chilkoottrail.imageset │ │ ├── Contents.json │ │ └── chilkoottrail.jpg │ ├── chincoteague.imageset │ │ ├── Contents.json │ │ └── chincoteague.jpg │ ├── hiddenlake.imageset │ │ ├── Contents.json │ │ └── hiddenlake.jpg │ ├── icybay.imageset │ │ ├── Contents.json │ │ └── icybay.jpg │ ├── lakemcdonald.imageset │ │ ├── Contents.json │ │ └── lakemcdonald.jpg │ ├── rainbowlake.imageset │ │ ├── Contents.json │ │ └── rainbowlake.jpg │ ├── silversalmoncreek.imageset │ │ ├── Contents.json │ │ └── silversalmoncreek.jpg │ ├── stmarylake.imageset │ │ ├── Contents.json │ │ └── stmarylake.jpg │ ├── turtlerock.imageset │ │ ├── Contents.json │ │ └── turtlerock.jpg │ ├── twinlake.imageset │ │ ├── Contents.json │ │ └── twinlake.jpg │ └── umbagog.imageset │ │ ├── Contents.json │ │ └── umbagog.jpg │ ├── ComposingLayoutsApp.swift │ ├── ContentView.swift │ ├── Enums │ ├── Season.swift │ └── Tab.swift │ ├── EnvironmentValues │ ├── ParkBrandEnvironmentKey.swift │ └── ViewExtensions.swift │ ├── Graphics │ ├── Badge.swift │ ├── BadgeBackground.swift │ ├── BadgeSymbol.swift │ ├── GraphCapsule.swift │ ├── HikeBadge.swift │ ├── HikeGraph.swift │ └── RotatedBadgeSymbol.swift │ ├── Model │ ├── HexagonParameters.swift │ ├── Hike.swift │ ├── Landmark.swift │ ├── ModelData.swift │ └── Profile.swift │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ ├── Resources │ ├── hikeData.json │ └── landmarkData.json │ ├── Settings │ └── SettingsView.swift │ └── Views │ ├── CategoryHomeView.swift │ ├── CustomViews │ ├── FavoriteButton.swift │ └── ParkCircleImageView.swift │ ├── HikeBadgeView.swift │ ├── HikeDetail.swift │ ├── HikeView.swift │ ├── ItemViews │ ├── CategoryItemView.swift │ ├── CategoryRow.swift │ ├── LandmarkRow.swift │ └── ProfileHost.swift │ ├── LandmarkDetail.swift │ ├── LandmarkListView.swift │ ├── NationalParkMapView.swift │ ├── ProfileEditor.swift │ └── ProfileSummaryView.swift ├── CoreGestures ├── .DS_Store ├── CoreGestures.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist ├── CoreGestures │ ├── .DS_Store │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ ├── ContentView.swift │ ├── CoreGesturesApp.swift │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ └── views │ │ ├── DragGestureViewBasic.swift │ │ ├── IgnitionDriveStackoverflowAnswer.swift │ │ ├── IgnitionDriveView.swift │ │ ├── LongPressGestureDocsSample.swift │ │ ├── MagnifyGestureView.swift │ │ └── RotationGestureView.swift └── README.md ├── CustomBadgeApp ├── .DS_Store ├── chapter-two.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist └── chapter-two │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── ContentView.swift │ ├── Graphics │ └── HexagonParameters.swift │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ ├── Views │ └── BadgeBackground.swift │ └── chapter_twoApp.swift ├── DotSwiftSoundVisualizer ├── .DS_Store ├── DotSwiftSoundVisualizer.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist └── DotSwiftSoundVisualizer │ ├── View+.swift │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── ContentView.swift │ ├── DotSwiftSoundVisualizerApp.swift │ ├── Gauge.swift │ └── Preview Content │ └── Preview Assets.xcassets │ └── Contents.json ├── DrawingAndAnimations ├── .DS_Store ├── DrawingAndAnimations.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist ├── DrawingAndAnimations │ ├── .DS_Store │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ ├── BadgeBackground.swift │ ├── BadgeSymbol.swift │ ├── BadgeView.swift │ ├── CanvasParticlesView.swift │ ├── CanvasView.swift │ ├── ContentView.swift │ ├── DrawingAndAnimationsApp.swift │ ├── DrawingPaths.swift │ ├── GradientViews.swift │ ├── HexagonParameters.swift │ ├── LinearGradientView.swift │ ├── MorePathsExercise.swift │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ ├── RotatedBadgeSymbol.swift │ └── TimeLineView.swift └── README.MD ├── FrameworkOverview@2x.png ├── GameScore ├── .DS_Store ├── GameScore.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist └── GameScore │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── ContentView.swift │ ├── Data │ └── GameSettings.swift │ ├── GameScoreApp.swift │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ └── Views │ └── ScoreView.swift ├── GridViewLab ├── GridViewLab.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist └── GridViewLab │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ ├── color-purple-eggplant.colorset │ │ └── Contents.json │ ├── color-purple-heather.colorset │ │ └── Contents.json │ └── color-purple-iris.colorset │ │ └── Contents.json │ ├── ContentView.swift │ ├── ForEachImageView.swift │ ├── GridViewLabApp.swift │ └── Preview Content │ └── Preview Assets.xcassets │ └── Contents.json ├── HikeApp ├── .DS_Store ├── chapter-two-b.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist └── chapter-two-b │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── ChapterTwoBApp.swift │ ├── ContentView.swift │ ├── Model │ ├── Hike.swift │ ├── Landmark.swift │ └── ModelData.swift │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ ├── Resources │ └── hikeData.json │ └── Views │ ├── GraphCapsule.swift │ ├── HikeDetail.swift │ ├── HikeGraph.swift │ └── HikeView.swift ├── LandmarkApp ├── .DS_Store ├── chapter-1-section-1.png ├── chapter-1-section-2.png ├── chapter-one.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist └── chapter-one │ ├── .DS_Store │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ ├── Image.imageset │ │ └── Contents.json │ ├── charleyrivers.imageset │ │ ├── Contents.json │ │ └── charleyrivers.jpg │ ├── chikoottrail.imageset │ │ ├── Contents.json │ │ └── chikoottrail.jpg │ ├── chilkoottrail.imageset │ │ ├── Contents.json │ │ └── chilkoottrail.jpg │ ├── chincoteague.imageset │ │ ├── Contents.json │ │ └── chincoteague.jpg │ ├── hiddenlake.imageset │ │ ├── Contents.json │ │ └── hiddenlake.jpg │ ├── icybay.imageset │ │ ├── Contents.json │ │ └── icybay.jpg │ ├── lakemcdonald.imageset │ │ ├── Contents.json │ │ └── lakemcdonald.jpg │ ├── lambo.imageset │ │ ├── Contents.json │ │ └── lambo.png │ ├── lamborghini-logo-1000x1100.imageset │ │ ├── Contents.json │ │ └── lamborghini-logo-1000x1100.png │ ├── rainbowlake.imageset │ │ ├── Contents.json │ │ └── rainbowlake.jpg │ ├── silversalmoncreek.imageset │ │ ├── Contents.json │ │ └── silversalmoncreek.jpg │ ├── stmarylake.imageset │ │ ├── Contents.json │ │ └── stmarylake.jpg │ ├── turtlerock.imageset │ │ ├── Contents.json │ │ └── turtlerock.jpg │ ├── twinlake.imageset │ │ ├── Contents.json │ │ └── twinlake.jpg │ └── umbagog.imageset │ │ ├── Contents.json │ │ └── umbagog.jpg │ ├── ChapterOneApp.swift │ ├── CustomViews │ └── FavoriteButton.swift │ ├── Model │ ├── Landmark.swift │ └── ModelData.swift │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ ├── Resources │ ├── .DS_Store │ ├── images │ │ ├── charleyrivers.jpg │ │ ├── chilkoottrail.jpg │ │ ├── chincoteague.jpg │ │ ├── hiddenlake.jpg │ │ ├── lakemcdonald.jpg │ │ ├── lambo1.jpeg │ │ ├── lambo2.jpeg │ │ ├── lambo3.jpeg │ │ ├── lambo4.jpeg │ │ ├── lambo6.jpeg │ │ ├── rainbowlake.jpg │ │ ├── silversalmoncreek.jpg │ │ ├── stmarylake.jpg │ │ ├── twinlake.jpg │ │ └── umbagog.jpg │ └── landmarkData.json │ └── Views │ ├── ContentView.swift │ ├── LandmarkDetailView.swift │ ├── LandmarkListView.swift │ ├── LandmarkRow.swift │ ├── NationalParkMapView.swift │ └── ParkCircleImageView.swift ├── LineSegmentMarkSwift.LineSegmentMarkBarChartWithHorizontalLineSegmentMark~dark@2x.png ├── LiveActivityPanda ├── LiveActivityPanda.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist └── LiveActivityPanda │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── ContentView.swift │ ├── LiveActivityPandaApp.swift │ ├── LiveActivityPandaViewModel.swift │ └── Preview Content │ └── Preview Assets.xcassets │ └── Contents.json ├── MatchedGeometryEffectLab ├── MatchedGeometryEffectLab.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist ├── MatchedGeometryEffectLab │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ ├── ContentView.swift │ ├── MatchedGeometryEffectLabApp.swift │ └── Preview Content │ │ └── Preview Assets.xcassets │ │ └── Contents.json ├── MatchedGeometryEffectLabTests │ └── MatchedGeometryEffectLabTests.swift └── MatchedGeometryEffectLabUITests │ ├── MatchedGeometryEffectLabUITests.swift │ └── MatchedGeometryEffectLabUITestsLaunchTests.swift ├── ModernNavigationLab ├── ModernNavigationLab Watch App │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ ├── ContentView.swift │ ├── ModernNavigationLabApp.swift │ └── Preview Content │ │ └── Preview Assets.xcassets │ │ └── Contents.json ├── ModernNavigationLab Watch AppTests │ └── ModernNavigationLab_Watch_AppTests.swift ├── ModernNavigationLab Watch AppUITests │ ├── ModernNavigationLab_Watch_AppUITests.swift │ └── ModernNavigationLab_Watch_AppUITestsLaunchTests.swift └── ModernNavigationLab.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ ├── contents.xcworkspacedata │ ├── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ └── samuelowino.xcuserdatad │ └── xcschemes │ └── xcschememanagement.plist ├── MonitorScenePhase ├── MonitorScenePhase.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist └── MonitorScenePhase │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── ContentView.swift │ ├── MonitorScenePhaseApp.swift │ └── Preview Content │ └── Preview Assets.xcassets │ └── Contents.json ├── NavigationAndImages ├── .DS_Store ├── NavigationAndImages.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist └── NavigationAndImages │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── ContentView.swift │ ├── NavigationAndImagesApp.swift │ └── Preview Content │ └── Preview Assets.xcassets │ └── Contents.json ├── NavigationView-1_dark@2x.png ├── Notes ├── AVFoundation │ └── README.MD ├── Combine │ └── README.MD ├── Documents │ └── README.MD ├── IntroducingSwiftUI │ └── README.MD ├── Navigation │ └── NavigationStack.md ├── Networking │ └── URLSession.md ├── StoreKit │ └── README.md ├── SwiftCharts │ └── README.md └── SwiftUIToolbars │ └── README.md ├── PhotoLibraryAssetCollections ├── PhotoLibraryAssetCollections.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist └── PhotoLibraryAssetCollections │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── ContentView.swift │ ├── PhotoLibraryAssetCollectionsApp.swift │ └── Preview Content │ └── Preview Assets.xcassets │ └── Contents.json ├── PhotoPickerPractice ├── PhotoPickerPractice.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist └── PhotoPickerPractice │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── ContentView.swift │ ├── PhotoPickerPracticeApp.swift │ ├── PhotoPickerUIViewController.swift │ └── Preview Content │ └── Preview Assets.xcassets │ └── Contents.json ├── Photography-App ├── .DS_Store ├── Photography-App.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist ├── Photography-App │ ├── .DS_Store │ ├── Assets.xcassets │ │ ├── .DS_Store │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ ├── ContentView.swift │ ├── ImagePicker.swift │ ├── PhotoSelectorDelegate.swift │ ├── Photography_AppApp.swift │ └── Preview Content │ │ └── Preview Assets.xcassets │ │ └── Contents.json ├── README.MD └── renderedDark2x-1655840093.png ├── Pickers ├── .DS_Store ├── Pickers.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist └── Pickers │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ ├── ultraviolet-telescope.imageset │ │ ├── Contents.json │ │ └── ultraviolet-telescope.jpg │ └── x-ray-telescope.imageset │ │ ├── Contents.json │ │ └── x-ray-telescope.jpg │ ├── ContentView.swift │ ├── DefaultTelescopePicker.swift │ ├── InlineTelescopePicker.swift │ ├── MenuTelescopePicker.swift │ ├── MonthsSegmentedPicker.swift │ ├── PickersApp.swift │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ ├── SegmentedTelescopePicker.swift │ └── WheelTelescopePicker.swift ├── README.MD ├── RealMongoDBORMApp ├── .DS_Store ├── README.MD ├── RealMongoDBORMApp.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ └── swiftpm │ │ │ │ └── Package.resolved │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist └── RealMongoDBORMApp │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── ContentView.swift │ ├── PersonFormView.swift │ ├── PersonsListView.swift │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ ├── RealMongoDBORMApp.swift │ └── database │ ├── DatabaseConfig.swift │ ├── Person.swift │ ├── PersonRepository.swift │ └── PersonViewModel.swift ├── StanfordCS193p ├── .DS_Store ├── StanfordCS193p.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist └── StanfordCS193p │ ├── AdvancedGemotryEffectView.swift │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── ColorPickerView.swift │ ├── ContentView.swift │ ├── DatePickerView.swift │ ├── DisclosureGroupView.swift │ ├── EmojiCardGameView.swift │ ├── ExpandedListView.swift │ ├── FullScreenModeViews.swift │ ├── GeometryEffectAnimationsView.swift │ ├── LazyVStackView.swift │ ├── MapView.swift │ ├── MatchedGeometryEffectView.swift │ ├── Model │ └── EmojiMemoryGame.swift │ ├── MoreViews.swift │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ ├── ProgressIndicatorView.swift │ ├── ScrollToPositionView.swift │ ├── SpriteKit.swift │ ├── StanfordCS193pApp.swift │ └── iPadOSSideBarView.swift ├── SwiftUI-Hero_dark@2x.png ├── SwiftUIToolbars ├── SwiftUIToolbars.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist └── SwiftUIToolbars │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── ContentView.swift │ ├── NotePadView.swift │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ ├── SwiftUIToolbars.entitlements │ └── SwiftUIToolbarsApp.swift ├── TsavoNationalPark ├── .DS_Store ├── 10linespaces.png ├── 20linespaces.png ├── README.MD ├── TsavoNationalPark.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist ├── TsavoNationalPark │ ├── .DS_Store │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ ├── ContentView.swift │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ ├── TsavoNationalParkApp.swift │ ├── extensions │ │ └── View+.swift │ ├── styles │ │ └── CustomViewModifiers.swift │ ├── ui │ │ ├── DashboardView.swift │ │ ├── SignupForm.swift │ │ └── SplashScreenView.swift │ └── viewModel │ │ └── SignupViewModel.swift ├── fonts.png └── multiline-text.png ├── UIKitButton ├── UIKitButton.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist └── UIKitButton │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── ContentView.swift │ ├── CustomUIKitButton.swift │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ └── UIKitButtonApp.swift ├── UITextViewLab ├── UITextViewLab.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist ├── UITextViewLab │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ ├── ContentView.swift │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ ├── UITextViewLab.entitlements │ └── UITextViewLabApp.swift ├── UITextViewLabTests │ └── UITextViewLabTests.swift └── UITextViewLabUITests │ ├── UITextViewLabUITests.swift │ └── UITextViewLabUITestsLaunchTests.swift ├── WatchKitLab ├── WatchKitLab Watch App │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ ├── ContentView.swift │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ └── WatchKitLabApp.swift ├── WatchKitLab.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist ├── WatchKitLab │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ ├── ContentView.swift │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ └── WatchKitLabApp.swift └── WatchWidgetBasic │ ├── AppIntent.swift │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ └── WidgetBackground.colorset │ │ └── Contents.json │ ├── Info.plist │ └── WatchWidgetBasic.swift ├── WidgetKitLab ├── CyclingStreakExtension │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Contents.json │ │ └── WidgetBackground.colorset │ │ │ └── Contents.json │ ├── CyclingStreakExtension.swift │ ├── CyclingStreakExtensionBundle.swift │ └── Info.plist ├── WidgetKitLab.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist └── WidgetKitLab │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── ContentView.swift │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ └── WidgetKitLabApp.swift ├── aa3686ea-ef3e-4bbd-946f-071cb995a25d.png ├── apollo_burn_data.png ├── b9c65b62-3728-43f1-8d25-08fd42bc6bb7.png ├── company_profits.png ├── custom_chart_colors.png ├── freshOSNetworking ├── .DS_Store ├── README.MD ├── freshOSNetworking.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ └── swiftpm │ │ │ │ └── Package.resolved │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist └── freshOSNetworking │ ├── API.swift │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ └── zuza-galczynska-c5_eQi4rrjA-unsplash.imageset │ │ ├── Contents.json │ │ └── zuza-galczynska-c5_eQi4rrjA-unsplash.jpg │ ├── ContentView.swift │ ├── ContentViewModel.swift │ ├── Error+.swift │ ├── Int+.swift │ ├── NetworkSetup.swift │ ├── Post.swift │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ ├── PromiseHandler.swift │ └── freshOSNetworkingApp.swift ├── lazy-loading-views.png ├── multiscene ├── multiscene.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist └── multiscene │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ └── multisceneApp.swift ├── screen-1.png ├── simple_area_chart.png ├── stacked_area_chart.png ├── sunshine_chart.png ├── swiftsouplab ├── .DS_Store ├── swiftsouplab.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ └── swiftpm │ │ │ │ └── Package.resolved │ │ └── xcuserdata │ │ │ └── samuelowino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist ├── swiftsouplab │ ├── .DS_Store │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ ├── ContentView.swift │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ └── swiftsouplabApp.swift ├── swiftsouplabTests │ └── swiftsouplabTests.swift └── swiftsouplabUITests │ ├── swiftsouplabUITests.swift │ └── swiftsouplabUITestsLaunchTests.swift ├── toolbar_brown_fox.png ├── toycharts-sample-screenshot.png └── uiapplicationlabs ├── .DS_Store ├── uiapplicationlabs.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ ├── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ └── xcuserdata │ │ └── samuelowino.xcuserdatad │ │ └── UserInterfaceState.xcuserstate └── xcuserdata │ └── samuelowino.xcuserdatad │ └── xcschemes │ └── xcschememanagement.plist ├── uiapplicationlabs ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json ├── ContentView.swift ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json └── uiapplicationlabsApp.swift ├── uiapplicationlabsTests └── uiapplicationlabsTests.swift └── uiapplicationlabsUITests ├── uiapplicationlabsUITests.swift └── uiapplicationlabsUITestsLaunchTests.swift /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/.DS_Store -------------------------------------------------------------------------------- /2958897~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/2958897~dark@2x.png -------------------------------------------------------------------------------- /4ecf0924-ea2b-4faa-aea8-7bfc0b3fe419.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/4ecf0924-ea2b-4faa-aea8-7bfc0b3fe419.png -------------------------------------------------------------------------------- /640px-Signal_Sampling.svg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/640px-Signal_Sampling.svg.png -------------------------------------------------------------------------------- /AppNotificationDelegate/AppNotificationDelegate.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /AppNotificationDelegate/AppNotificationDelegate.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /AppNotificationDelegate/AppNotificationDelegate.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/AppNotificationDelegate/AppNotificationDelegate.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /AppNotificationDelegate/AppNotificationDelegate.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | AppNotificationDelegate.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /AppNotificationDelegate/AppNotificationDelegate/AppDelegatesParent.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegatesParent.swift 3 | // AppNotificationDelegate 4 | // 5 | // Created by Samuel Owino on 08/03/2024. 6 | // 7 | 8 | import Foundation 9 | import UIKit 10 | class AppDelegatesParent: NSObject, UIApplicationDelegate { 11 | let notificationsDelegate = NotificationsDelegate() 12 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { 13 | UNUserNotificationCenter.current().delegate = notificationsDelegate 14 | return true 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /AppNotificationDelegate/AppNotificationDelegate/AppNotificationDelegateApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppNotificationDelegateApp.swift 3 | // AppNotificationDelegate 4 | // 5 | // Created by Samuel Owino on 08/03/2024. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct AppNotificationDelegateApp: App { 12 | @UIApplicationDelegateAdaptor(AppDelegatesParent.self) var appDelegate 13 | var body: some Scene { 14 | WindowGroup { 15 | ContentView() 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /AppNotificationDelegate/AppNotificationDelegate/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 | -------------------------------------------------------------------------------- /AppNotificationDelegate/AppNotificationDelegate/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "ios", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /AppNotificationDelegate/AppNotificationDelegate/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /AppNotificationDelegate/AppNotificationDelegate/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /AppleDeviceNotifications/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/AppleDeviceNotifications/.DS_Store -------------------------------------------------------------------------------- /AppleDeviceNotifications/3544497_dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/AppleDeviceNotifications/3544497_dark@2x.png -------------------------------------------------------------------------------- /AppleDeviceNotifications/3559454_dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/AppleDeviceNotifications/3559454_dark@2x.png -------------------------------------------------------------------------------- /AppleDeviceNotifications/58245c65-723d-4785-84e1-11d7534c6e11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/AppleDeviceNotifications/58245c65-723d-4785-84e1-11d7534c6e11.png -------------------------------------------------------------------------------- /AppleDeviceNotifications/AppleDeviceNotifications.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /AppleDeviceNotifications/AppleDeviceNotifications.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /AppleDeviceNotifications/AppleDeviceNotifications.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/AppleDeviceNotifications/AppleDeviceNotifications.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /AppleDeviceNotifications/AppleDeviceNotifications.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | AppleDeviceNotifications.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /AppleDeviceNotifications/AppleDeviceNotifications/AppleDeviceNotificationsApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppleDeviceNotificationsApp.swift 3 | // AppleDeviceNotifications 4 | // 5 | // Created by Samuel Owino on 03/02/2022. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct AppleDeviceNotificationsApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /AppleDeviceNotifications/AppleDeviceNotifications/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 | -------------------------------------------------------------------------------- /AppleDeviceNotifications/AppleDeviceNotifications/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /AppleDeviceNotifications/AppleDeviceNotifications/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /AppleSwiftUICharts/AppleSwiftUICharts.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /AppleSwiftUICharts/AppleSwiftUICharts.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /AppleSwiftUICharts/AppleSwiftUICharts.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/AppleSwiftUICharts/AppleSwiftUICharts.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /AppleSwiftUICharts/AppleSwiftUICharts.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | AppleSwiftUICharts.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /AppleSwiftUICharts/AppleSwiftUICharts/AppleSwiftUIChartsApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppleSwiftUIChartsApp.swift 3 | // AppleSwiftUICharts 4 | // 5 | // Created by Samuel Owino on 01/12/2022. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct AppleSwiftUIChartsApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /AppleSwiftUICharts/AppleSwiftUICharts/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 | -------------------------------------------------------------------------------- /AppleSwiftUICharts/AppleSwiftUICharts/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "ios", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /AppleSwiftUICharts/AppleSwiftUICharts/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /AppleSwiftUICharts/AppleSwiftUICharts/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /AppleSwiftUICharts/AppleSwiftUICharts/data/PancakeSales.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Pancake.swift 3 | // AppleSwiftUICharts 4 | // 5 | // Created by Samuel Owino on 02/12/2022. 6 | // 7 | 8 | import Foundation 9 | 10 | 11 | struct PancakeSales: Identifiable{ 12 | var id = UUID() 13 | let pancakeName: String 14 | let sales: Double 15 | } 16 | 17 | let sales: [PancakeSales] = [ 18 | .init(pancakeName: "Cachapa", sales: 453), 19 | .init(pancakeName: "Injera", sales: 353), 20 | .init(pancakeName: "Crepa", sales: 343), 21 | .init(pancakeName: "Jian Bang", sales: 333), 22 | .init(pancakeName: "Dosa", sales: 323), 23 | .init(pancakeName: "American", sales: 253), 24 | ] 25 | -------------------------------------------------------------------------------- /AppleSwiftUICharts/AppleSwiftUICharts/data/ToyShape.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ToyShape.swift 3 | // AppleSwiftUICharts 4 | // 5 | // Created by Samuel Owino on 01/12/2022. 6 | // 7 | 8 | import Foundation 9 | 10 | struct ToyShape: Identifiable { 11 | var id = UUID() 12 | var type: String 13 | var count: Double 14 | } 15 | 16 | var data: [ToyShape] = [ 17 | ToyShape(type: "Cube", count: 5), 18 | ToyShape(type: "Sphere", count: 3), 19 | ToyShape(type: "Triangle", count: 4), 20 | ToyShape(type: "Rectangle", count: 7), 21 | ] 22 | -------------------------------------------------------------------------------- /CameraCaptureLab/CameraCaptureLab.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /CameraCaptureLab/CameraCaptureLab.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /CameraCaptureLab/CameraCaptureLab.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/CameraCaptureLab/CameraCaptureLab.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /CameraCaptureLab/CameraCaptureLab.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | CameraCaptureLab.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /CameraCaptureLab/CameraCaptureLab/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 | -------------------------------------------------------------------------------- /CameraCaptureLab/CameraCaptureLab/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "ios", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /CameraCaptureLab/CameraCaptureLab/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /CameraCaptureLab/CameraCaptureLab/CameraCaptureLabApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // CameraCaptureLabApp.swift 3 | // CameraCaptureLab 4 | // 5 | // Created by Samuel Owino on 22/01/2024. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct CameraCaptureLabApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /CameraCaptureLab/CameraCaptureLab/CameraCaptureView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // CameraCaptureView.swift 3 | // CameraCaptureLab 4 | // 5 | // Created by Samuel Owino on 22/01/2024. 6 | // 7 | import SwiftUI 8 | import UIKit 9 | import Foundation 10 | 11 | struct CameraCaptureView: UIViewControllerRepresentable { 12 | func makeUIViewController(context: Context) -> UIImagePickerController { 13 | let cameraView = UIImagePickerController() 14 | cameraView.sourceType = .camera 15 | return cameraView 16 | } 17 | 18 | func updateUIViewController(_ uiViewController: UIImagePickerController, context: Context) { } 19 | } 20 | -------------------------------------------------------------------------------- /CameraCaptureLab/CameraCaptureLab/ContentView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ContentView.swift 3 | // CameraCaptureLab 4 | // 5 | // Created by Samuel Owino on 22/01/2024. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct ContentView: View { 11 | @State var openCamera = false 12 | var body: some View { 13 | VStack { 14 | Button("Open Camera") { 15 | openCamera = true 16 | } 17 | } 18 | .padding() 19 | .fullScreenCover(isPresented: $openCamera, content: { 20 | CameraCaptureView() 21 | }) 22 | } 23 | } 24 | 25 | #Preview { 26 | ContentView() 27 | } 28 | -------------------------------------------------------------------------------- /CameraCaptureLab/CameraCaptureLab/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /CodeAlong/CombineCustomPubSub/CombineCustomPubSub.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /CodeAlong/CombineCustomPubSub/CombineCustomPubSub.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /CodeAlong/CombineCustomPubSub/CombineCustomPubSub.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/CodeAlong/CombineCustomPubSub/CombineCustomPubSub.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /CodeAlong/CombineCustomPubSub/CombineCustomPubSub.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | CombineCustomPubSub.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /CodeAlong/CombineCustomPubSub/CombineCustomPubSub/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 | -------------------------------------------------------------------------------- /CodeAlong/CombineCustomPubSub/CombineCustomPubSub/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "ios", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /CodeAlong/CombineCustomPubSub/CombineCustomPubSub/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /CodeAlong/CombineCustomPubSub/CombineCustomPubSub/CombineCustomPubSubApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // CombineCustomPubSubApp.swift 3 | // CombineCustomPubSub 4 | // 5 | // Created by Samuel Owino on 05/11/2022. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct CombineCustomPubSubApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /CodeAlong/CombineCustomPubSub/CombineCustomPubSub/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /CodeAlong/CombineCustomPubSub/CombineCustomPubSub/errors/FruitDeliveryError.swift: -------------------------------------------------------------------------------- 1 | // 2 | // FruitDeliveryError.swift 3 | // CombineCustomPubSub 4 | // 5 | // Created by Samuel Owino on 05/11/2022. 6 | // 7 | 8 | import Foundation 9 | 10 | enum FruitDeliveryError: String, Error { 11 | case justFailed = "Failed to delivery fruits for no reason at all 🤷🏾‍♂️" 12 | case internalError = "An internal error occured while delivering fruits 😵" 13 | } 14 | -------------------------------------------------------------------------------- /CodeAlong/CombineCustomPubSub/CombineCustomPubSub/model/Fruit.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Fruit.swift 3 | // CombineCustomPubSub 4 | // 5 | // Created by Samuel Owino on 05/11/2022. 6 | // 7 | 8 | import Foundation 9 | 10 | struct Fruit: Identifiable { 11 | var id: UUID = UUID() 12 | var name: String 13 | var flavour: String 14 | var icon: String 15 | } 16 | -------------------------------------------------------------------------------- /CodeAlong/CombineCustomPubSub/CombineCustomPubSub/repository/FruitsRepository.swift: -------------------------------------------------------------------------------- 1 | // 2 | // FruitsRepository.swift 3 | // CombineCustomPubSub 4 | // 5 | // Created by Samuel Owino on 05/11/2022. 6 | // 7 | 8 | import Foundation 9 | 10 | struct FruitsRepository { 11 | func downloadFruits() -> [Fruit]{ 12 | return [ 13 | Fruit(name: "Apple", flavour: "Applish", icon: "🍎"), 14 | Fruit(name: "Oranges", flavour: "arangish", icon: "🍊"), 15 | Fruit(name: "Lemon", flavour: "Lemonadish", icon: "🍋"), 16 | Fruit(name: "Mangoe", flavour: "Mango flavour", icon: "🥭") 17 | ] 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /CodeAlong/iosconfcodealong/iosconfcodealong.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /CodeAlong/iosconfcodealong/iosconfcodealong.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /CodeAlong/iosconfcodealong/iosconfcodealong.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/CodeAlong/iosconfcodealong/iosconfcodealong.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /CodeAlong/iosconfcodealong/iosconfcodealong.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | iosconfcodealong.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /CodeAlong/iosconfcodealong/iosconfcodealong/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 | -------------------------------------------------------------------------------- /CodeAlong/iosconfcodealong/iosconfcodealong/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "ios", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /CodeAlong/iosconfcodealong/iosconfcodealong/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /CodeAlong/iosconfcodealong/iosconfcodealong/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /CodeAlong/iosconfcodealong/iosconfcodealong/iosconfcodealongApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // iosconfcodealongApp.swift 3 | // iosconfcodealong 4 | // 5 | // Created by Samuel Owino on 05/11/2022. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct iosconfcodealongApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ColorSelectorApp/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/ColorSelectorApp/.DS_Store -------------------------------------------------------------------------------- /ColorSelectorApp/ColorSelectorApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ColorSelectorApp/ColorSelectorApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ColorSelectorApp/ColorSelectorApp.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/ColorSelectorApp/ColorSelectorApp.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /ColorSelectorApp/ColorSelectorApp.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | ColorSelectorApp.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /ColorSelectorApp/ColorSelectorApp/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 | -------------------------------------------------------------------------------- /ColorSelectorApp/ColorSelectorApp/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /ColorSelectorApp/ColorSelectorApp/ColorDetailView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ColorDetailView.swift 3 | // ColorSelectorApp 4 | // 5 | // Created by Samuel Owino on 30/11/2021. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct ColorDetailView: View { 11 | 12 | var color: Color 13 | 14 | var body: some View { 15 | color 16 | .frame(width: 200, height: 200) 17 | .navigationTitle(color.description.capitalized) 18 | } 19 | } 20 | 21 | struct ColorDetailView_Previews: PreviewProvider { 22 | static var previews: some View { 23 | ColorDetailView(color: Color.red) 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /ColorSelectorApp/ColorSelectorApp/ColorSelectorAppApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ColorSelectorAppApp.swift 3 | // ColorSelectorApp 4 | // 5 | // Created by Samuel Owino on 30/11/2021. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct ColorSelectorAppApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ColorSelectorApp/ColorSelectorApp/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /ComposingLayouts/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/ComposingLayouts/.DS_Store -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/ComposingLayouts/ComposingLayouts.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | ComposingLayouts.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/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 | -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Assets.xcassets/charleyrivers.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "charleyrivers.jpg", 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 | -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Assets.xcassets/charleyrivers.imageset/charleyrivers.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/ComposingLayouts/ComposingLayouts/Assets.xcassets/charleyrivers.imageset/charleyrivers.jpg -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Assets.xcassets/chilkoottrail.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "chilkoottrail.jpg", 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 | -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Assets.xcassets/chilkoottrail.imageset/chilkoottrail.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/ComposingLayouts/ComposingLayouts/Assets.xcassets/chilkoottrail.imageset/chilkoottrail.jpg -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Assets.xcassets/chincoteague.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "chincoteague.jpg", 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 | -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Assets.xcassets/chincoteague.imageset/chincoteague.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/ComposingLayouts/ComposingLayouts/Assets.xcassets/chincoteague.imageset/chincoteague.jpg -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Assets.xcassets/hiddenlake.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "hiddenlake.jpg", 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 | -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Assets.xcassets/hiddenlake.imageset/hiddenlake.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/ComposingLayouts/ComposingLayouts/Assets.xcassets/hiddenlake.imageset/hiddenlake.jpg -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Assets.xcassets/icybay.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "icybay.jpg", 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 | -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Assets.xcassets/icybay.imageset/icybay.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/ComposingLayouts/ComposingLayouts/Assets.xcassets/icybay.imageset/icybay.jpg -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Assets.xcassets/lakemcdonald.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "lakemcdonald.jpg", 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 | -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Assets.xcassets/lakemcdonald.imageset/lakemcdonald.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/ComposingLayouts/ComposingLayouts/Assets.xcassets/lakemcdonald.imageset/lakemcdonald.jpg -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Assets.xcassets/rainbowlake.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "rainbowlake.jpg", 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 | -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Assets.xcassets/rainbowlake.imageset/rainbowlake.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/ComposingLayouts/ComposingLayouts/Assets.xcassets/rainbowlake.imageset/rainbowlake.jpg -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Assets.xcassets/silversalmoncreek.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "silversalmoncreek.jpg", 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 | -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Assets.xcassets/silversalmoncreek.imageset/silversalmoncreek.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/ComposingLayouts/ComposingLayouts/Assets.xcassets/silversalmoncreek.imageset/silversalmoncreek.jpg -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Assets.xcassets/stmarylake.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "stmarylake.jpg", 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 | -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Assets.xcassets/stmarylake.imageset/stmarylake.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/ComposingLayouts/ComposingLayouts/Assets.xcassets/stmarylake.imageset/stmarylake.jpg -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Assets.xcassets/turtlerock.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "turtlerock.jpg", 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 | -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Assets.xcassets/turtlerock.imageset/turtlerock.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/ComposingLayouts/ComposingLayouts/Assets.xcassets/turtlerock.imageset/turtlerock.jpg -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Assets.xcassets/twinlake.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "twinlake.jpg", 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 | -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Assets.xcassets/twinlake.imageset/twinlake.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/ComposingLayouts/ComposingLayouts/Assets.xcassets/twinlake.imageset/twinlake.jpg -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Assets.xcassets/umbagog.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "umbagog.jpg", 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 | -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Assets.xcassets/umbagog.imageset/umbagog.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/ComposingLayouts/ComposingLayouts/Assets.xcassets/umbagog.imageset/umbagog.jpg -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/ComposingLayoutsApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ComposingLayoutsApp.swift 3 | // ComposingLayouts 4 | // 5 | // Created by Samuel Owino on 30/11/2021. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct ComposingLayoutsApp: App { 12 | 13 | @StateObject private var model: ModelData = ModelData() 14 | 15 | var body: some Scene { 16 | WindowGroup { 17 | ContentView() 18 | .environmentObject(model) 19 | } 20 | 21 | #if os(macOS) 22 | Settings { 23 | SettingsView() 24 | } 25 | #endif 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Enums/Season.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Season.swift 3 | // ComposingLayouts 4 | // 5 | // Created by Samuel Owino on 01/12/2021. 6 | // 7 | 8 | import Foundation 9 | 10 | enum Season: String, CaseIterable, Identifiable { 11 | case spring = "🌷" 12 | case summer = "🌞" 13 | case autumn = "🍂" 14 | case winter = "☃️" 15 | 16 | var id: String { rawValue } 17 | } 18 | -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Enums/Tab.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Tab.swift 3 | // ComposingLayouts 4 | // 5 | // Created by Samuel Owino on 30/11/2021. 6 | // 7 | 8 | import Foundation 9 | 10 | enum Tab { 11 | case featured 12 | case list 13 | } 14 | -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/EnvironmentValues/ParkBrandEnvironmentKey.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ParkBrandEnvironmentKey.swift 3 | // ComposingLayouts 4 | // 5 | // Created by Samuel Owino on 01/12/2021. 6 | // 7 | 8 | import Foundation 9 | import SwiftUI 10 | 11 | private struct ParkBrandEnvironmentKey: EnvironmentKey { 12 | static let defaultValue: Color = Color.green 13 | } 14 | 15 | extension EnvironmentValues { 16 | var parkBrand: Color { 17 | get { self[ParkBrandEnvironmentKey.self]} 18 | set { self[ParkBrandEnvironmentKey.self] = newValue } 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/EnvironmentValues/ViewExtensions.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewExtensions.swift 3 | // ComposingLayouts 4 | // 5 | // Created by Samuel Owino on 01/12/2021. 6 | // 7 | 8 | import Foundation 9 | import SwiftUI 10 | 11 | extension View { 12 | func parkBrand(_ parkBrand: Color) -> some View { 13 | environment(\.parkBrand, parkBrand) 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Graphics/RotatedBadgeSymbol.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RotatedBadgeSymbol.swift 3 | // ComposingLayouts 4 | // 5 | // Created by Samuel Owino on 01/12/2021. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct RotatedBadgeSymbol: View { 11 | let angle: Angle 12 | 13 | var body: some View { 14 | BadgeSymbol() 15 | .padding(-60) 16 | .rotationEffect(angle, anchor: .bottom) 17 | } 18 | } 19 | 20 | struct RotatedBadgeSymbol_Previews: PreviewProvider { 21 | static var previews: some View { 22 | RotatedBadgeSymbol(angle: Angle(degrees: 5)) 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Model/Profile.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Profile.swift 3 | // ComposingLayouts 4 | // 5 | // Created by Samuel Owino on 01/12/2021. 6 | // 7 | 8 | import Foundation 9 | 10 | struct Profile { 11 | var username: String 12 | var preferesNotifications: Bool = true 13 | var seasonalPhoto: Season = Season.winter 14 | var goalDate = Date() 15 | 16 | static var `default` = Profile(username: "owino") 17 | } 18 | -------------------------------------------------------------------------------- /ComposingLayouts/ComposingLayouts/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /CoreGestures/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/CoreGestures/.DS_Store -------------------------------------------------------------------------------- /CoreGestures/CoreGestures.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /CoreGestures/CoreGestures.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /CoreGestures/CoreGestures.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/CoreGestures/CoreGestures.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /CoreGestures/CoreGestures.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | CoreGestures.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /CoreGestures/CoreGestures/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/CoreGestures/CoreGestures/.DS_Store -------------------------------------------------------------------------------- /CoreGestures/CoreGestures/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 | -------------------------------------------------------------------------------- /CoreGestures/CoreGestures/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /CoreGestures/CoreGestures/CoreGesturesApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // CoreGesturesApp.swift 3 | // CoreGestures 4 | // 5 | // Created by Samuel Owino on 31/12/2021. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct CoreGesturesApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /CoreGestures/CoreGestures/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /CustomBadgeApp/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/CustomBadgeApp/.DS_Store -------------------------------------------------------------------------------- /CustomBadgeApp/chapter-two.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /CustomBadgeApp/chapter-two.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /CustomBadgeApp/chapter-two.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/CustomBadgeApp/chapter-two.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /CustomBadgeApp/chapter-two.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | chapter-two.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /CustomBadgeApp/chapter-two/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 | -------------------------------------------------------------------------------- /CustomBadgeApp/chapter-two/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /CustomBadgeApp/chapter-two/ContentView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ContentView.swift 3 | // chapter-two 4 | // 5 | // Created by Samuel Owino on 29/11/2021. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct ContentView: View { 11 | var body: some View { 12 | Text("Hello, world!") 13 | .padding() 14 | } 15 | } 16 | 17 | struct ContentView_Previews: PreviewProvider { 18 | static var previews: some View { 19 | ContentView() 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /CustomBadgeApp/chapter-two/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /CustomBadgeApp/chapter-two/chapter_twoApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // chapter_twoApp.swift 3 | // chapter-two 4 | // 5 | // Created by Samuel Owino on 29/11/2021. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct chapter_twoApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /DotSwiftSoundVisualizer/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/DotSwiftSoundVisualizer/.DS_Store -------------------------------------------------------------------------------- /DotSwiftSoundVisualizer/DotSwiftSoundVisualizer.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /DotSwiftSoundVisualizer/DotSwiftSoundVisualizer.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /DotSwiftSoundVisualizer/DotSwiftSoundVisualizer.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/DotSwiftSoundVisualizer/DotSwiftSoundVisualizer.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /DotSwiftSoundVisualizer/DotSwiftSoundVisualizer.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | DotSwiftSoundVisualizer.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /DotSwiftSoundVisualizer/DotSwiftSoundVisualizer/ View+.swift: -------------------------------------------------------------------------------- 1 | // 2 | // View+.swift 3 | // DotSwiftSoundVisualizer 4 | // 5 | // Created by Samuel Owino on 08/01/2022. 6 | // 7 | 8 | import Foundation 9 | import SwiftUI 10 | 11 | extension View { 12 | func maskContent(using: T) -> some View { 13 | using.mask(self) 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /DotSwiftSoundVisualizer/DotSwiftSoundVisualizer/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 | -------------------------------------------------------------------------------- /DotSwiftSoundVisualizer/DotSwiftSoundVisualizer/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /DotSwiftSoundVisualizer/DotSwiftSoundVisualizer/ContentView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ContentView.swift 3 | // DotSwiftSoundVisualizer 4 | // 5 | // Created by Samuel Owino on 08/01/2022. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct ContentView: View { 11 | var body: some View { 12 | Text("Hello, world!") 13 | .padding() 14 | } 15 | } 16 | 17 | struct ContentView_Previews: PreviewProvider { 18 | static var previews: some View { 19 | ContentView() 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /DotSwiftSoundVisualizer/DotSwiftSoundVisualizer/DotSwiftSoundVisualizerApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DotSwiftSoundVisualizerApp.swift 3 | // DotSwiftSoundVisualizer 4 | // 5 | // Created by Samuel Owino on 08/01/2022. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct DotSwiftSoundVisualizerApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /DotSwiftSoundVisualizer/DotSwiftSoundVisualizer/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /DrawingAndAnimations/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/DrawingAndAnimations/.DS_Store -------------------------------------------------------------------------------- /DrawingAndAnimations/DrawingAndAnimations.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /DrawingAndAnimations/DrawingAndAnimations.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /DrawingAndAnimations/DrawingAndAnimations.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/DrawingAndAnimations/DrawingAndAnimations.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /DrawingAndAnimations/DrawingAndAnimations.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | DrawingAndAnimations.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /DrawingAndAnimations/DrawingAndAnimations/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/DrawingAndAnimations/DrawingAndAnimations/.DS_Store -------------------------------------------------------------------------------- /DrawingAndAnimations/DrawingAndAnimations/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 | -------------------------------------------------------------------------------- /DrawingAndAnimations/DrawingAndAnimations/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /DrawingAndAnimations/DrawingAndAnimations/DrawingAndAnimationsApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DrawingAndAnimationsApp.swift 3 | // DrawingAndAnimations 4 | // 5 | // Created by Samuel Owino on 06/01/2022. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct DrawingAndAnimationsApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /DrawingAndAnimations/DrawingAndAnimations/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /DrawingAndAnimations/DrawingAndAnimations/RotatedBadgeSymbol.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RotatedBadgeSymbol.swift 3 | // DrawingAndAnimations 4 | // 5 | // Created by Samuel Owino on 10/01/2022. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct RotatedBadgeSymbol: View { 11 | 12 | let angle: Angle 13 | 14 | var body: some View { 15 | BadgeSymbol() 16 | .padding(-60) 17 | .rotationEffect(angle, anchor: .bottom) 18 | } 19 | } 20 | 21 | struct RotatedBadgeSymbol_Previews: PreviewProvider { 22 | static var previews: some View { 23 | RotatedBadgeSymbol(angle: Angle(degrees: 5)) 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /DrawingAndAnimations/DrawingAndAnimations/TimeLineView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // TimeLineView.swift 3 | // DrawingAndAnimations 4 | // 5 | // Created by Samuel Owino on 19/01/2022. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct TimeLineView: View { 11 | var body: some View { 12 | TimelineView(.periodic(from: Date(), by: 1)) { timeline in 13 | Text("Date : \(timeline.date)") 14 | } 15 | } 16 | } 17 | 18 | struct TimeLineView_Previews: PreviewProvider { 19 | static var previews: some View { 20 | TimeLineView() 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /FrameworkOverview@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/FrameworkOverview@2x.png -------------------------------------------------------------------------------- /GameScore/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/GameScore/.DS_Store -------------------------------------------------------------------------------- /GameScore/GameScore.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /GameScore/GameScore.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /GameScore/GameScore.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/GameScore/GameScore.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /GameScore/GameScore.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | GameScore.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /GameScore/GameScore/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 | -------------------------------------------------------------------------------- /GameScore/GameScore/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /GameScore/GameScore/Data/GameSettings.swift: -------------------------------------------------------------------------------- 1 | // 2 | // GameSettings.swift 3 | // GameScore 4 | // 5 | // Created by Samuel Owino on 30/11/2021. 6 | // 7 | 8 | import Foundation 9 | 10 | class GameSettings: ObservableObject { 11 | @Published var score:Int = 0 12 | } 13 | -------------------------------------------------------------------------------- /GameScore/GameScore/GameScoreApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // GameScoreApp.swift 3 | // GameScore 4 | // 5 | // Created by Samuel Owino on 30/11/2021. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct GameScoreApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /GameScore/GameScore/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /GameScore/GameScore/Views/ScoreView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ScoreView.swift 3 | // GameScore 4 | // 5 | // Created by Samuel Owino on 30/11/2021. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct ScoreView: View { 11 | 12 | @EnvironmentObject var settings: GameSettings 13 | 14 | var body: some View { 15 | Text("The score is \(settings.score)") 16 | } 17 | } 18 | 19 | struct ScoreView_Previews: PreviewProvider { 20 | static var previews: some View { 21 | ScoreView() 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /GridViewLab/GridViewLab.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /GridViewLab/GridViewLab.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /GridViewLab/GridViewLab.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/GridViewLab/GridViewLab.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /GridViewLab/GridViewLab.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | GridViewLab.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /GridViewLab/GridViewLab/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 | -------------------------------------------------------------------------------- /GridViewLab/GridViewLab/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "ios", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /GridViewLab/GridViewLab/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /GridViewLab/GridViewLab/GridViewLabApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // GridViewLabApp.swift 3 | // GridViewLab 4 | // 5 | // Created by Samuel Owino on 18/12/2023. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct GridViewLabApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /GridViewLab/GridViewLab/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /HikeApp/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/HikeApp/.DS_Store -------------------------------------------------------------------------------- /HikeApp/chapter-two-b.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /HikeApp/chapter-two-b.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /HikeApp/chapter-two-b.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/HikeApp/chapter-two-b.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /HikeApp/chapter-two-b.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | chapter-two-b.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /HikeApp/chapter-two-b/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 | -------------------------------------------------------------------------------- /HikeApp/chapter-two-b/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /HikeApp/chapter-two-b/ChapterTwoBApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // chapter_two_bApp.swift 3 | // chapter-two-b 4 | // 5 | // Created by Samuel Owino on 29/11/2021. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct ChapterTwoBApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /HikeApp/chapter-two-b/ContentView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ContentView.swift 3 | // chapter-two-b 4 | // 5 | // Created by Samuel Owino on 29/11/2021. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct ContentView: View { 11 | 12 | @StateObject private var modelData: ModelData = ModelData() 13 | 14 | var body: some View { 15 | HikeView(hike:modelData.hikes[0]) 16 | } 17 | } 18 | 19 | struct ContentView_Previews: PreviewProvider { 20 | static var previews: some View { 21 | ContentView() 22 | .environmentObject(ModelData()) 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /HikeApp/chapter-two-b/Model/Landmark.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Landmark.swift 3 | // chapter-two-b 4 | // 5 | // Created by Samuel Owino on 30/11/2021. 6 | // 7 | 8 | import Foundation 9 | 10 | struct Landmark: Codable, Hashable { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /HikeApp/chapter-two-b/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /LandmarkApp/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/.DS_Store -------------------------------------------------------------------------------- /LandmarkApp/chapter-1-section-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-1-section-1.png -------------------------------------------------------------------------------- /LandmarkApp/chapter-1-section-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-1-section-2.png -------------------------------------------------------------------------------- /LandmarkApp/chapter-one.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /LandmarkApp/chapter-one.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /LandmarkApp/chapter-one.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /LandmarkApp/chapter-one.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | chapter-one.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/.DS_Store -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/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 | -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/Image.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "scale" : "2x" 10 | }, 11 | { 12 | "idiom" : "universal", 13 | "scale" : "3x" 14 | } 15 | ], 16 | "info" : { 17 | "author" : "xcode", 18 | "version" : 1 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/charleyrivers.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "charleyrivers.jpg", 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 | -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/charleyrivers.imageset/charleyrivers.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Assets.xcassets/charleyrivers.imageset/charleyrivers.jpg -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/chikoottrail.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "chikoottrail.jpg", 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 | -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/chikoottrail.imageset/chikoottrail.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Assets.xcassets/chikoottrail.imageset/chikoottrail.jpg -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/chilkoottrail.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "chilkoottrail.jpg", 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 | -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/chilkoottrail.imageset/chilkoottrail.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Assets.xcassets/chilkoottrail.imageset/chilkoottrail.jpg -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/chincoteague.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "chincoteague.jpg", 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 | -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/chincoteague.imageset/chincoteague.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Assets.xcassets/chincoteague.imageset/chincoteague.jpg -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/hiddenlake.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "hiddenlake.jpg", 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 | -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/hiddenlake.imageset/hiddenlake.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Assets.xcassets/hiddenlake.imageset/hiddenlake.jpg -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/icybay.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "icybay.jpg", 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 | -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/icybay.imageset/icybay.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Assets.xcassets/icybay.imageset/icybay.jpg -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/lakemcdonald.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "lakemcdonald.jpg", 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 | -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/lakemcdonald.imageset/lakemcdonald.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Assets.xcassets/lakemcdonald.imageset/lakemcdonald.jpg -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/lambo.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "lambo.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 | -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/lambo.imageset/lambo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Assets.xcassets/lambo.imageset/lambo.png -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/lamborghini-logo-1000x1100.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "scale" : "2x" 10 | }, 11 | { 12 | "filename" : "lamborghini-logo-1000x1100.png", 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/lamborghini-logo-1000x1100.imageset/lamborghini-logo-1000x1100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Assets.xcassets/lamborghini-logo-1000x1100.imageset/lamborghini-logo-1000x1100.png -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/rainbowlake.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "rainbowlake.jpg", 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 | -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/rainbowlake.imageset/rainbowlake.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Assets.xcassets/rainbowlake.imageset/rainbowlake.jpg -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/silversalmoncreek.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "silversalmoncreek.jpg", 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 | -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/silversalmoncreek.imageset/silversalmoncreek.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Assets.xcassets/silversalmoncreek.imageset/silversalmoncreek.jpg -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/stmarylake.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "stmarylake.jpg", 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 | -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/stmarylake.imageset/stmarylake.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Assets.xcassets/stmarylake.imageset/stmarylake.jpg -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/turtlerock.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "turtlerock.jpg", 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 | -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/turtlerock.imageset/turtlerock.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Assets.xcassets/turtlerock.imageset/turtlerock.jpg -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/twinlake.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "twinlake.jpg", 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 | -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/twinlake.imageset/twinlake.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Assets.xcassets/twinlake.imageset/twinlake.jpg -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/umbagog.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "umbagog.jpg", 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 | -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Assets.xcassets/umbagog.imageset/umbagog.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Assets.xcassets/umbagog.imageset/umbagog.jpg -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Resources/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Resources/.DS_Store -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Resources/images/charleyrivers.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Resources/images/charleyrivers.jpg -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Resources/images/chilkoottrail.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Resources/images/chilkoottrail.jpg -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Resources/images/chincoteague.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Resources/images/chincoteague.jpg -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Resources/images/hiddenlake.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Resources/images/hiddenlake.jpg -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Resources/images/lakemcdonald.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Resources/images/lakemcdonald.jpg -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Resources/images/lambo1.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Resources/images/lambo1.jpeg -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Resources/images/lambo2.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Resources/images/lambo2.jpeg -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Resources/images/lambo3.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Resources/images/lambo3.jpeg -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Resources/images/lambo4.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Resources/images/lambo4.jpeg -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Resources/images/lambo6.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Resources/images/lambo6.jpeg -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Resources/images/rainbowlake.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Resources/images/rainbowlake.jpg -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Resources/images/silversalmoncreek.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Resources/images/silversalmoncreek.jpg -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Resources/images/stmarylake.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Resources/images/stmarylake.jpg -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Resources/images/twinlake.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Resources/images/twinlake.jpg -------------------------------------------------------------------------------- /LandmarkApp/chapter-one/Resources/images/umbagog.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LandmarkApp/chapter-one/Resources/images/umbagog.jpg -------------------------------------------------------------------------------- /LineSegmentMarkSwift.LineSegmentMarkBarChartWithHorizontalLineSegmentMark~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LineSegmentMarkSwift.LineSegmentMarkBarChartWithHorizontalLineSegmentMark~dark@2x.png -------------------------------------------------------------------------------- /LiveActivityPanda/LiveActivityPanda.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /LiveActivityPanda/LiveActivityPanda.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /LiveActivityPanda/LiveActivityPanda.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/LiveActivityPanda/LiveActivityPanda.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /LiveActivityPanda/LiveActivityPanda.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | LiveActivityPanda.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /LiveActivityPanda/LiveActivityPanda/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 | -------------------------------------------------------------------------------- /LiveActivityPanda/LiveActivityPanda/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "ios", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /LiveActivityPanda/LiveActivityPanda/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /LiveActivityPanda/LiveActivityPanda/ContentView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ContentView.swift 3 | // LiveActivityPanda 4 | // 5 | // Created by Samuel Owino on 08/02/2024. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct ContentView: View { 11 | var body: some View { 12 | VStack { 13 | Image(systemName: "globe") 14 | .imageScale(.large) 15 | .foregroundStyle(.tint) 16 | Text("Hello, world!") 17 | } 18 | .padding() 19 | } 20 | } 21 | 22 | #Preview { 23 | ContentView() 24 | } 25 | -------------------------------------------------------------------------------- /LiveActivityPanda/LiveActivityPanda/LiveActivityPandaApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // LiveActivityPandaApp.swift 3 | // LiveActivityPanda 4 | // 5 | // Created by Samuel Owino on 08/02/2024. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct LiveActivityPandaApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /LiveActivityPanda/LiveActivityPanda/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /MatchedGeometryEffectLab/MatchedGeometryEffectLab.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MatchedGeometryEffectLab/MatchedGeometryEffectLab.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /MatchedGeometryEffectLab/MatchedGeometryEffectLab.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/MatchedGeometryEffectLab/MatchedGeometryEffectLab.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /MatchedGeometryEffectLab/MatchedGeometryEffectLab.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | MatchedGeometryEffectLab.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /MatchedGeometryEffectLab/MatchedGeometryEffectLab/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 | -------------------------------------------------------------------------------- /MatchedGeometryEffectLab/MatchedGeometryEffectLab/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "ios", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MatchedGeometryEffectLab/MatchedGeometryEffectLab/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /MatchedGeometryEffectLab/MatchedGeometryEffectLab/MatchedGeometryEffectLabApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // MatchedGeometryEffectLabApp.swift 3 | // MatchedGeometryEffectLab 4 | // 5 | // Created by Samuel Owino on 02/03/2024. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct MatchedGeometryEffectLabApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MatchedGeometryEffectLab/MatchedGeometryEffectLab/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /ModernNavigationLab/ModernNavigationLab Watch App/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 | -------------------------------------------------------------------------------- /ModernNavigationLab/ModernNavigationLab Watch App/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "watchos", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ModernNavigationLab/ModernNavigationLab Watch App/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /ModernNavigationLab/ModernNavigationLab Watch App/ModernNavigationLabApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ModernNavigationLabApp.swift 3 | // ModernNavigationLab Watch App 4 | // 5 | // Created by Samuel Owino on 29/02/2024. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct ModernNavigationLab_Watch_AppApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ModernNavigationLab/ModernNavigationLab Watch App/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /ModernNavigationLab/ModernNavigationLab.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ModernNavigationLab/ModernNavigationLab.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ModernNavigationLab/ModernNavigationLab.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/ModernNavigationLab/ModernNavigationLab.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /ModernNavigationLab/ModernNavigationLab.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | ModernNavigationLab Watch App.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /MonitorScenePhase/MonitorScenePhase.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MonitorScenePhase/MonitorScenePhase.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /MonitorScenePhase/MonitorScenePhase.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/MonitorScenePhase/MonitorScenePhase.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /MonitorScenePhase/MonitorScenePhase.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | MonitorScenePhase.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /MonitorScenePhase/MonitorScenePhase/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 | -------------------------------------------------------------------------------- /MonitorScenePhase/MonitorScenePhase/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "ios", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MonitorScenePhase/MonitorScenePhase/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /MonitorScenePhase/MonitorScenePhase/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /NavigationAndImages/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/NavigationAndImages/.DS_Store -------------------------------------------------------------------------------- /NavigationAndImages/NavigationAndImages.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /NavigationAndImages/NavigationAndImages.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /NavigationAndImages/NavigationAndImages.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/NavigationAndImages/NavigationAndImages.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /NavigationAndImages/NavigationAndImages.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | NavigationAndImages.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /NavigationAndImages/NavigationAndImages/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 | -------------------------------------------------------------------------------- /NavigationAndImages/NavigationAndImages/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /NavigationAndImages/NavigationAndImages/ContentView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ContentView.swift 3 | // NavigationAndImages 4 | // 5 | // Created by Samuel Owino on 01/02/2022. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct ContentView: View { 11 | var body: some View { 12 | Text("Hello, world!") 13 | .padding() 14 | } 15 | } 16 | 17 | struct ContentView_Previews: PreviewProvider { 18 | static var previews: some View { 19 | ContentView() 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /NavigationAndImages/NavigationAndImages/NavigationAndImagesApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NavigationAndImagesApp.swift 3 | // NavigationAndImages 4 | // 5 | // Created by Samuel Owino on 01/02/2022. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct NavigationAndImagesApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /NavigationAndImages/NavigationAndImages/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /NavigationView-1_dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/NavigationView-1_dark@2x.png -------------------------------------------------------------------------------- /Notes/Documents/README.MD: -------------------------------------------------------------------------------- 1 | # Documents 2 | 3 | > Enable people to open and manage documents. 4 | 5 | ## Topics 6 | * **Documents group object** 7 | * **FileDocument Protocol** 8 | * **ReferenceFileDocument protocol** 9 | 10 | 11 | -------------------------------------------------------------------------------- /PhotoLibraryAssetCollections/PhotoLibraryAssetCollections.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /PhotoLibraryAssetCollections/PhotoLibraryAssetCollections.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /PhotoLibraryAssetCollections/PhotoLibraryAssetCollections.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/PhotoLibraryAssetCollections/PhotoLibraryAssetCollections.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /PhotoLibraryAssetCollections/PhotoLibraryAssetCollections.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | PhotoLibraryAssetCollections.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /PhotoLibraryAssetCollections/PhotoLibraryAssetCollections/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 | -------------------------------------------------------------------------------- /PhotoLibraryAssetCollections/PhotoLibraryAssetCollections/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "ios", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /PhotoLibraryAssetCollections/PhotoLibraryAssetCollections/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /PhotoLibraryAssetCollections/PhotoLibraryAssetCollections/PhotoLibraryAssetCollectionsApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // PhotoLibraryAssetCollectionsApp.swift 3 | // PhotoLibraryAssetCollections 4 | // 5 | // Created by Samuel Owino on 06/02/2024. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct PhotoLibraryAssetCollectionsApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /PhotoLibraryAssetCollections/PhotoLibraryAssetCollections/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /PhotoPickerPractice/PhotoPickerPractice.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /PhotoPickerPractice/PhotoPickerPractice.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /PhotoPickerPractice/PhotoPickerPractice.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/PhotoPickerPractice/PhotoPickerPractice.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /PhotoPickerPractice/PhotoPickerPractice.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | PhotoPickerPractice.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /PhotoPickerPractice/PhotoPickerPractice/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 | -------------------------------------------------------------------------------- /PhotoPickerPractice/PhotoPickerPractice/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "ios", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /PhotoPickerPractice/PhotoPickerPractice/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /PhotoPickerPractice/PhotoPickerPractice/PhotoPickerPracticeApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // PhotoPickerPracticeApp.swift 3 | // PhotoPickerPractice 4 | // 5 | // Created by Samuel Owino on 18/01/2024. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct PhotoPickerPracticeApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /PhotoPickerPractice/PhotoPickerPractice/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Photography-App/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/Photography-App/.DS_Store -------------------------------------------------------------------------------- /Photography-App/Photography-App.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Photography-App/Photography-App.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Photography-App/Photography-App.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/Photography-App/Photography-App.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Photography-App/Photography-App.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Photography-App.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Photography-App/Photography-App/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/Photography-App/Photography-App/.DS_Store -------------------------------------------------------------------------------- /Photography-App/Photography-App/Assets.xcassets/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/Photography-App/Photography-App/Assets.xcassets/.DS_Store -------------------------------------------------------------------------------- /Photography-App/Photography-App/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 | -------------------------------------------------------------------------------- /Photography-App/Photography-App/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Photography-App/Photography-App/Photography_AppApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Photography_AppApp.swift 3 | // Photography-App 4 | // 5 | // Created by Samuel Owino on 14/07/2022. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct Photography_AppApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Photography-App/Photography-App/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Photography-App/renderedDark2x-1655840093.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/Photography-App/renderedDark2x-1655840093.png -------------------------------------------------------------------------------- /Pickers/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/Pickers/.DS_Store -------------------------------------------------------------------------------- /Pickers/Pickers.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Pickers/Pickers.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Pickers/Pickers.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/Pickers/Pickers.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Pickers/Pickers.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Pickers.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Pickers/Pickers/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 | -------------------------------------------------------------------------------- /Pickers/Pickers/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Pickers/Pickers/Assets.xcassets/ultraviolet-telescope.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "ultraviolet-telescope.jpg", 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 | -------------------------------------------------------------------------------- /Pickers/Pickers/Assets.xcassets/ultraviolet-telescope.imageset/ultraviolet-telescope.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/Pickers/Pickers/Assets.xcassets/ultraviolet-telescope.imageset/ultraviolet-telescope.jpg -------------------------------------------------------------------------------- /Pickers/Pickers/Assets.xcassets/x-ray-telescope.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "x-ray-telescope.jpg", 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 | -------------------------------------------------------------------------------- /Pickers/Pickers/Assets.xcassets/x-ray-telescope.imageset/x-ray-telescope.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/Pickers/Pickers/Assets.xcassets/x-ray-telescope.imageset/x-ray-telescope.jpg -------------------------------------------------------------------------------- /Pickers/Pickers/PickersApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // PickersApp.swift 3 | // Pickers 4 | // 5 | // Created by Samuel Owino on 23/05/2022. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct PickersApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Pickers/Pickers/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /RealMongoDBORMApp/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/RealMongoDBORMApp/.DS_Store -------------------------------------------------------------------------------- /RealMongoDBORMApp/RealMongoDBORMApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /RealMongoDBORMApp/RealMongoDBORMApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /RealMongoDBORMApp/RealMongoDBORMApp.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/RealMongoDBORMApp/RealMongoDBORMApp.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /RealMongoDBORMApp/RealMongoDBORMApp/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 | -------------------------------------------------------------------------------- /RealMongoDBORMApp/RealMongoDBORMApp/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /RealMongoDBORMApp/RealMongoDBORMApp/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /RealMongoDBORMApp/RealMongoDBORMApp/RealMongoDBORMApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RealMongoDBORMAppApp.swift 3 | // RealMongoDBORMApp 4 | // 5 | // Created by Samuel Owino on 17/12/2021. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct RealMongoDBORMApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /RealMongoDBORMApp/RealMongoDBORMApp/database/DatabaseConfig.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DatabaseConfig.swift 3 | // RealMongoDBORMApp 4 | // 5 | // Created by Samuel Owino on 17/12/2021. 6 | // 7 | 8 | import Foundation 9 | import RealmSwift 10 | 11 | class DatabaseConfig { 12 | 13 | var database: Realm 14 | 15 | func getDatabase() -> Realm { 16 | if database.isEmpty { 17 | database = try! Realm() 18 | } 19 | 20 | return database 21 | } 22 | 23 | init(){ 24 | database = try! Realm() 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /RealMongoDBORMApp/RealMongoDBORMApp/database/Person.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Person.swift 3 | // RealMongoDBORMApp 4 | // 5 | // Created by Samuel Owino on 19/12/2021. 6 | // 7 | 8 | import Foundation 9 | import RealmSwift 10 | 11 | class Person: Object, Identifiable { 12 | @objc dynamic var uuid: String = "" 13 | @objc dynamic var name: String = "" 14 | @objc dynamic var age: String = "" 15 | @objc dynamic var dob: String = "" 16 | 17 | override class func primaryKey() -> String? { 18 | return "uuid" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /StanfordCS193p/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/StanfordCS193p/.DS_Store -------------------------------------------------------------------------------- /StanfordCS193p/StanfordCS193p.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /StanfordCS193p/StanfordCS193p.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /StanfordCS193p/StanfordCS193p.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/StanfordCS193p/StanfordCS193p.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /StanfordCS193p/StanfordCS193p.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | StanfordCS193p.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /StanfordCS193p/StanfordCS193p/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 | -------------------------------------------------------------------------------- /StanfordCS193p/StanfordCS193p/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /StanfordCS193p/StanfordCS193p/ColorPickerView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ColorPickerView.swift 3 | // StanfordCS193p 4 | // 5 | // Created by Samuel Owino on 14/12/2021. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct ColorPickerView: View { 11 | 12 | @State private var bgColor: Color = .white 13 | 14 | var body: some View { 15 | ColorPicker("Set the background color", selection: $bgColor) 16 | .frame(width: 300, height: 400) 17 | } 18 | } 19 | 20 | struct ColorPickerView_Previews: PreviewProvider { 21 | static var previews: some View { 22 | ColorPickerView() 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /StanfordCS193p/StanfordCS193p/MapView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // MapView.swift 3 | // StanfordCS193p 4 | // 5 | // Created by Samuel Owino on 13/12/2021. 6 | // 7 | 8 | import MapKit 9 | import SwiftUI 10 | 11 | struct MapView: View { 12 | 13 | @State var region: MKCoordinateRegion = MKCoordinateRegion(center: CLLocationCoordinate2D(latitude: 50.15, longitude: 20.4), span: MKCoordinateSpan(latitudeDelta: 0.5, longitudeDelta: 0.5)) 14 | 15 | var body: some View { 16 | Map(coordinateRegion: $region) 17 | } 18 | } 19 | 20 | struct MapView_Previews: PreviewProvider { 21 | static var previews: some View { 22 | MapView() 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /StanfordCS193p/StanfordCS193p/Model/EmojiMemoryGame.swift: -------------------------------------------------------------------------------- 1 | // 2 | // EmojiMemoryGame.swift 3 | // StanfordCS193p 4 | // 5 | // Created by Samuel Owino on 13/12/2021. 6 | // 7 | 8 | import Foundation 9 | 10 | struct EmojiMemoryGame { 11 | var cards: Array 12 | 13 | func chooseCard(_ card:Card){ 14 | 15 | } 16 | 17 | struct Card { 18 | var isFaceUp: Bool 19 | var isMatched: Bool 20 | var contents: CardContent 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /StanfordCS193p/StanfordCS193p/MoreViews.swift: -------------------------------------------------------------------------------- 1 | // 2 | // MoreViews.swift 3 | // StanfordCS193p 4 | // 5 | // Created by Samuel Owino on 28/12/2021. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct MoreViews: View { 11 | var body: some View { 12 | TabView { 13 | ScrollToPositionView() 14 | .tag("Scroll Reader") 15 | FullScreenModeViews() 16 | .tag("Full Screen Mode View") 17 | }.tabViewStyle(PageTabViewStyle()) 18 | .indexViewStyle(PageIndexViewStyle(backgroundDisplayMode: .always)) 19 | } 20 | } 21 | 22 | struct MoreViews_Previews: PreviewProvider { 23 | static var previews: some View { 24 | MoreViews() 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /StanfordCS193p/StanfordCS193p/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /StanfordCS193p/StanfordCS193p/StanfordCS193pApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // StanfordCS193pApp.swift 3 | // StanfordCS193p 4 | // 5 | // Created by Samuel Owino on 10/12/2021. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct StanfordCS193pApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /SwiftUI-Hero_dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/SwiftUI-Hero_dark@2x.png -------------------------------------------------------------------------------- /SwiftUIToolbars/SwiftUIToolbars.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /SwiftUIToolbars/SwiftUIToolbars.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /SwiftUIToolbars/SwiftUIToolbars.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/SwiftUIToolbars/SwiftUIToolbars.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /SwiftUIToolbars/SwiftUIToolbars.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | SwiftUIToolbars.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /SwiftUIToolbars/SwiftUIToolbars/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 | -------------------------------------------------------------------------------- /SwiftUIToolbars/SwiftUIToolbars/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /SwiftUIToolbars/SwiftUIToolbars/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /SwiftUIToolbars/SwiftUIToolbars/SwiftUIToolbars.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | com.apple.security.files.user-selected.read-only 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /SwiftUIToolbars/SwiftUIToolbars/SwiftUIToolbarsApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SwiftUIToolbarsApp.swift 3 | // SwiftUIToolbars 4 | // 5 | // Created by Samuel Owino on 07/12/2022. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct SwiftUIToolbarsApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /TsavoNationalPark/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/TsavoNationalPark/.DS_Store -------------------------------------------------------------------------------- /TsavoNationalPark/10linespaces.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/TsavoNationalPark/10linespaces.png -------------------------------------------------------------------------------- /TsavoNationalPark/20linespaces.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/TsavoNationalPark/20linespaces.png -------------------------------------------------------------------------------- /TsavoNationalPark/TsavoNationalPark.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /TsavoNationalPark/TsavoNationalPark.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /TsavoNationalPark/TsavoNationalPark.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/TsavoNationalPark/TsavoNationalPark.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /TsavoNationalPark/TsavoNationalPark.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | TsavoNationalPark.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /TsavoNationalPark/TsavoNationalPark/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/TsavoNationalPark/TsavoNationalPark/.DS_Store -------------------------------------------------------------------------------- /TsavoNationalPark/TsavoNationalPark/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 | -------------------------------------------------------------------------------- /TsavoNationalPark/TsavoNationalPark/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /TsavoNationalPark/TsavoNationalPark/ContentView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ContentView.swift 3 | // TsavoNationalPark 4 | // 5 | // Created by Samuel Owino on 24/05/2022. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct ContentView: View { 11 | 12 | var body: some View { 13 | NavigationView { 14 | SplashScreenView() 15 | } 16 | } 17 | } 18 | 19 | struct ContentView_Previews: PreviewProvider { 20 | static var previews: some View { 21 | ContentView() 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /TsavoNationalPark/TsavoNationalPark/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /TsavoNationalPark/TsavoNationalPark/extensions/View+.swift: -------------------------------------------------------------------------------- 1 | // 2 | // View+.swift 3 | // TsavoNationalPark 4 | // 5 | // Created by Samuel Owino on 25/05/2022. 6 | // 7 | 8 | import Foundation 9 | import SwiftUI 10 | 11 | extension View { 12 | func primaryTitleStyle() -> some View { 13 | modifier(PrimaryTitleStyle()) 14 | } 15 | 16 | func primaryFontStyle() -> some View { 17 | modifier(PrimaryFontStyle()) 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /TsavoNationalPark/TsavoNationalPark/ui/DashboardView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DashboardView.swift 3 | // TsavoNationalPark 4 | // 5 | // Created by Samuel Owino on 01/06/2022. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct DashboardView: View { 11 | var body: some View { 12 | VStack{ 13 | Text("Dashboard") 14 | .bold() 15 | .underline() 16 | .font(.title) 17 | 18 | 19 | } 20 | } 21 | } 22 | 23 | struct DashboardView_Previews: PreviewProvider { 24 | static var previews: some View { 25 | DashboardView() 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /TsavoNationalPark/TsavoNationalPark/viewModel/SignupViewModel.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SignupViewModel.swift 3 | // TsavoNationalPark 4 | // 5 | // Created by Samuel Owino on 29/08/2022. 6 | // 7 | 8 | import Foundation 9 | 10 | class SignupViewModel: ObservableObject { 11 | @Published var username: String = "hackerman" 12 | @Published var password: String = "password123" 13 | } 14 | -------------------------------------------------------------------------------- /TsavoNationalPark/fonts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/TsavoNationalPark/fonts.png -------------------------------------------------------------------------------- /TsavoNationalPark/multiline-text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/TsavoNationalPark/multiline-text.png -------------------------------------------------------------------------------- /UIKitButton/UIKitButton.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /UIKitButton/UIKitButton.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /UIKitButton/UIKitButton.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/UIKitButton/UIKitButton.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /UIKitButton/UIKitButton.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | UIKitButton.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /UIKitButton/UIKitButton/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 | -------------------------------------------------------------------------------- /UIKitButton/UIKitButton/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "ios", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /UIKitButton/UIKitButton/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /UIKitButton/UIKitButton/ContentView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ContentView.swift 3 | // UIKitButton 4 | // 5 | // Created by Samuel Owino on 12/01/2024. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct ContentView: View { 11 | var body: some View { 12 | VStack { 13 | CustomUIKitButton() { 14 | 15 | } 16 | Text("Hello, world!") 17 | } 18 | .padding() 19 | } 20 | } 21 | 22 | #Preview { 23 | ContentView() 24 | } 25 | -------------------------------------------------------------------------------- /UIKitButton/UIKitButton/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /UIKitButton/UIKitButton/UIKitButtonApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UIKitButtonApp.swift 3 | // UIKitButton 4 | // 5 | // Created by Samuel Owino on 12/01/2024. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct UIKitButtonApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /UITextViewLab/UITextViewLab.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /UITextViewLab/UITextViewLab.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /UITextViewLab/UITextViewLab.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/UITextViewLab/UITextViewLab.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /UITextViewLab/UITextViewLab.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | UITextViewLab.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /UITextViewLab/UITextViewLab/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 | -------------------------------------------------------------------------------- /UITextViewLab/UITextViewLab/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /UITextViewLab/UITextViewLab/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /UITextViewLab/UITextViewLab/UITextViewLab.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | com.apple.security.files.user-selected.read-only 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /UITextViewLab/UITextViewLab/UITextViewLabApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UITextViewLabApp.swift 3 | // UITextViewLab 4 | // 5 | // Created by Samuel Owino on 23/02/2024. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct UITextViewLabApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /WatchKitLab/WatchKitLab Watch App/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 | -------------------------------------------------------------------------------- /WatchKitLab/WatchKitLab Watch App/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "watchos", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /WatchKitLab/WatchKitLab Watch App/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /WatchKitLab/WatchKitLab Watch App/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /WatchKitLab/WatchKitLab Watch App/WatchKitLabApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // WatchKitLabApp.swift 3 | // WatchKitLab Watch App 4 | // 5 | // Created by Samuel Owino on 14/02/2024. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct WatchKitLab_Watch_AppApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /WatchKitLab/WatchKitLab.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /WatchKitLab/WatchKitLab.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /WatchKitLab/WatchKitLab.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/WatchKitLab/WatchKitLab.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /WatchKitLab/WatchKitLab/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 | -------------------------------------------------------------------------------- /WatchKitLab/WatchKitLab/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "ios", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /WatchKitLab/WatchKitLab/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /WatchKitLab/WatchKitLab/ContentView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ContentView.swift 3 | // WatchKitLab 4 | // 5 | // Created by Samuel Owino on 14/02/2024. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct ContentView: View { 11 | var body: some View { 12 | VStack { 13 | Image(systemName: "globe") 14 | .imageScale(.large) 15 | .foregroundStyle(.tint) 16 | Text("Hello, world!") 17 | } 18 | .padding() 19 | } 20 | } 21 | 22 | #Preview { 23 | ContentView() 24 | } 25 | -------------------------------------------------------------------------------- /WatchKitLab/WatchKitLab/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /WatchKitLab/WatchKitLab/WatchKitLabApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // WatchKitLabApp.swift 3 | // WatchKitLab 4 | // 5 | // Created by Samuel Owino on 14/02/2024. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct WatchKitLabApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /WatchKitLab/WatchWidgetBasic/AppIntent.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppIntent.swift 3 | // WatchWidgetBasic 4 | // 5 | // Created by Samuel Owino on 14/02/2024. 6 | // 7 | 8 | import WidgetKit 9 | import AppIntents 10 | 11 | struct ConfigurationAppIntent: WidgetConfigurationIntent { 12 | static var title: LocalizedStringResource = "Configuration" 13 | static var description = IntentDescription("This is an example widget.") 14 | 15 | // An example configurable parameter. 16 | @Parameter(title: "Favorite Emoji", default: "😃") 17 | var favoriteEmoji: String 18 | } 19 | -------------------------------------------------------------------------------- /WatchKitLab/WatchWidgetBasic/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 | -------------------------------------------------------------------------------- /WatchKitLab/WatchWidgetBasic/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "watchos", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /WatchKitLab/WatchWidgetBasic/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /WatchKitLab/WatchWidgetBasic/Assets.xcassets/WidgetBackground.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /WatchKitLab/WatchWidgetBasic/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | NSExtension 6 | 7 | NSExtensionPointIdentifier 8 | com.apple.widgetkit-extension 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /WidgetKitLab/CyclingStreakExtension/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 | -------------------------------------------------------------------------------- /WidgetKitLab/CyclingStreakExtension/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "ios", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /WidgetKitLab/CyclingStreakExtension/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /WidgetKitLab/CyclingStreakExtension/Assets.xcassets/WidgetBackground.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /WidgetKitLab/CyclingStreakExtension/CyclingStreakExtensionBundle.swift: -------------------------------------------------------------------------------- 1 | // 2 | // CyclingStreakExtensionBundle.swift 3 | // CyclingStreakExtension 4 | // 5 | // Created by Samuel Owino on 11/02/2024. 6 | // 7 | import WidgetKit 8 | import SwiftUI 9 | @main 10 | struct CyclingStreakExtensionBundle: WidgetBundle { 11 | var body: some Widget { 12 | CyclingStreakExtension() 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /WidgetKitLab/CyclingStreakExtension/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | NSExtension 6 | 7 | NSExtensionPointIdentifier 8 | com.apple.widgetkit-extension 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /WidgetKitLab/WidgetKitLab.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /WidgetKitLab/WidgetKitLab.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /WidgetKitLab/WidgetKitLab.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/WidgetKitLab/WidgetKitLab.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /WidgetKitLab/WidgetKitLab.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | CyclingStreakExtensionExtension.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | WidgetKitLab.xcscheme_^#shared#^_ 13 | 14 | orderHint 15 | 0 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /WidgetKitLab/WidgetKitLab/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 | -------------------------------------------------------------------------------- /WidgetKitLab/WidgetKitLab/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "ios", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /WidgetKitLab/WidgetKitLab/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /WidgetKitLab/WidgetKitLab/ContentView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ContentView.swift 3 | // WidgetKitLab 4 | // 5 | // Created by Samuel Owino on 11/02/2024. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct ContentView: View { 11 | var body: some View { 12 | VStack { 13 | Image(systemName: "globe") 14 | .imageScale(.large) 15 | .foregroundStyle(.tint) 16 | Text("Home Screen") 17 | } 18 | .padding() 19 | } 20 | } 21 | 22 | #Preview { 23 | ContentView() 24 | } 25 | -------------------------------------------------------------------------------- /WidgetKitLab/WidgetKitLab/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /WidgetKitLab/WidgetKitLab/WidgetKitLabApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // WidgetKitLabApp.swift 3 | // WidgetKitLab 4 | // 5 | // Created by Samuel Owino on 11/02/2024. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct WidgetKitLabApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /aa3686ea-ef3e-4bbd-946f-071cb995a25d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/aa3686ea-ef3e-4bbd-946f-071cb995a25d.png -------------------------------------------------------------------------------- /apollo_burn_data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/apollo_burn_data.png -------------------------------------------------------------------------------- /b9c65b62-3728-43f1-8d25-08fd42bc6bb7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/b9c65b62-3728-43f1-8d25-08fd42bc6bb7.png -------------------------------------------------------------------------------- /company_profits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/company_profits.png -------------------------------------------------------------------------------- /custom_chart_colors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/custom_chart_colors.png -------------------------------------------------------------------------------- /freshOSNetworking/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/freshOSNetworking/.DS_Store -------------------------------------------------------------------------------- /freshOSNetworking/freshOSNetworking.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /freshOSNetworking/freshOSNetworking.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /freshOSNetworking/freshOSNetworking.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved: -------------------------------------------------------------------------------- 1 | { 2 | "object": { 3 | "pins": [ 4 | { 5 | "package": "Networking", 6 | "repositoryURL": "https://github.com/freshOS/Networking.git", 7 | "state": { 8 | "branch": "master", 9 | "revision": "bfb1e8b33a4b980fa2957f67f591973bdbeace8f", 10 | "version": null 11 | } 12 | } 13 | ] 14 | }, 15 | "version": 1 16 | } 17 | -------------------------------------------------------------------------------- /freshOSNetworking/freshOSNetworking.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/freshOSNetworking/freshOSNetworking.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /freshOSNetworking/freshOSNetworking.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | freshOSNetworking.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /freshOSNetworking/freshOSNetworking/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 | -------------------------------------------------------------------------------- /freshOSNetworking/freshOSNetworking/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /freshOSNetworking/freshOSNetworking/Assets.xcassets/zuza-galczynska-c5_eQi4rrjA-unsplash.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "zuza-galczynska-c5_eQi4rrjA-unsplash.jpg", 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 | -------------------------------------------------------------------------------- /freshOSNetworking/freshOSNetworking/Assets.xcassets/zuza-galczynska-c5_eQi4rrjA-unsplash.imageset/zuza-galczynska-c5_eQi4rrjA-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/freshOSNetworking/freshOSNetworking/Assets.xcassets/zuza-galczynska-c5_eQi4rrjA-unsplash.imageset/zuza-galczynska-c5_eQi4rrjA-unsplash.jpg -------------------------------------------------------------------------------- /freshOSNetworking/freshOSNetworking/NetworkSetup.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NetworkSetup.swift 3 | // freshOSNetworking 4 | // 5 | // Created by Samuel Owino on 16/12/2021. 6 | // 7 | 8 | import Foundation 9 | import Networking 10 | 11 | class NetworkSetup { 12 | 13 | lazy var network: NetworkingClient = { 14 | var network = NetworkingClient(baseURL: "https://jsonplaceholder.typicode.com") 15 | network.timeout = 5 //seconds: TimeInterval 16 | network.logLevels = .debug 17 | return network 18 | }() 19 | } 20 | -------------------------------------------------------------------------------- /freshOSNetworking/freshOSNetworking/Post.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Post.swift 3 | // NetworkingDemo 4 | // 5 | // Created by Alex Nagy on 02.10.2021. 6 | // 7 | 8 | import Networking 9 | 10 | struct Post: Codable { 11 | let userId: Int 12 | let id: Int 13 | let title: String 14 | let body: String 15 | 16 | init(userId: Int? = nil, 17 | id: Int? = nil, 18 | title: String? = nil, 19 | body: String? = nil) { 20 | self.userId = userId ?? 0 21 | self.id = id ?? 0 22 | self.title = title ?? "" 23 | self.body = body ?? "" 24 | } 25 | 26 | } 27 | 28 | extension Post: NetworkingJSONDecodable {} 29 | 30 | -------------------------------------------------------------------------------- /freshOSNetworking/freshOSNetworking/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /freshOSNetworking/freshOSNetworking/freshOSNetworkingApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // freshOSNetworkingApp.swift 3 | // freshOSNetworking 4 | // 5 | // Created by Samuel Owino on 16/12/2021. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct freshOSNetworkingApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /lazy-loading-views.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/lazy-loading-views.png -------------------------------------------------------------------------------- /multiscene/multiscene.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /multiscene/multiscene.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /multiscene/multiscene.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/multiscene/multiscene.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /multiscene/multiscene.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | multiscene.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /multiscene/multiscene/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 | -------------------------------------------------------------------------------- /multiscene/multiscene/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "ios", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /multiscene/multiscene/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /multiscene/multiscene/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /screen-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/screen-1.png -------------------------------------------------------------------------------- /simple_area_chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/simple_area_chart.png -------------------------------------------------------------------------------- /stacked_area_chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/stacked_area_chart.png -------------------------------------------------------------------------------- /sunshine_chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/sunshine_chart.png -------------------------------------------------------------------------------- /swiftsouplab/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/swiftsouplab/.DS_Store -------------------------------------------------------------------------------- /swiftsouplab/swiftsouplab.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /swiftsouplab/swiftsouplab.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /swiftsouplab/swiftsouplab.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved: -------------------------------------------------------------------------------- 1 | { 2 | "pins" : [ 3 | { 4 | "identity" : "swiftsoup", 5 | "kind" : "remoteSourceControl", 6 | "location" : "git@github.com:scinfu/SwiftSoup.git", 7 | "state" : { 8 | "revision" : "8b6cf29eead8841a1fa7822481cb3af4ddaadba6", 9 | "version" : "2.6.1" 10 | } 11 | } 12 | ], 13 | "version" : 2 14 | } 15 | -------------------------------------------------------------------------------- /swiftsouplab/swiftsouplab.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/swiftsouplab/swiftsouplab.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /swiftsouplab/swiftsouplab.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | swiftsouplab.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /swiftsouplab/swiftsouplab/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/swiftsouplab/swiftsouplab/.DS_Store -------------------------------------------------------------------------------- /swiftsouplab/swiftsouplab/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 | -------------------------------------------------------------------------------- /swiftsouplab/swiftsouplab/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "ios", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /swiftsouplab/swiftsouplab/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /swiftsouplab/swiftsouplab/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /swiftsouplab/swiftsouplab/swiftsouplabApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // swiftsouplabApp.swift 3 | // swiftsouplab 4 | // 5 | // Created by Samuel Owino on 16/12/2023. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct swiftsouplabApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /toolbar_brown_fox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/toolbar_brown_fox.png -------------------------------------------------------------------------------- /toycharts-sample-screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/toycharts-sample-screenshot.png -------------------------------------------------------------------------------- /uiapplicationlabs/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/uiapplicationlabs/.DS_Store -------------------------------------------------------------------------------- /uiapplicationlabs/uiapplicationlabs.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /uiapplicationlabs/uiapplicationlabs.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /uiapplicationlabs/uiapplicationlabs.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samuelowino/swiftui-ios-lab/ebe36c434e2ca9830fe1e9413919292863fb5439/uiapplicationlabs/uiapplicationlabs.xcodeproj/project.xcworkspace/xcuserdata/samuelowino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /uiapplicationlabs/uiapplicationlabs.xcodeproj/xcuserdata/samuelowino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | uiapplicationlabs.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /uiapplicationlabs/uiapplicationlabs/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 | -------------------------------------------------------------------------------- /uiapplicationlabs/uiapplicationlabs/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "ios", 6 | "size" : "1024x1024" 7 | } 8 | ], 9 | "info" : { 10 | "author" : "xcode", 11 | "version" : 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /uiapplicationlabs/uiapplicationlabs/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /uiapplicationlabs/uiapplicationlabs/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /uiapplicationlabs/uiapplicationlabs/uiapplicationlabsApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // uiapplicationlabsApp.swift 3 | // uiapplicationlabs 4 | // 5 | // Created by Samuel Owino on 18/12/2023. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct uiapplicationlabsApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | --------------------------------------------------------------------------------