Post

Replies

Boosts

Views

Created

Novice needing help - Download a file from AWS 3
Hi, I am a novice Swift developer, wanting to develop an app or three for my own use for now and as a learning experience. I want use Swift/SwiftUI to download a file (.sqlite) from AWS S3 Bucket and then upload when complete. I am trying to follow Amazon's tutorials but finding it difficult to apply to my code. So far I have been able to import the necessary packages (I think) into Xcode, but that is far as I have progressed. Are there any good examples or templated that I can use to get started? Also another newbie question, what make ContentView.swift the first/parent view of the application? I Appreciate your patience and assistance. //  ContentView.swift //  Shared // //  Created by Cameron on 2/7/2022. // import SwiftUI import Foundation import ClientRuntime import AWSClientRuntime import AWSS3 struct ContentView: View {          @State var showFilter = false     @State var messageClicked = false     @State var attendanceClicked = false     @State var reportingClicked = false          let pvmaRed = Color(red: 234/255, green: 26/255, blue: 33/255)     var body: some View {         VStack {             Text("PVMA CRM")                 .font(.largeTitle)             HStack {                 if(!(messageClicked || attendanceClicked || reportingClicked)) {                     Button("Filter") {                         showFilter.toggle()                     }                     .frame(maxWidth: .infinity, alignment: .top)                     .foregroundColor(pvmaRed)                 }             }             .frame(maxWidth: .infinity, alignment: .top)             ZStack {                 if(!(messageClicked || attendanceClicked || reportingClicked)) {                     NavigationView {                         List {                             NavigationLink {                                 MemberDetail()                             } label: {                                 MemberRow()                             }                             NavigationLink {                                 MemberDetail()                                                              } label: {                                 MemberRow()                             }                             NavigationLink {                                 MemberDetail()                                                              } label: {                                 MemberRow()                             }                         }                         .navigationTitle("Members")                     }                 }                 if (showFilter) {                     Filter()                         .frame(height: .infinity, alignment: .top)                         .scaleEffect(x: 1.0, y: 1.0, anchor: .top)                         .transition(.scale(scale: 0.0, anchor: .top) .animation(.easeInOut(duration: 0.66)))                 }                 if (messageClicked) {                     message()                 }                 if (attendanceClicked) {                     attendance()                 }                 if (reportingClicked) {                     reporting()                 }             }             Spacer()             HStack {                 Button(action: {                     messageClicked.toggle()                     attendanceClicked = false                     reportingClicked = false                     showFilter = false                 }, label: {                     VStack {                         Image("messages")                             .resizable(resizingMode: .stretch)                             .frame(width: 40, height: 40, alignment: .center)                             .grayscale(messageClicked ? 0.0 : 1.0)                         Text("Message")                             .font(.caption)                             .frame(width: 120)                             .foregroundColor(messageClicked ? pvmaRed : .black)                     }                 })                 Button(action: {                     messageClicked = false                     attendanceClicked.toggle()                     reportingClicked = false                     showFilter = false                 }, label: {                     VStack {                         Image("attendance")                             .resizable(resizingMode: .stretch)                             .frame(width: 40, height: 40, alignment: .center)                             .grayscale(attendanceClicked ? 0.0 : 1.0)                         Text("Attendance")                             .font(.caption)                             .frame(width: 120)                             .foregroundColor(attendanceClicked ? pvmaRed : .black)                     }                 })                     Button(action: {                         messageClicked = false                         attendanceClicked = false                         reportingClicked.toggle()                         showFilter = false                     }, label: {                         VStack {                             Image("reporting")                                 .resizable(resizingMode: .stretch)                                 .frame(width: 40, height: 40, alignment: .center)                                 .grayscale(reportingClicked ? 0.0 : 1.0)                             Text("Reporting")                                 .font(.caption)                                 .frame(width: 120)                                 .foregroundColor(reportingClicked ? pvmaRed : .black)                         }                     })             }         }         .background(showFilter ?                     Color(red: 0.94117647, green: 0.94117647, blue: 0.96470588) : Color(red: 1.0, green: 1.0, blue: 1.0))     } } struct ContentView_Previews: PreviewProvider {     static var previews: some View {         ContentView()             .previewInterfaceOrientation(.portrait)     } }
3
0
888
Aug ’22
Unable to change Toggles
Newbie to swift. This code provided th view am after except I am unable to change the Toggles. If I declare State variable individually, it work, but not when the State variable is part of the mySession struct. Thanks in advance for your help. struct ContentView: View {          struct mySession: Identifiable {         var name: String         let id = UUID()         @State var selected = true     }     @State var pac = false     @State var atl = false     @State var ind = false     @State var sou = false     @State var art = false     var sessions = [         mySession(name: "Pacific"),         mySession(name: "Atlantic"),         mySession(name: "Indian"),         mySession(name: "Southern"),         mySession(name: "Arctic")         ]              var body: some View {             VStack {                 Text("MY CRM")                     .font(.largeTitle)                 List {                     ForEach (sessions) {sessions in                         Toggle(isOn: sessions.$selected) {                             Text(sessions.name)                         }                     } /*                  Toggle(sessions[0].name, isOn: $pac)                     Toggle(sessions[1].name, isOn: $atl)                     Toggle(sessions[2].name, isOn: $ind)                     Toggle(sessions[3].name, isOn: $sou)                     Toggle(sessions[4].name, isOn: $art) */                            }                 Spacer()                     .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .top)             }         .padding()     } } struct ContentView_Previews: PreviewProvider {     static var previews: some View {         ContentView()             .previewInterfaceOrientation(.portrait)     } }
1
0
467
Jul ’22