I have such view:
struct PersonalPage: View {
let preferences = UserDefaults.standard
var body: some View {
VStack(alignment:.leading){
HStack {
Image(systemName: "mappin.circle.fill")
VStack {
Text("88")
Text("88")
Text("88")
}
}
}.onAppear {
self.getPersonalData()
}
}
var mainSession = Session(configuration: URLSessionConfiguration.default, interceptor: EnvInterceptor())
func getPersonalData(){
var request = URLRequest(url: URL(string:Pathes.init().userInfo)!)
request.httpMethod = "GET"
mainSession.request(request).responseDecodable(of:PersonalInfo.self) { (response) in
switch response.result{
case .success:
guard let userData = response.value else { return }
self.preferences.set(userData.applicant.email,forKey: "applicant_email")
self.preferences.set(userData.applicant.id, forKey: "applicant_id")
self.preferences.set(userData.applicant.delete, forKey: "applicant_can_delete")
self.preferences.set(userData.applicant.caseManager, forKey: "casemanager_assigned")
self.preferences.set(userData.applicant.photoChecksum, forKey: "photo_checksum")
self.preferences.set(userData.consultant.firstname, forKey: "cons_firstname")
self.preferences.set(userData.consultant.lastname, forKey: "cons_lastname")
self.preferences.set(userData.consultant.id, forKey: "cons_id")
self.preferences.synchronize()
HomeScreen().self.addBadges()
case .failure:
print(response.response?.statusCode as Any)
}
}
}
}
and as you can see I have method for getting data from api. So, is it possible to update for example Text with some text from server response and if it possible how I can do it? As I understood I can't do smth like global view variable and have access to its elements from any place of struct?