From 5d2a48c6ccb987f2a8b106b4eef0e4b64e8c7db7 Mon Sep 17 00:00:00 2001 From: Kenny Date: Wed, 27 Sep 2023 16:55:25 -0700 Subject: [PATCH 1/2] New file --- .../project.pbxproj | 8 ++++++-- .../ContentView.swift | 6 ++++-- .../ch07.swift | 20 +++++++++++++++++++ 3 files changed, 30 insertions(+), 4 deletions(-) create mode 100644 ProIPhone_Ch07_SharingDataBetweenStructures/ch07.swift diff --git a/ProIPhone_Ch07_SharingDataBetweenStructures.xcodeproj/project.pbxproj b/ProIPhone_Ch07_SharingDataBetweenStructures.xcodeproj/project.pbxproj index cdd65bd..d718300 100644 --- a/ProIPhone_Ch07_SharingDataBetweenStructures.xcodeproj/project.pbxproj +++ b/ProIPhone_Ch07_SharingDataBetweenStructures.xcodeproj/project.pbxproj @@ -16,6 +16,7 @@ E4554F9D2AC3EE8F00644AB6 /* DisplayTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4554F9C2AC3EE8F00644AB6 /* DisplayTextField.swift */; }; E4554F9F2AC3FF2C00644AB6 /* StateObjectandObservedObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4554F9E2AC3FF2C00644AB6 /* StateObjectandObservedObject.swift */; }; E4554FA12AC403B000644AB6 /* EnvironmentObjectView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4554FA02AC403B000644AB6 /* EnvironmentObjectView.swift */; }; + EDF161122AC4F2C200DAB023 /* ch07.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDF161112AC4F2C200DAB023 /* ch07.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -29,6 +30,7 @@ E4554F9C2AC3EE8F00644AB6 /* DisplayTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DisplayTextField.swift; sourceTree = ""; }; E4554F9E2AC3FF2C00644AB6 /* StateObjectandObservedObject.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StateObjectandObservedObject.swift; sourceTree = ""; }; E4554FA02AC403B000644AB6 /* EnvironmentObjectView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EnvironmentObjectView.swift; sourceTree = ""; }; + EDF161112AC4F2C200DAB023 /* ch07.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ch07.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -68,6 +70,7 @@ E4554F9C2AC3EE8F00644AB6 /* DisplayTextField.swift */, E4554F9E2AC3FF2C00644AB6 /* StateObjectandObservedObject.swift */, E4554FA02AC403B000644AB6 /* EnvironmentObjectView.swift */, + EDF161112AC4F2C200DAB023 /* ch07.swift */, E4554F8E2AC3E9CE00644AB6 /* Assets.xcassets */, E4554F902AC3E9CE00644AB6 /* Preview Content */, ); @@ -159,6 +162,7 @@ E4554F9B2AC3EDD600644AB6 /* StateAndBinding.swift in Sources */, E4554F9F2AC3FF2C00644AB6 /* StateObjectandObservedObject.swift in Sources */, E4554FA12AC403B000644AB6 /* EnvironmentObjectView.swift in Sources */, + EDF161122AC4F2C200DAB023 /* ch07.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -287,7 +291,7 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_ASSET_PATHS = "\"ProIPhone_Ch07_SharingDataBetweenStructures/Preview Content\""; - DEVELOPMENT_TEAM = 3ZQJ35HR4K; + DEVELOPMENT_TEAM = 2N3K33KLKM; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; @@ -316,7 +320,7 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_ASSET_PATHS = "\"ProIPhone_Ch07_SharingDataBetweenStructures/Preview Content\""; - DEVELOPMENT_TEAM = 3ZQJ35HR4K; + DEVELOPMENT_TEAM = 2N3K33KLKM; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; diff --git a/ProIPhone_Ch07_SharingDataBetweenStructures/ContentView.swift b/ProIPhone_Ch07_SharingDataBetweenStructures/ContentView.swift index 47f8271..98a01d3 100644 --- a/ProIPhone_Ch07_SharingDataBetweenStructures/ContentView.swift +++ b/ProIPhone_Ch07_SharingDataBetweenStructures/ContentView.swift @@ -7,8 +7,6 @@ import SwiftUI -import SwiftUI - struct ContentView: View { var body: some View { TabView { @@ -30,6 +28,10 @@ struct ContentView: View { .tabItem { Image(systemName: "4.circle") } + ch07() + .tabItem{ + Image(systemName: "5.circle") + } } .tabViewStyle(DefaultTabViewStyle()) diff --git a/ProIPhone_Ch07_SharingDataBetweenStructures/ch07.swift b/ProIPhone_Ch07_SharingDataBetweenStructures/ch07.swift new file mode 100644 index 0000000..d5a797f --- /dev/null +++ b/ProIPhone_Ch07_SharingDataBetweenStructures/ch07.swift @@ -0,0 +1,20 @@ +// +// ch07.swift +// ProIPhone_Ch07_SharingDataBetweenStructures +// +// Created by Kenny Luchau on 9/27/23. +// + +import SwiftUI + +struct ch07: View { + var body: some View { + Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/) + } +} + +struct ch07_Previews: PreviewProvider { + static var previews: some View { + ch07() + } +} From c8de050203084f958392e34bf285bc5bda8cc1cb Mon Sep 17 00:00:00 2001 From: Kenny Date: Mon, 2 Oct 2023 12:48:07 -0700 Subject: [PATCH 2/2] Mac is dying --- .../project.pbxproj | 4 -- .../ContentView.swift | 72 +++++++++++++++++-- .../ch07.swift | 20 ------ 3 files changed, 67 insertions(+), 29 deletions(-) delete mode 100644 ProIPhone_Ch07_SharingDataBetweenStructures/ch07.swift diff --git a/ProIPhone_Ch07_SharingDataBetweenStructures.xcodeproj/project.pbxproj b/ProIPhone_Ch07_SharingDataBetweenStructures.xcodeproj/project.pbxproj index d718300..de6482f 100644 --- a/ProIPhone_Ch07_SharingDataBetweenStructures.xcodeproj/project.pbxproj +++ b/ProIPhone_Ch07_SharingDataBetweenStructures.xcodeproj/project.pbxproj @@ -16,7 +16,6 @@ E4554F9D2AC3EE8F00644AB6 /* DisplayTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4554F9C2AC3EE8F00644AB6 /* DisplayTextField.swift */; }; E4554F9F2AC3FF2C00644AB6 /* StateObjectandObservedObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4554F9E2AC3FF2C00644AB6 /* StateObjectandObservedObject.swift */; }; E4554FA12AC403B000644AB6 /* EnvironmentObjectView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4554FA02AC403B000644AB6 /* EnvironmentObjectView.swift */; }; - EDF161122AC4F2C200DAB023 /* ch07.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDF161112AC4F2C200DAB023 /* ch07.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -30,7 +29,6 @@ E4554F9C2AC3EE8F00644AB6 /* DisplayTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DisplayTextField.swift; sourceTree = ""; }; E4554F9E2AC3FF2C00644AB6 /* StateObjectandObservedObject.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StateObjectandObservedObject.swift; sourceTree = ""; }; E4554FA02AC403B000644AB6 /* EnvironmentObjectView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EnvironmentObjectView.swift; sourceTree = ""; }; - EDF161112AC4F2C200DAB023 /* ch07.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ch07.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -70,7 +68,6 @@ E4554F9C2AC3EE8F00644AB6 /* DisplayTextField.swift */, E4554F9E2AC3FF2C00644AB6 /* StateObjectandObservedObject.swift */, E4554FA02AC403B000644AB6 /* EnvironmentObjectView.swift */, - EDF161112AC4F2C200DAB023 /* ch07.swift */, E4554F8E2AC3E9CE00644AB6 /* Assets.xcassets */, E4554F902AC3E9CE00644AB6 /* Preview Content */, ); @@ -162,7 +159,6 @@ E4554F9B2AC3EDD600644AB6 /* StateAndBinding.swift in Sources */, E4554F9F2AC3FF2C00644AB6 /* StateObjectandObservedObject.swift in Sources */, E4554FA12AC403B000644AB6 /* EnvironmentObjectView.swift in Sources */, - EDF161122AC4F2C200DAB023 /* ch07.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/ProIPhone_Ch07_SharingDataBetweenStructures/ContentView.swift b/ProIPhone_Ch07_SharingDataBetweenStructures/ContentView.swift index 98a01d3..50172fa 100644 --- a/ProIPhone_Ch07_SharingDataBetweenStructures/ContentView.swift +++ b/ProIPhone_Ch07_SharingDataBetweenStructures/ContentView.swift @@ -8,6 +8,10 @@ import SwiftUI struct ContentView: View { + @State private var Darkmode = false + @State private var student = Student(firstName: "Kenny", lastName: "Luchau") + @State private var course = Course( year: "2023", quarter: "Q1", field: "IT-MOB", courseNumber: "101", courseTitle: "Intro to swift") + var body: some View { TabView { RandomBackgroundColor() @@ -24,16 +28,13 @@ struct ContentView: View { .tabItem { Image(systemName: "3.circle") } - EnvironmentObjectView() + DarkmodeAndInfo(isDarkMode: $Darkmode, student: $student, course: $course) .tabItem { Image(systemName: "4.circle") } - ch07() - .tabItem{ - Image(systemName: "5.circle") - } } .tabViewStyle(DefaultTabViewStyle()) + .environment(\.colorScheme, Darkmode ? .dark : .light) } } @@ -43,3 +44,64 @@ struct ContentView_Previews: PreviewProvider { ContentView() } } + +struct Student { + var firstName: String + var lastName: String +} + +struct Course { + var year: String + var quarter: String + var field: String + var courseNumber: String + var courseTitle: String +} + +struct DarkmodeAndInfo: View { + @Binding var isDarkMode: Bool + @Binding var student: Student + @Binding var course: Course + + var body: some View { + VStack { + Toggle("Dark Mode", isOn: $isDarkMode) + .padding() + + Text("Student Information:") + .font(.headline) + + StudentInfoView(student: $student) + + Text("Course Information:") + .font(.headline) + CourseInfoView(course: $course) + } + .padding() + } +} + +struct StudentInfoView: View { + @Binding var student: Student + + var body: some View { + VStack { + TextField("First Name", text: $student.firstName) + TextField("Last Name", text: $student.lastName) + } + } +} + +struct CourseInfoView: View { + @Binding var course: Course + + var body: some View { + VStack { + TextField("Year", text: $course.year) + TextField("Quarter", text: $course.quarter) + TextField("Area", text: $course.field) + TextField("Course Number", text: $course.courseNumber) + TextField("Course Title", text: $course.courseTitle) + } + } +} diff --git a/ProIPhone_Ch07_SharingDataBetweenStructures/ch07.swift b/ProIPhone_Ch07_SharingDataBetweenStructures/ch07.swift deleted file mode 100644 index d5a797f..0000000 --- a/ProIPhone_Ch07_SharingDataBetweenStructures/ch07.swift +++ /dev/null @@ -1,20 +0,0 @@ -// -// ch07.swift -// ProIPhone_Ch07_SharingDataBetweenStructures -// -// Created by Kenny Luchau on 9/27/23. -// - -import SwiftUI - -struct ch07: View { - var body: some View { - Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/) - } -} - -struct ch07_Previews: PreviewProvider { - static var previews: some View { - ch07() - } -}